感冒咳嗽,头实在是太晕了,打完前两题和后两题的暴力之后跑去睡了会觉。结果考得还行。
一句话题解
A – 破坏
简单的 DP。记录每个节点的路径数奇偶性考虑是否翻转即可。
B – 共识
用 std::bitset
写的暴力大家都会。不过如果你胆子大些,不判断是否为部分分数据范围直接提交(加入随机化的)暴力,将喜提 。
命题:现有一个由 个元素构成的集合,保证 。有 个大小恰为 的子集 。则至少存在 对无序对 ,使得 。
证明(引自宋佳兴学长):记元素 在所有子集中出现的次数为 。则显然有“所有子集两两之交的大小”
考虑计算该式最小为何。不妨先考虑 在何时取最小值。
引理: 在 处取最小值。
恕我语文不好,实在不晓得用何种词汇来描述看到下文的感受:
此比赛为正常的提高组难度,
甚至可以用来作为普及组模拟赛。 请选手 AK 后不要大声喧哗,以免影响他人 AK。
尤其是这套题的出题人是张隽铠的情况下。当然,OI 圈风气本就如此,我也不好过多评价。No comment.
T1 还算顺利,半小时左右搞定。T2 是大分类讨论,足够恶心人,但好在有相当可观的可以通过暴力与观察拿到的部分分。T3 猜测与线性基相关,但没有相应知识储备,暴力跑路。
T4 就……反正出题人开心就好。到现在都没人改出来。
一句话题解
A – 序列
依次往某个子序列中添加元素。则添加的元素必然成为新的最大值/最小值之一,否则违背题意。
于是枚举子序列首元素,将以其开头的严格上升子序列数与严格下降子序列数相乘即可。使用树状数组转移即可。复杂度 。 (更多…)
签到题看了半个小时;T2 没有考虑到只需要包含最优解即可,非要确定另一多余状态,只拿了部分分。
T3 只会考虑 “ 的公共祖先中含有 的概率”,不会高效计算“当二者的 恰为 时”的期望/概率与总长之和的乘积,仍然只有暴力分。
T4 无思路。
一句话(?)题解
A – 签到题
可以简单用归纳法证明,仅有所有管道中通行时间最大的会阻塞进度,是为两数据包到达终点的时间间隔。算出首个数据包到达的时间再将前者相加即可。
B – 简单题
第一反应是类似笛卡尔树一样,在区间上依次合并区域最大值并计算贡献。 似乎也在暗示这是一个区间 DP。
做法
设 表示“考虑完成区间 内所有贡献,且最大值恰好为 ”的最大权值和。转移时从小到大枚举最大值 ,枚举包含它的区间,尝试转移 ,其中 计算 ,可以由二维前缀和实现。稍加演算会发现,这样转移不会重复计算贡献。时间复杂度 。 (更多…)
题意
组数据。给定 ,求取
部分分——观察性质
当 时,是为一般类欧几里得算法的模板。上述链接亦给出了 时的解法。
当 时,该式退化为 ,即 次的等幂求和。有一个模糊的结论:
设 为正整数。则 次的等幂求和,,是一个关于 的 次多项式。
该结论来源于 zyw 学姐多项式专题所选题目 BZOJ 3453 – tyvj 1858 XLkxc。之所以说模糊,是因为该多项式的系数是已知的。不过我们仍然可以暴力计算 个点以插值。
再观察 OI-Wiki 上对于 时的解法。在求取 时采取了如下转化:
这样一来,由于 是一个线性算子,在 时都有 向总和贡献,于是我们可以应用类似于 时的方法转化贡献。这个过程对 作了降次。
那么,对于更高次项,有无办法采取同样的办法转化呢?是否可以设计一些转化,使得要求取的函数 能够由 推出呢? (更多…)
策略和思维活跃度都极其糟糕的一个上午。
那么“在能力不足以保证完成更多正解”的情况下获取尽可能多的暴力分从而提高总分下限,又被重新提上议程。切记切记。
思维广度待进一步提升。
一句话题解
A – 道路
发现了是平面图,想到了数据结构与区间可达性,就是没把俩概念结合起来。
由题目保证的“两边不交”性质,可以发现,若不考虑无法从任何一个左侧点到达的右侧点,如有 均可从 达,则若有 ,则其必然亦可达。
缩点后拓扑排序求出每个连通块能到达的右侧点 坐标区间即可。复杂度 。
B – 地震后的H市
联想到了 HDU “杭电杯”超级联赛(3) Spanning Tree Game 钦定最小生成树,按边权从小到大依次加边的动规方法。
可惜这是最小瓶颈生成树。
解一(刘晟林)
AtCoder Regular Contest 148 D – mod M Game
鲁莽的尝试?
一个非常显然的 Bob 的必胜局面是:对于任意 ,在这 个数中的出现次数均为偶数。由此 Bob 可以选择与 Alice 上一轮选的相同的数而获胜。
那……其他局面就一定是 Alice 必胜么?
我们只依靠该结论交一份代码。不出意料,没有通过。不过它只错了两成的测点!看来大体方向是正确的。