[題目鏈結]
[演算法]
首先發現 , 對於乙個開關 , 按下2次和沒按是等價的 , 因此每個開關最多按一次
考慮k = n的情況 , 只需簡單倒序貪心即可
考慮隨機的情況 , 由觀察可知乙個開關不能由多個開關組合得到
用fi表示i次將所有開關變關到(i - 1)次將所有開關變關的期望步數
有轉移方程fi = i / n + (1 - i / n) * (1 + fi + 1 + fi)
將該轉移方程看作乙個一元一次方程 , 即可解出fi
不再贅述 , 詳見**
時間複雜度 : o(n)
[**]
#includeusingnamespace
std;
typedef
long
long
ll;typedef
long
double
ld;typedef unsigned
long
long
ull;
const
int p = 100003
;const
int n = 100010
;int
n , k , cnt;
inta[n] , inv[n] , dp[n];
vector
< int >d[n];
template
inline void chkmax(t &x,t y)
template
inline void chkmin(t &x,t y)
template
inline void read(t &x)
intmain()
}for (int i = n; i >= 1; --i)
}int ans = 0
;
if (cnt <=k)
ans =cnt;
else
for (int i = 1; i <= n; ++i) ans = 1ll * ans * i %p;
printf(
"%d\n
", ans);
return0;
}
4872 Shoi2017 分手是祝願
4872 shoi2017 分手是祝願 time limit 20 sec memory limit 512 mb submit 153 solved 109 submit status discuss description zeit und raum trennen dich und mich....
六省聯考2017 分手是祝願
展開 題目描述 zeit und raum trennen dich und mich.時空將你我分開。b 君在玩乙個遊戲,這個遊戲由 nn 個燈和 nn 個開關組成,給定這 nn 個燈的初始狀態,下標為從 11 到 nn 的正整數。每個燈有兩個狀態亮和滅,我們用 11 來表示這個燈是亮的,用 00...
六省聯考2017 分手是祝願
嘟嘟嘟 這題真的有點神。首先50分是送的,對於所有 n k 的情況,直接從後往前掃一遍,碰到一盞燈亮著,就 o sqrt n 操作一次。複雜度上界 o n sqrt n 但根本達不到。接著我就想不出來了,題解看了好多篇才懂。首先要觀察出來的是,第 i 個開關的操作只會影響小於等於 i 的燈。且對於這...