GDOI模拟7.8-7.16 总结

来源:互联网 发布:python写淘宝秒杀脚本 编辑:程序博客网 时间:2024/06/08 13:58

7.8
今天第一天比赛,感觉脑子太久不用有点生锈了。
题目难度参差不齐,T2一直没人切,T110多个人切,T3一个人打表找结论找对了。
因为昨晚做LOJ NOIROUND1晚睡,早上起来精神不是很好,考试看了看题目感觉都没什么想法,趴桌子上歇了一会,醒来发现T1大水= =。
把模型化出来以后其实就是哥德巴赫的原初猜想(话说这种未被证明的结论直接拿来出题真的好吗),但是考试的时候并不会原初猜想,只会普通的偶数猜想,所以30分没有get到,只搞了70分。
T220分忘记交了巨亏。。对于T3这种random题目一直都不是很感冒所以没做。。
后来发现就是一个结论+构造= =。
T1的失误有点不应该,明天注意。

7.9
一上来看题,哇稳了,T3做过,不过好久以前了不一定能切,好像是结论出来以后就很简单了。
T1好像也挺简单,T2没什么想法。。
然后先上T3。
由于我对c++的函数键值传递一窍不通,所以被搞了很久,拍的时候一直不对,后来才发现= =。
其实就是看出来题意以后直接硬上了。
T1看了看发现好像直接枚举结束的天数就可以线性了,不过想了一会才想到。
T2送的30分很快就拿到了,然后满分一直没什么想法,总觉得是标记上搞点文章(usaco做多了)
然后是全场比赛的最大败笔= =。
交题的时候,我T1有一个注释要删掉,结果一不小心把下面的一句话删掉了,我还没发现!100—>10,GG成功丢掉90= =
再不能犯这样错误你说我怎么就管不住这双手呢

7.10
成功伪装成dalao
一上来看T1,以为我看错题了,再看一遍= =这不是pj水平的题目吗,,,差点都不想拍了。。。5分钟秒掉(看完题以后)
然后看T2,这模型很眼熟啊,跟那个usaco gold里面一道很像,dp式子应该差不多吧,只跟相对大小有关系直接设f[i][j]表示前i个,第i个的相对大小为j。
哇T3smg,没什么想法。
码完T1以后,根据记忆还有推导了一下很快打出来T2,好像没什么问题,拍了一下,很兹瓷啊。
然后此时才9:30(????),wtf今天smg,省选=TG-?然后看看T3.
xjb推出了式子,然后发现转移有点复杂,搞了半天才搞过去样例,结果拍了拍发现基本上都是错的= =好不容易改了几个拍了一组对的,再拍一组又有错的,然后同时发现自己样例都过不去了,此时还剩半个小时,瞬间弃疗= =。。
跑去看了看A组题目,觉得今天题目放反了
T1T2没什么问题,T3样例都不过居然能水30…..
最近的题目都比较简单,刚好和我前一段时间做的题目难度差不多,所以发挥比较好,当然估计放题人已经意识到题目太水,明天开始估计会恢复正常难度= =。不管怎么说不能膨胀,难题也不能怕= =,暴力要搞好,感觉自己心态有点过于乐观了,要时刻警醒自己不能犯noip和gdoi的错误,不能浪,一浪就GG。
%%%xdl大佬本色尽显提前1小时AK

7.11自由做题。

7.12
成功爆炸,数据结构毁一生。
早上一看题,感觉画风突变,并不能好好的玩耍。。
T3听说是原题,然而我并没有做过。。。那个时候我好像还在做普及(丢人)
T2巨水,但是没有看出来。
死刚T1。。
很容易想到通过计算每一位的贡献来回答询问,明显有这样一个性质:对于一个数来说,他的贡献变为0的时刻就是在他前面比他大的而且最早进行的操作对应的时刻。
那么,这说明,要求有贡献有三个条件:
1.IQ值大
2.编号在前(小)
3.时间小。
那么我们要怎么处理才能同时保证这三个条件?
首先肯定不能在线,离线处理出每一位的最早更新时间。
然后,操作的时候来维护这三个东西。
用权值线段树来维护时间,由于是权值线段树所以下标同时维护了IQ,最后按照序列的顺序处理保证编号在前。
那么我们只要查询从当前点给出的IQ值到最大IQ值之间的最小处理时间(mn初值为inf),那么这个位置的贡献肯定属于这个时间。
具体可以看我题解。。
但是早上花了1个多小时想到,然后一直在拍怎么拍怎么错,一直拍到11点还拍出错= =只能无奈放弃,草草打了暴力,成功倒数。。
以后一定每道题目都要给足够的思考时间,不然就会像今天这样死卡一道题,明天一定要注意策略了!!

7.14
今天又是巨亏的一天。
T1比较简单,推一推就出来了,直接上矩阵乘法,注意有特殊情况暴力算一算。
T2是重头戏,一看以为又是计算几何,然后认真看了看还好坐标都是整数。。
但是感觉还是没什么思路,跟以前做过的题目不大一样。
T330分十分简单,100分现在才大概懂一些。
打完130以后回头干T2.
想到了以前做过的一道奶牛题,应该可以分治一下,每一次遇见不同颜色的拆成两半然后用主席树统计矩阵内的点数,但是由于很久没打主席树怂了,但是调不出来就跪了。
(横竖都是0分)
想到最大的答案肯定是有一个颜色不选,枚举那个颜色然后剩下的统计答案,但是发现情况好像不止这一种,然后又想了几个例子画画,发现最大答案肯定在两个相邻的相同颜色之间(n+1可以为任意一种颜色),很容易想到用l,r维护,然后从下往上做或者从上往下做,能这么容易想到还是因为这个感觉好像是经典套路,usaco gold里面遇见了几次。
然后纵坐标取个相反数,就可以把另外一种情况算到了。
但是打的时候由于离散错误所以挂了,线性离散的话我判断如果a[i].x!=a[i-1].x,i=1–n
问题在于,这里的横坐标可以是0,我就炸了。
由于是多组所以一分也没有。
130成功爆炸。
所有的得分都在第一个小时结束
%%%ymw大佬,200分随手虐我。
感觉失误频出啊,觉得要谨慎了。

7.15
今天还不错,没有fst,xjb乱水个rank2,还是被ymw大佬虐啊,又是rank1,noip稳了。
题目到手先看了看T1,感觉应该是是什么log算法搞一波把。
T2smg,感觉又是奇怪的做法,题意就是构造。。。
T3感觉好像很水但是并没什么想法,n<=1e6是smg。
然后看了看感觉部分分很好打,所以着重切题。。
先去凎了一波T1,感觉想不出什么log算法,只能找规律乱搞一波了。
打了个表发现统计答案可以(n-1)%9+1,然后其他的啥也没找到。
中间发现好像直接算会T,就用上面那一条式子了。
然后打了一发答案的表,感觉很有规律但是必须n足够大,所以记录了一下每一种答案出现的次数,逐渐扩大区间。
发现在n=26680,也就是ans=6088的时候,它形成了一个周期。。
就是getans(n)=getans(26680)+getans(n%26680)(n>26680)
这很zici啊,试了几发没什么问题,然后就切了。
T2感觉依旧不可做,决定玩一波trick,把b全部搞成一个值,试了一下好像r对的比l对的多(手出小数据),然后就用r了,结果水到30分。。
T3卡了将近1个小时啥想法都没有。。一开始还想着缩点。。这题缩点根本没什么用好吗。。缩点之后的处理都是一样的。。
后来发现自己看错题目了,以为要枚举起点,然后30分都不会,只能用dfs水一发,结果还有18分。。
100+27+18乱搞一波。。比不上ymw大爷100+100怒踩我这个蒟蒻。
果然OI是个不fst的游戏( •̀ ω •́ )