CQOI2016游记
Posted jhcelue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CQOI2016游记相关的知识,希望对你有一定的参考价值。
前情提要:我是丝薄,noip405的丝薄,所以这次省选特别虚
day0
上午随便切了两个题。背了下版。
下午看考场,环境还好。键盘也不错。评測姬非常好,就是人和人之间有点近,我回去买了耳塞(尽管并没实用上
晚上回去一边看板一边纠结,想自己万一进不了队怎么办,熬到十一点过最终睡了。我心态果然还是不够好啊,应该什么都不想的。
day1
上午六点半就起来了,七点到学校。开车过去七点四十就到了重邮。
然后老师们讲了下比赛的注意事项,竟然要多存盘以防别人关错电脑233
然后就開始考试了。
一開始考试我就惊了,T1裸的分治最小割啊,T3数位DP。我一定能想出来。T2倒是没什么思路。可是暴力有30分!
妈妈我省选一场能拿230。。
然后我花40分钟默写了一下分治最小割。然后我花25分钟写了写数位DP,然后还有三个多小时。实在是太爽了。这个数位DP还是比較好想的。然后我開始想T2,这个k远点对怎么搞呢?答案在凸包上面?显然是错的啊。所以卡壳不行了。K-D树?也是能够找最远的,不依赖凸包。可是第k个怎么做啊。
然后我又脑洞了一下分治,还是没什么思路。
仅仅好写了个暴力。
然后我開始对拍我的T1T3,然后发现T3的答案增长得非常慢,然后就细致看程序。发现有个中间变量忘开long long了,然后改了之后就正常了。也是运气好,要不然这题就爆炸了。
有惊无险地拍完后面两题,然后我检查了一下文件名称,数组大小。把I64d改成了lld,然后忐忑不安地等了2分钟。然后交了。
上午精神还不错,下午整个人就颓了(感觉身体被掏空
晚上看了下数学和数据结构的板,然后没看trie(flag
纠结到11点过。最终睡了
day2
上午六点半就起来了。七点到学校,开车过去七点四十就到了重邮。(怎么一样的
玩了一会然后就開始考试了。
第一题我一看,RSA吗?直接上pollard_rho模拟一下就A了。
第二题我一看,哎呦我去,题目真长。等会看。
第三题我一看。出题人怎么这么喜欢第k大啊,算了感觉还能够想的样子。
然后我開始模拟第一题,随便写了个板。然后过了例子。
我就放了,等下对拍。
然后我開始想第三题,感觉有点DP的味道。可是不知道怎么搞。然后我開始怂了,想先写个搜索放放。然后安慰自己:省选390也能够进队啊(flag
然后我写完最naive的搜索以后我发现了。要把128内的质数打出来。随便搞搞这个搞出来这个质数最多能被选多少次,然后枚举一个要选择的最大的质数,这样就能够枚举这个质数被选次数内的比这个质数小的全部质数了。
就是个集合的无序拆分。
写完后发现仅仅能过10^14左右的数据。10^18的伪光滑数有1.2亿个。非常不好搞。
然后我跑去看第二题了,由于题目描写叙述一開始不清楚所以我没想出来,后面更正了题意后还是没想出来,无奈又写了个30分暴力。
回来看第三题,如今时间还非常充足。我又想到,10^14的第800000个伪光滑数一定比10^15的第800000个伪光滑数小,这样如果我们知道10^14的第800000个伪光滑数。这个数能够拿来剪枝,然后10^15的第800000个伪光滑数算起来就非常快了,能够拿去剪10^16的第800000个伪光滑数,这题就做完了。
然后我又有230辣!
当时我认为自己稳了(flag
毕竟CQ是弱省啊,在我看来省选460已经非常高了。
然后就是惯例地检查了。
然后等成绩。听说巴蜀的AK了两个。然后我就慌了,认为460这个分并不高。无心吃东西。反正发呆。最终等来了成绩,我压线进队了,可是geng4512由于数组开大了MLE了所以挂了。这样我们学校有3个进队。
感觉自己进队了尽管开心,可是geng4512挂了也非常可惜,所以也就没那么开心了。并且自己也是压线进队,有450分。day1T1不知道为什么写挂了一个点。然后就是心有余悸了。要是写挂得多一点,或者我DAY1T3没检查出来,或者我DAY2T3没想出剪枝。我就挂了。主要是noip太渣了,md斗地主,md跳房子。
后来回忆我省选写了啥,写了三个模板三个搜索,真是毫无技术性可言啊。bless all.
然后我来口胡一下每一个题的题解吧。题目和数据以后再补。今天先睡觉了
day1
t1 不同的最小割
分治+最小割 參见ZJOI不知道哪一年(2011?
最小割
或者你会GH TREE能够直接敲板子
据说数据非常水。暴力最大流80分
t2 k远点对
堆+凸包+分治+kdtree(我并不会不要问我去问claris
不要用卡壳和三分做。数据非常水,所以有人AC,然而这是能够卡掉的(我并不会卡不要问我去问claris
t3 电话号码
数位dp,设过程dfs(pos,p,f4,f8,flag,lim,zero)表示dp到pos(从低到高dp),上一个数字是p。是否有4,是否有8,是否有连续的三个一样的数,是否取满,是否有前导零的状态。
然后当pos=0的时候返回flag,否则按情况转移。
day2
t1 密钥破解
用pollard_rho把N分解成p,q,然后算r,然后exgcd算d,然后高速幂算答案
t2 路由表
可持久化trie或者trie上的dp(然而我太丝薄并不会
t3 伪光滑数
可并堆+dp(然而我太丝薄并不会
或者打阈值表剪枝搜索
题目在bzoj上能够交。没有题面,题面在uoj群或者codevs群看。
以上是关于CQOI2016游记的主要内容,如果未能解决你的问题,请参考以下文章
NOIP 2015 & SDOI 2016 Round1 & CTSC 2016 & SDOI2016 Round2游记