時限:\(2s\) 空間:\(256mb\)
在遙遠的\(\mathcal\)星系中,生活著一種神奇的生物——王\(♂\)強,他們鱔長於\(ak\)
\(oi\) 比賽,在乙個\(\mathcal\)物復甦的季節,乙隻年輕的雄性王強開始了他的\(ak\)活動...
\(\mathcal\)星系中有\(n\)個星球在舉行\(oi\)比賽,星球的名稱分別是\(1\)號星球,\(2\)號星球……,\(n\)號星球,第\(i\)個星球的全球決賽叫做\(ioi\),由於每個星球的自轉和公轉時間不同,所以他們\(oi\)賽的時間也不同;
現在王\(♂\)強知道了每一場\(oi\)賽的開始時間\(a_i\)和結束時間\(b_i\),並且根據他往年\(ak\)的次數,**了每個\(oi\)賽他\(ak\)的概率\(p_i\);
每個星球只有\(1\)場比賽,王\(♂\)強不能在同一時刻在兩個星球上;
王\(♂\)強一開始在\(1\)號星球上,而他從任意乙個星球移動另乙個星球需要\(q\)的時間;
現在王\(♂\)強想知道他該如何參加比賽,使他的期望\(ak\)場數最大。
輸入格式
第1行兩個整數\(n\)和\(q\);
接下來\(n\)行,第\(i+1\)行有兩個整數和乙個小數,
分別表示\(toi\)的開始時間\(a_i\),結束時間\(b_i\)和王\(♂\)強\(ak\)
\(ioi\)的概率\(p_i\)
輸出格式
第1行乙個浮點數,表示王\(♂\)強最大期望能夠\(ak\)的場數,保留三位小數
第2行輸出王\(♂\)強\(ak\)的星球編號,中間用空格隔開,資料保證只有一組解
輸入樣例#1:
5 2
7 10 0.8123456789
2 5 0.223456789
6 9 0.83456789
3 6 0.3456789
8 10 0.756789
輸入樣例#2:
14 0
2 7 0.37
0 1 0.20
8 9 0.13
1 5 0.19
0 8 0.4
0 2 0.57
0 3 0.2
4 9 0.4
5 9 0.26
8 10 0.80
9 10 0.27
3 7 0.3
5 9 0.64
3 9 0.55
輸出樣例#1:
1.102
4 5
輸出樣例#2:
1.740
6 1 10
對於\(100\%\)的資料,\(1\leq n\leq 10^6,0\leq l_i< r_i\leq 10^6,0\leq p_i\leq 1,0\leq q\leq10^5\)
特殊限制:
測試點\(n\)
\(q,p_i\)分值1
\(\leq 15\)
—\(15\)
2\(\leq 15\)
—\(15\)
3\(\leq 1000\)
\(q=1,p_i=0\)
\(15\)
4\(\leq 1000\)
—\(15\)
5\(\leq 10^6\)
—\(20\)
6\(\leq 10^6\)
—\(20\)
顯然這是一道遞迴
\(dp\)題,
\(dp_i\)表示時間為\(i\)時的最大期望收益
考慮當區間\(j\)的右端點\(c_j.r\)等於\(i\)時,我們可以進行轉移
\(dp[i] = \max ( dp[c_j . l] + c_j.w )\)
我們可以將所有區間按照右端點排個序,然後列舉時間\(i\),進行\(dp\),
有乙個細節是王♂強一開始在\(1\)號星球,在轉移的時候特判一下即可
if(c[j].id==1) c[n];
double f[n];
bool cmp(_oi x,_oi y){
return x.r=p&&f[i]
noip模擬賽 王強的疑惑 題解
考試題。是個dp。50分可以通過子集列舉 線段覆蓋 貪心 完成。考試沒時間寫了乙個子集列舉30分。include include include include using namespace std const int maxn 20 int read while isdigit ch retur...
題解 神奇校內POIN模擬賽 小凱的疑惑
題外話 sol 套路 我 這是什麼神仙思路?給定一棵有 n 個節點的樹,你可以選擇一些點,這些點不能相鄰 你所得到的總價值為這些節點的權值的乘積 求最大的價值 mod 998244353 考慮乙個神奇的東西 對數 顯然我們有 如果 ab c 那麼 log x a log x b log c 所以,問...
NOIP 模擬試題之小凱的疑惑題解
提取碼 31p6 描述小凱手中有兩種面值的金幣,兩種面值均為正整數且彼此互素。每種金幣小凱都有 無數個。在不找零的情況下,僅憑這兩種金幣,有些物品他是 無法準確支付的。現在小凱想知道在無法準確支付的物品中,最貴的價值是多少金幣?注意 輸入資料保證存在小凱無法準確支付的商品。輸入輸入資料僅一行,包含兩...