4.17 CW 模拟赛 赛时记录
前言
干完这一票, 就回家补题, 先不进 \(\rm{USACO}\)
权衡了一下, 补题的时候也戴耳塞, 然后尽可能多的去反思这样
看题
\(\rm{T1}\)
也许是方案数区间 \(\rm{dp}\)
\(\rm{T2}\)
这是数学题吗?
\(\rm{T3}\)
数数领域大神啊
\(\rm{T4}\)
这又是啥啊
这场应该会出现 \(\rm{AK}\) 的, 但是我能打多少就不好说了
实际上这场部分分偏多, 真活不下去了还有一条不掉分的路
顺着开
\(\rm{T1}\)
冷静, 耐心, 放下
不贪跟策略, 数据检验, 关键步记录
思路
还是考虑比较经典的做法
分为以下两种情况讨论
- 单人浇水
- 继承之前的浇水
发现可能并不是区间 \(\rm{dp}\), 因为还有浇水次数的限制, 复杂度不对
考虑找点性质
有点小彻小悟
注意到位置 \(i\) 被浇灌的次数 \(= L_i - R_i\), 其中 \(L_i, R_i\) 分别表示 \(i\) 及之前的左端点个数和右端点个数, 这是显然的
那么根据位置 \(i\) 放一个左端点 / 放一个右端点 / 啥也不放, 可以得到位置 \(i + 1\) 被浇灌的次数 \(\pm 1\) 或者不变
所以问题被转化成了, 找到一个 \(\Delta \in \{-1, 0, 1\}\) 的自然数序列 \(p\), 使得 \(p_i \in [a_i, b_i]\), 其中 \(p_0 = 0\)
求有多少这样的 \(p\)
不难发现一个 \(p\) 唯一对应一个 \(\Delta\) 序列, 也就唯一对应一个左右端点的策略
然后就发现有点假, 因为并没有说一个地方只能有一个左右端点
因此我们可能需要考虑 \(\Delta \in [-m, m]\)?
不太对劲, 先去搞后面的题
希望不会 \(\rm{T1}\) 不会成为最大的败笔
\(\rm{T2}\)
冷静, 耐心, 放下
不贪跟策略, 数据检验, 关键步记录
思路
找到最长的满足要求的区间
要么就是拆区间, 应该需要类似扫描一个端点
首先转化一下对区间的约束
也就是说, 假设对于区间 \([l, r]\) 满足条件, 必定存在 \(m \geq 2\) 使得
显然我们只需要考虑质数 \(m\)
真做不来, \(10^18\) 只能做 \(\log\)
发现 \(\rm{ST}\) 表可以做区间 \(\gcd\), 好像真是 \(\log\) 的
我们可以 \(\mathcal{O} (n \log n \log V)\) 预处理 \(\rm{ST}\) 表, 然后 \(\mathcal{O} (n \log n \log V)\) 去查询最大区间
应该能够拿到 \(70\), 彻底搞不懂 \(100\) 怎么做了, 不能是 \(\mathcal{O} (n)\) \(\rm{ST}\) 表吧, 那太黑科技了
已经比较高档了, 先润
\(\rm{T3}\)
冷静, 耐心, 放下
不贪跟策略, 数据检验, 关键步记录
思路
怎么感觉也是数学题, 这个出题人不太当人啊
不过后两题能拿的部分分拿了好像这场就上分了
可以发现最终的答案
这样 \(\mathcal{O} (qn)\) 做法就出来了
怎么优化?
真不太会吧, \((\)组合\()\)数学能力太差
\(\rm{T4}\)
冷静, 耐心, 放下
不贪跟策略, 数据检验, 关键步记录
思路
\(a_i\) 单调不降可能是个很好的性质, 先看这个
首先显然需要对列进行处理, 不难发现是一个前缀部分涂黑
那么这个部分就很简单了
考虑 \(a_i\) 先单调不降, 再单调不增的情况
这种情况稍微难以讨论一些
我们可以先讨论上下两个部分, 然后观察上下联通的情况就好了
现在先把 \(\textrm{T4, T3, T2}\) 的分打完, 然后冲 \(\rm{T1}\), \(\textrm{T3, T2}\) 好像没啥前途了, 实在不会 \(\textrm{T1}\) 可以看一下
好吧看起来把会的分打完就结束较为合理, 不足之处在于 \(\rm{T1}\) 完全没打好, 但是没时间了
这场好像是 \(\rm{klr}\) 优势场, 大胆猜测他 \(100 + 100 + 100 + 50 = 350\)

浙公网安备 33010602011771号