codeforces:CF1604 总结
前言
solve:4
rank:48!!!!!!!!!!
這排名我不理解了
solve4真真不算多啊…
而且前四題感覺也不算太難…
仔細看了看榜
哦…
因為這次E和F都太陰間了
所以甚至到2000rnk還是solve4占主流…
人均ABCD唄
而我由于一開始狀態(tài)很好
做的飛快
占了罰時的便宜,幾乎到了solve4的排頭
可惜只是虛擬賽了qwq
A
大水題
無話可說
B
一開始蚌住了
想復雜了
這題真是,如果想不到一輩子都想不到
只好先做的C
回來后靈光乍現(xiàn)想到了先全按1分段的做法
然后就easy了
C
也挺水的
D
這個應(yīng)該是做的很不錯的一道題了吧
幾乎就是題解思路
快速的做出來D題是我這次排到這個rnk的決定性因素
E
看了題解
確實挺神仙
對于一個固定的序列計算價值,我們考慮一個貪心的思路
倒著取
再第一個出現(xiàn)遞減的位置嘗試分裂大者
肯定要盡可能的使分裂后的隊首大
因此我們就取分裂次數(shù)為 ceil(a[i]/a[i+1])-1
隊首大小就是 a[i]/ceil(a[i]/a[i+1])
繼續(xù)往前做就行了
(考場想到倒序分裂了,但還是沒貪出來qwq)
然后考慮如何計算所有子串的貢獻
設(shè)計 dpi,xdp_{i,x}dpi,x? 表示 i 從i開始,且分裂后的隊首是x的序列的個數(shù)
那么就可以寫出轉(zhuǎn)移:
dpi+1,x?>dpi,ai/ceil(ai/x)dp_{i+1,x} -> dp{i,a_i/ceil(a_i/x)}dpi+1,x??>dpi,ai?/ceil(ai?/x)
然后發(fā)現(xiàn) ai/ceil(ai/x)a_i/ceil(a_i/x)ai?/ceil(ai?/x) 的取值不超過 ai\sqrt a_ia?i? 種
用vector玩一下雜技就行了
為了優(yōu)化空間,需要滾動數(shù)組
總結(jié)
以上是生活随笔為你收集整理的codeforces:CF1604 总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么查看电脑配置好坏啊(怎么查看电脑配置
- 下一篇: 消息称特斯拉将于11月9日上调Model