纪中2016.10.6比赛不明总结
100<=分數<=310
————————————————————————————————————
期望值: |T1:100/T2:10/T3:100/T4:100
————————————————————————————————————
實際: |T1:100/T2:10/T3:100/T4:0(what the fuck?????????????)
————————————————————————————————————
講題前:T1:100/T2:100/T3:100/T4:20(少加了個大于號,呵呵呵呵呵呵呵呵呵呵呵呵了。)
————————————————————————————————————
講題后:AK
————————————————————————————————————
廢話不多說,開始講題。
(xc說,要像講故事一樣)
T1:呵呵,比較水吧,95.5percent的人做對了。
題解分界線——————————————————
此題一開始設一個-2到100的數組,然后初始化:f[0]:=1。
f表示跳到第i個階梯,有多少總方案。
于是就從褲兜里拿出神器——動態規劃。因為跳到第i層可以從i-1層、i-2層、i-3層跳過來,所以dp方程式就是:f[i]:=f[i]+f[i-1]+f[i-2]+f[i-3]。再判斷一下第i層可不可行,會不會掉下去就可以了,如果會掉下去,就把第i層改成0種方案,輸出f[n]。
T2:描述其實要很細致地讀題,才會明白小細節。(各種坑)
細節1:此題不想八皇后一樣,八個方向,此題只有4個方向。
細節2:此題有許許多多的坑坑洼洼不可以放不明石像,于是就要額外判斷。
細節3:心胸狹窄的石像們無法容忍自己位置下方x格的右側y格有其他的石像,于是還是要額外地判斷。
不怕時間超限的方法:很多人想到一個雙重循環來枚舉每一個格子,當然:時間超限(…)你不需要雙重,只需要用一個for來枚舉每個格子的縱列可不可以放,然后每次遞歸一個第幾行就OK了。
接下來就是加上不怕超限的方法,按照題目細節描述來模擬,a。
T3:規律題。
我們發現,輸出的行數是(n-1)*2行。
于是我們來分成兩個部分來探討規律——
第一個部分就是第1行到第(n-1)*2-4行。
用樣例數據來看:
XXXXXXOOOOOO__
XXXXX__OOOOOXO
XXXXXOOOOO__XO
XXXX__OOOOXOXO
XXXXOOOO__XOXO
XXX__OOOXOXOXO
這是前6行。第一行的X個數為6緊跟著6個O,然后是空格。
第二行就是把第6個X換到空格位置1里:XXXXX()OOOOOO(X)
把第1個O換到空格位置2里:XXXXX_(_)OOOOOX(O)
神奇的發生了:(復制別怪我)
第三行的X個數為5緊跟著5個O,然后是空格,加上1個“XO”。
第四行就是把第5個X換到空格位置1里:XXXX(_)OOOOO(X)_XO
把第1個O換到空格位置2里:XXXX_(_)OOOOX(O)XO
……
到了第二個階段,就是:
XXXOXOO__OXOXO
X__OXOOXXOXOXO
XOXOXO__XOXOXO
__XOXOXOXOXOXO
第一段XXX__OOOXOXOXO里的XXX(__)OO(OX)OXOXO互換。
第二段XXXOXOO__OXOXO里的X(XX)OXOO(__)OXOXO互換。
第三段X__OXOOXXOXOXO里的X(__)OXO(OX)XOXOXO互換。
第四段打表就對了。
T4使用呂樂大大的樹形dp方法,時超80,打表研究之后AK**
正解:轉大叔的題解別打我
先建立一個s數組,s[i,j]表示從第i個到第j個的和,求和時因為可能i+j-1會大于n,就是會回頭,那就是一種特殊情況,自己想想就好了,然后f[i,j]表示第i個到第j個的最小能力和,最后答案就是min(f[i,n]),意思是對于每個i來說最小的f[i,n],且f[i,n]非零。
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKKKKKKKKKKKKKKKKKKKKKKKKKKK啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦
轉載于:https://www.cnblogs.com/RainbowCrown/p/11148474.html
總結
以上是生活随笔為你收集整理的纪中2016.10.6比赛不明总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FABRIC单机开发者模式启动
- 下一篇: 4.openstack之mitaka搭建