題目大意 : 經典漢諾塔,操作者一定會按最優方案移動圓盤,給出乙個狀態問還需多少步
如果圓盤i現在處於t,那麼至少移動 \(2^\) 步才可以到現在狀態(上面圓盤1到i-1從柱s移動到柱m需要 \(2^-1\)步,把圓盤i從柱s移動到柱t需要1步),
如果圓盤i現在處於s,那不用移動,如果在m的話是不可能的,輸出no就好了
show code
#include using namespace std;
int read(int x = 0, int f = 1, char c = getchar())
int n, a[55];
long long ans;
void solve(int x, int s, int t, int m)
if (a[x] == s) solve(x - 1, s, m, t);
else if (a[x] == t) ans -= 1ll << x - 1, solve(x - 1, m, t, s);
else return ans = -1, void();
}int main()
return 0;
}
題目大意 :
show code
題目大意 :
show code
省選模擬26
不然想到乙個50分的dp,然而我的dp轉移和正解不一樣所以沒法優化所以就死了。要是用我的dp推正解大概只能考慮實際含義。考慮每次在已有的顏色序列中間插入一段,那麼考慮轉移的方案數,不難得到一條dp轉移路徑的貢獻是每次顏色序列長度 1的乘積。所以列舉一共經過了多少次轉移,轉移次數為k的所有方案的貢獻之...
省選測試21
設 f i 為上一次參加的比賽是第 i 場的最大愉悅值 則 f i max f i f j frac a i j 對於隨機的資料,把列舉的範圍卡到 3000 即可 容易發現,如果沒有 a j leq a i 的限制,那麼就是乙個裸的斜率優化 dp 把 f i frac frac 看做 y 把 i 看...
省選測試9
這個名次已經是倒數了 感覺整場考試不是很在狀態,正解想不到,暴力分也沒有打滿 其實前兩道題仔細推一下還是能想出來的 t1 2 sat 有一段時間沒有打了 優化建圖的方式和之前的某道題挺像的,但是當時那道題沒改 這次算是補了乙個鍋 t2 的資料範圍折半列舉也不難想,實現時注意一下細節就行了 t3 有一...