本文重在分析該題目的思路,**極其短,但是想到這個題目的思路卻是挺複雜的過程。
自己拿到題目也想到了很多,用了一些小的樣例去找尋一些規律,但是還是沒有完全找到方法。 這個題目中重要的一點是你要能發現操作次數個數與n的奇偶的規律,(n是電燈的個數)n是奇數,操作次數一定是奇數,n是偶數,操作次數是偶數。 那麼這幅圖可以直觀的理解上面這個結論。
下面你還可以得到乙個結論,如果我要是的所有的燈全部熄滅的話,1要變0,0還得是0,1的操作次數一定是奇數次,0的操作次數一定是偶數次。 我們可以得到下面這個公式
所以我們毫無疑問地要說,如果1的個數的奇偶關係與n的奇偶不同那麼它一定不可以全部熄滅。
接下來,如果1的個數與n的個數奇偶相同,那0的個數是一定是偶數,那麼也就是說在整個序列裡,0可以兩個兩個的取,回到之前找規律時發現的乙個重要特點:我們發現當我們從1走到i時,假設我們往回走到左邊某個點k,再走回來i,那麼你會發現有且僅有k和i這兩個數相當於沒有操作(因為走了偶數次)。也就是說我們可以每次任意選擇這個序列裡的兩個0作為沒有操作,然而不需操作的0的個數恰好是偶數個。
見下圖**
1 #include2 #include3 #include4 #include5using
namespace
std;
6int
main()720
if((c%2)==(n%2
))21 printf("
yes\n");
22else
23 printf("
no\n");
24}25return0;
26 }
HDU 5635 思維想法題
peter has a string s s1s2.sn,let suffi sisi 1.sn be the suffix start with i th character of s.peter knows the lcp longest common prefix of each two ad...
hdu4415 不錯的想法題
題意 乙個人他有一定的血,有一些怪物,他去殺怪物,有的怪物殺死他後還可以在不費自己血的情況下任意殺死一些怪物,問你他最多殺死多少怪物,在最多殺怪前提下最好用多少血,大體題意是這樣 思路 首先我們把怪物分成兩個集合,a乙個是殺死他後可以免費殺死其他人的,b另乙個是殺死他後不能免費殺死其他人的,分析下我...
模擬 想法 HDU 6551 Clock
題目鏈結 題意 給定此時的時間 再給定n個鐘錶上的其他時間 問從此刻的時間開始,將這n個鐘錶上所有時間都走完一遍時,秒針轉過的最小角度 思路 只存在四種情況 只順時針走 只逆時針走 先順時針走再逆時針走 先逆時針走再順時針走 模擬即可,剛開始模擬寫的超級複雜。乙個勁地wa 後來改了寫法,簡單了很多而...