2023年11月15日总结

更好地观看

总结

今天主要是复习,非常有趣,但是我今天写总结写晚了,只有几分钟了,我得加快!定场诗(来自 AI):

算法高人入梦来,
信息竞赛展风采。
编程路上千般苦,
乐在其中不言败。

早上

大家都在讲自己出的题目,很有趣,有很多收获!

下午

尝试改洛谷 T4,失败。

晚自习

打了一场 vp,继续有同学讲自己出的题目,非常好意义!使我的大脑旋转!

简单讲解一下 cf 的题目,链接:link。打了前三题,C题 \(m\log^2{n}\) 的复杂度超时了,伤心。

CF1868A

link

构造题,先特判 \(m = 1\) 的情况。然后会发现答案就是 \(\min(n + 1, m)\),从第 1 列(开始是 0 列)开始每一列放 \(0\sim i - 1\) 就行,然后发现每一行顺着放就行,多余的行移动一下位置放就行。提交记录

CF1868B1

link

先验证一下平均数。然后发现每个点会有出边和入边。刚好等于平均数的你可以发现可以插在任意位置,就可以不用管了。然后会发现出入边一定不等,验证一下每一种边的值对应的出入边的数量是否相等即可。提交记录

CF1868B2

link

会发现相对于前一道题,影响的只会有和平均数的差是2的幂可能会只有出入边。这种点就先假设度数只为1,然后记录一下这种每个值的个数。然后发现修改就对于下一个值加一,出边和入边反一下。然后枚举的时候发现不等尝试调整就行。提交记录

CF1868C

link

TODO: 待改正。

我的思路:首先对于一条链,枚举最大值 \(y\),长度(点数)为 \(x\),那么贡献就是 \((y^x-(y - 1)^x)\times y \times m^{n - x}\)。然后枚举最大值和长度,在枚举从 lca 两边往下的长度计算出有多少个长度为 \(x\) 的链即可。两个 \(log\)

P.S. 在写这里的时候我突然发现可以把长度为 \(x\) 的链的个数预处理出来?惊呆我了,感觉突然降智!

更新:改了,然后发现循环里面还有个快速幂?!还是超时,决定优化掉快速幂。然后发现好像什么地方写寄了伤心。

后记

也许就,那样吧,也许就,这样吧……

时事点评

非常好点评,是我的大脑旋转。大家都好厉害,出的题很好,好到旋转。

posted @ 2023-11-15 23:53  Huasushis  阅读(6)  评论(0编辑  收藏  举报