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