csp-c模拟测试「set·read·」
生活随笔
收集整理的這篇文章主要介紹了
csp-c模拟测试「set·read·」
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
set
題解
只要求一組特解
像入陣曲一樣就好了(入陣曲真是好題啊$!$)
$(sum[r]-sum[l])\%n==0$
拆成$sum[r]\%n==sum[l]\%n$桶里存$sum[l]\%n$每次找$sum[r]$桶里有沒有對應的#sum[l]#
存$tong[0]=1$,別的先查后存
證明
證明一下正確性
$0$自己合法$(sum[r]\%n)==0$不需要找對應
其他都要找一個來匹配
假設我們有$n+1$個$sum'$值,(這里假設$sum[0]$也要找一個匹配)
$\%n$意義下$sum$范圍取遍$[0,n-1]$
$n+1$個$sum$,$n$種取值一定有一種合法
故得證
read
題解
要求$max(cnt[k])-$$\sum \limits_{i=1}^{N \&i!=maxid} cnt[i]$ $ -1$
然后式子稍微一化$maxcnt*2-n-1$求$maxcnt$
然而$n$實在是太巨了$50000000$,出題人卡空間$16MB$$1000ms$怎么辦
主要解決空間問題
事實上我們設$id$和$cnt$,$cnt==0$時$id設為now$$cnt=1$
$id==now$ $cnt++$
$id!=now$ $cnt--$
最后$id$就是$max$,
轉載于:https://www.cnblogs.com/znsbc-13/p/11547282.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的csp-c模拟测试「set·read·」的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小翼管家怎么关闭网络
- 下一篇: 管理任务执行-如何排任务优先级