逐流之舟——HBOI&&HNOI 2016滚粗记

Day 0:火车又晚点了……似乎并不是个好的开端(TLE伏笔?)中午随便搞了碗凉面吃吃,好难吃TAT,晚上打算复习一下带花树(感觉忘得差不多了好虚啊,万一考了怎么办(真TM是想太多)),结果jxr想起来HN集训的时候陈老师出的一道题,关于SAM上暴力删除上一次操作了,发现记录一下好像可以搞了,然后就A掉了(此处炸人品)

Day 1:

T1:给定一个无向图,每条边有两个权值,询问对于u,v是否存在一条路径的两权值的最大值分别为a,b,想了下感觉如果图中只存在权值都<=a/b的边,似乎只用判连通性就好了,写个并查集就好了,n*m大概有20分,(结果出考场就发现最大边可能到不了,应该写带权并查集TAT),正解什么的果断不会。

T2:在一个树上进行带权链覆盖和删除,每次询问不在一个点上的链的最大权值。先码个暴力再说,每次询问时对于之前加上的链(还未删除),判断其是否覆盖这个点,覆盖就更新最值,树剖一下的话复杂度是m^2*logn,30分到手。剩下的就不会了(貌似权值线段树相减?

T3:给定一棵模板树和一棵大树,初始时大树和模板树一样,然后m次复制,每次复制模板树上一棵子树接到大树某个节点的下方,最后Q次询问大树上两个节点的距离。暴力的话就是直接模拟建出最终的大树,然后求距离什么的随便搞搞。(题面坑爹啊,说好的from到to应该是有向边啊,样例全都是子向边,然后我比较懒就按照样例加了有向边,结果数据出来全都是父向边,md这0我爆的冤啊)这么做大概是30分(正解的话感觉可以口胡一下,把次复制过去的模板树看成一个树块,每个树块看成一个节点,然后每次先求两个节点所在树块的lca,再求树块内的lca,然后再算距离就好了,应该是可以做的,可是考场上脑残了一直在想T2)

期望得分:80, 结果:30 感觉跟爆0差不多TAT,T1其实可以直接BFS也是有20分的QAQ,T3真是不知道说什么好,为啥大家都是无向边,就我一个脑残加的有向边

下午一直在打牌感觉好颓啊

Day 2:

T1:(今天不要考树了行不行TAT)一看题目不考树好评,给定一数列,询问所有端点在l,r内的子序列的最小值之和,好像q*n^3的暴力只有10分的样子,想了想还是可以写个莫队水一水的,考虑一个当前我们得到了l,r的答案,我们想转移到l+1,r,于是所以左端点为l,右端点在[l,r]的前缀序列都删掉了,我们只需要统计这些前缀序列的最小值之和即可,我们考虑l,r中的最小值,假设在p位置,那么右端点在[p,r]的前缀序列的最小值都是a[p],所以这些前缀序列的最小值之和是(r-p+1)*a[p],这样我们就成功地将求解范围缩小到了[l,p-1],然后这么递归的话就会T掉,最坏情况下需要O(len)才能得出答案,我们观察一下会发现l到p-1的前缀序列是很有规律的,我们先找到l右边第一个比l小的地方,假设是q,那么以[l,q)为右端点的前缀序列的最小值都是a[l],而q是可以通过并查集/单调栈预处理出来的,并且再找q右边第一个比q小的,这么重复找的话一定会找到p的,我们假设一个点有一条边指向它右边第一个比它小的点,然后把a[n+1]设成-inf,那么整个序列形成了一棵有根树,把边权赋为点值和某点与它父亲的位置之差的乘积,那么答案就是l到p的路径长度,这个可以O(1)算出来,如果使用rmq来查询最小值,p也可以O(1)算出来。转移到l,r-1的情况同理,于是我们就可以在NlogN+Nsqrt(N)的时间内做出来了。

写完的时候才过去1个小时,过了样例之后直接把程序复制到要交的文件夹里了,然后再开始对拍,结果发现莫队写错了,改了之后再拍了拍发现竟然是对的,不过极限数据2S左右,感觉不是正解,但也没多想就去做下一题了。下午结果出来的时候发现只有30分TAT,莫队改了之后忘记复制过去了,导致我交的程序里莫队是错的。。。。真是无话可说

T2:一看平面图就是完全不会,当然直接输出1 1就有10分了,然后想了想大概可以转对偶图然后bfs,这么做应该有30分,但是我不会转对偶图啊,于是只有10分了

T3:给定质数P和数字串,每次询问l,r之内的子串中是p的倍数的个数,直接打了个N^2的DP滚粗了,令f(l,r)为区间l,r的答案,于是f(l,r)=f(l,r-1)+f(l+1,r)-f(l+1,r-1)+is(l,r),其实就是容斥了一波。

期望得分:140,结果:70

T1莫队打错真是没话说了,而且明明改对了却忘了交上去,真是蠢得不行啊。

End:HB Rank 8,省队7人,有趣,有趣

其实一切关于命运的理论都是毫无意义的。如今成了被命运之流左右的舟,只不过是因为自己太弱了。所有的愤怒、惋惜、后悔、失落,不过都是自己无能的表现罢了,强者们早已遨游在星辰大海上了,而我这样的弱者,只能靠着那一缕卑微的涓流,驶向不知是何方的彼岸……


所以现在到底该怎么办呢?买活再战一波or回去好好高考?感觉两条路都已经失去了意义……

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值