1. 廣告排名區間 (10分)
問題背景
shifen廣告消費預估系統可以估計出一段時間內乙個特定的廣告在檢索結果中排在各個位置的機率。比如系統對某廣告的輸出如下:
p1 = 0.03, p2 = 0.08, p3 = 0.04 ……
這說明該廣告展現在第1位的概率是 3%,展現在第2位的概率是 8%,展現在第3位的概率是 4%……
問題是:如何給出乙個排名估計區間[i, j],使得廣告出現在該區間中的概率大於或等於乙個預設值p,同時這個區間所包含的元素盡可能的少。也可用數學語言來描述:給定數p和數列 p1, p2, … , pn,求 i和 j (1 <= i <= j <= n),在滿足pi + pi+1 + … + pj >= p的前提下讓j-i 最小。
一般來說,pi只需保留6位小數就足夠了。這樣,若令ai=106pi,a=106p,則a和所有的ai均為[0,106]之間的整數。這樣就避免了對實數的處理。
輸入格式
第一行包含乙個整數n (1 <= n <= 100,000)。
以下n行每行包含乙個[0,106]內的整數,依次為a1,a2,…,an。這n個整數之和保證不超過106。
最後一行包含乙個[0,106]內的整數a。保證所有ai之和不小於a。
輸出格式
輸出僅一行,包含乙個整數,即j – i的最小值。
樣例輸入
7 5
8 4
7 10 5
2 18
樣例輸出
2 樣例解釋
a2=8, a3=4, a4=7之和為19,滿足條件。而任何兩個相鄰數之和均小於18。
解題思路:
乙個巢狀迴圈就可以完成該工作,不過工作量實在是有點大。沒想出別的法子。
偽**:
int a=0; //儲存區間
int get interval(int *shifen,int size,int p)
if(sum >=p)
} }
return a; }
如何區分廣告排名和自然排名?
如何區分廣告排名和自然排名?在www.alibaba.com 1 顯示 top sponsored listing 字樣 2 產品間以粗實線分隔 3 產品間以虛線分隔 4 細實線且有顯示 sponsored listing 字樣 5 產品間以細實線分隔 1 顯示 top sponsored list...
競價排名廣告惡意點選的責任誰之過?
很多做過競價排名廣告的人都會感慨,那是多壯觀的燒錢啊!實際上沒帶來多大的商機,但廣告費卻每日倍增。關鍵詞 稍低,沒法顯示 設定費用上限,系統又提醒流失了多少客戶。消耗得不償失,有競爭對手惡意點選,但更多責任在於姑息養奸,坐擁漁翁之利。經過多次實驗並對資料進行分析研究,寫下此文,旨在解開放鬆技術防範的...
Tyvj p3070 動態排名 (動態區間第K大)
題目鏈結 動態排名系統 20 問題描述 給定乙個長度為 n 的已知序列 a i 1 i n 要求維護這個序列,能夠支援以下兩種操作 1 查詢 a i a i 1 a i 2 a j 1 i j n 中,公升序排列後排名第 k 的數。2 修改 a i 的值為 j。所謂排名第 k,指一些數按照公升序排列...