[CF] D - Bookshelves

題目:https://codeforces.com/contest/981/problem/D

MySol:https://codeforces.com/contest/981/submission/51882872

我是智障

OK,這樣上面那句就可以在還沒點進去就看到了

這題有個大性質,那就是AND,這可跟甚麼XOR、OR不同,可是AND喔><

雖然有點違和感,但我一開始就當作一般的東東隨便去DP看看,結果卻連範測都過不了

問題在哪呢?

亂做的話它的子問題不能推到大問題,當然,如果你已經AC的話就另當別論了

那要怎樣才能有子問題的最優甚麼的性質呢?你應該要想到AND,像我就沒想到就去看解了

如果你有一塊的加起來的長相是mask,那你最終答案肯定小於mask

如果你有一次得到的結果是(1 << 60),你就算是(1 << 59) - 1這麼多的1你也不care。

所以就會想到要從高位開始往下做DP

應該說看到是位元運算的題目就要想到對位元做事了,但我腦袋只閃過了一下下,就拋之腦後了QQ

留言

這個網誌中的熱門文章

Shellshock.io從入門到上手(針對單狙)(沒有圖片、影片版本)

[TIOJ] 1007燈泡問題