廣告牌安放問題

2021-06-27 11:11:35 字數 1315 閱讀 3653

某公司的廣告部門為了增加盈利,決定要沿著當地一家公園的道路鋪設廣告(這是乙個很好的盈利措施,因為有很多人每天會沿著公園的道路慢跑鍛鍊身體)。他們已經在準備建造一些廣告牌,要將這些廣告牌樹立在路上。那麼現在問題來了:如何安排廣告牌的位置,使之既要達到宣傳效果,又要盡量節省廣告牌的開支(廣告牌的數量最少)?

首先帶領大家認識一下公園的道路:這是一條筆直的道路,用整數座標表示路的某個位置。我們假定每個座標處可以且最多可以放置一塊廣告牌。每個來鍛鍊身體的人的路線是固定的,從乙個座標處移動到另乙個座標處。在慢跑鍛鍊的過程中,人們可以看到自己路線內的所有廣告牌。

公司的領導層規定要達到如下的宣傳效果:要求每個人都要在鍛鍊的過程中看到至少一定數量的廣告牌。如果乙個人的鍛鍊距離不夠放置如此多的廣告牌,那麼就要求這段距離全部放上廣告牌,以達到盡量好的效果。

多組測試資料。

測試資料為(

n+1)行:

第一行有兩個用空格分隔的整數k和

n (1 <= k, n <= 1000) 。k

表示每個鍛鍊者在路上要看到廣告牌的最少數量,

n是鍛鍊者的數量。

接下來的

n行描述每個鍛鍊者的路徑。每行有兩個整數ai和

bi (

其絕對值均小於

10000)

,分別表示起點和終點。

輸出滿足宣傳要求的要放置的廣告牌的最少數量。

5 10

1 10

20 27

0 -3

15 15

8 27 30

-1 -10

27 20

2 914 21

19

#include#include#include#includeusing namespace std;

#define maxn 1050

struct route

;bool cmp(route x, route y)

route a[maxn];

int pos[20010];

int main()

sort(a, a+n, cmp);

memset(pos, 0, sizeof(pos));

int num, need, ans;

ans = 0;

for(int i = 0; i < n; i++)

if(num < k)

if((num+need >= k) || (num+need == y-x+1))

break;}}

}ans += need;

}printf("%d\n", ans);

}}

Python tkinter簡易廣告牌

使用tkinter製作的簡易廣告牌,v1.0 2020.07.19 功能 在視窗滾動顯示廣告.import tkinter as tk global advertise advertise 千里之行,始於足下 def show ad global advertise text1.delete 0.0...

頂點動畫 廣告牌效果

轉動攝像機時,無論從哪個方向對著物體,會看到物體看起來總是正對著攝像機。為了使物體不會隨著攝像機的角度的不同,而成像的面向不同。可以使用旋轉矩陣,對物體實時進行旋轉上的修正。即求得模型空間下,以視角方向做為法線方向,並計算出其他兩個座標方向,up與right,構成一組正交基。再使用它對原頂點進行轉換...

Billboard 廣告牌 實現的逐步推導

廣告牌並不是什麼令人心動的技術,但我敢說是最實用的技術,在粒子系統和場景優化方面,起著重要的作用。下面我用最明了的公式和步驟解釋實現的整個過程,希望對初學者有幫助。1 獲得當前的模型檢視矩陣 glfloat viewmatrix 16 glgetfloatv gl modelview matrix,...