2024.09.22 总结

For:2024.09.22 星期日

到机房刷刷题,打打网上模拟赛

P2827 [NOIP2016 提高组] 蚯蚓

 思路不难,看了没一会就切了

  先考虑没有 +\(q\) 的情况,很简单,开一个大根堆,每次拿出最大蚯蚓,模拟操作后插入即可。
  如果有 +\(q\) 操作呢 ?也很简单 其他数 +\(q\) 相当于自身 -\(q\) ,排序大小不变,怎么计算一共长度?对于每一秒时间 \(i\) 需要加上的长度为 \((i-1) \times q\) 算法复杂度 \(O(n~logn)\)
  然后你满心欢喜调试完提交后,发现竟然只有 \(85\) 分 ???怎么回事,原来是有3个测试点数据为 $6 \times 10^5 $ 刚好卡掉 \(O(n~logn)\) 所以我们需要更优秀的做法。\(O(n)\)
  如果你做过 P6033 [NOIP2004 提高组] 合并果子 加强版 那么就不难想到,将堆换为两个队列,队列需要满足单调性,其中 $x-\lfloor px\rfloor $ 的整点,满足单调性,注意是整点,全局并不满足,所以可做,结束。


P3870 [TJOI2009] 开关

 线段树很模板的题。

  区间修改,区间查询,明显线段树,其他部分不用变,只需注意可以将 \(lazy\) 变为 \(bool\) 类型,每次更改取反即可,同时,每次更改,结点变化值即为:节点总灯数 - 开着的灯数。 结束


报名了下午复旦s码模拟赛

下午

  到机房差不多两点半,已开始30分钟,这把模拟赛不是很顺利。

P11076 「FSLOI Round I」单挑

 红,但是赛时也浪费了很久,细说原因

  语言基础入门题,使我发现了问题:\(ceil\) 向上取整函数,但是这斯的返回值竟然是 \(double\) 类型 ???,考试时最后还是手写了下才过的,赛后看讨论区才了解,以后需要注意。


P11077 「FSLOI Round I」石子

 一眼切,忘开 \(long~long\) 蠢完了

  无限进行,\(x\) 不是整数,或者 \(\exists~(a_i - x)~\%~k\neq0\)
  然后统计总计操作次数 $sum= 1/2\sum \vert (a_i-x)/k $ ,若为奇数先手胜,偶数后手胜。


P11078 「FSLOI Round I」迷雾

 没10分钟会了,但是一直没调出来,\(50pts\) 遗憾退场。

因为复杂度 \(O(n~logn)\) ,自然想到 \(O(n)\) 枚举,\(O(logn)\) 修改查询,对 \(i\) 进行 \(\% ~k\) 分类,对余数相同的 \(i\) 用树状数组维护差分前缀和,模拟移动即可,但是正解是直接差分,个人感觉复杂度有问题。


这场打得真的很蠢,没怎么思考,全在调代码,本来肯定能拿 \(300+\) 进前25,但死掉了。晚上背了背单词

By:2024.09.23

posted @ 2024-09-23 21:36  HCNX  阅读(11)  评论(0)    收藏  举报