@dxbdly
2023-07-12T02:14:08.000000Z
字数 1182
阅读 254
2023暑杭州集训
SDOI2011套题
| A | B | C | Sum | Rank |
|---|---|---|---|---|
| 30 | 100 | 0 | 130 | 5 |
各种原因,考试时间 3.5h -> 2.5h,无所谓,少罚会坐(
开题:
A 博弈论,大概率不会,但可做
B 树上问题,感觉很好做
C 数据范围很小,奇奇怪怪的题,感觉很不可做(
想约 10min ,只会 ,扔了
开 ,很快发现二分后是个我很熟悉的DP,稍微编一编细节,直接开冲。
开考约 min, 切了,重新想
想了不知道多久,中间还看错了几遍题,还是不会,听到别人说有个啥结论,笑死根本不会博弈,写完 直接扔
想 ,冲部分分,没冲出来,下班(
我们发现,如果相邻的黑白棋子两两撞在一起,那么此时为必输态。
并且显然所有必输态都可走到这个状态,则我们发现,胜负只与相邻的黑白棋之间的间隙有关,每次操作就是在减少间距。
题目可转化为一个 游戏,将相邻的黑白棋看成一堆石子,石子数为其间距,每次可选 至 堆石子拿走任意多的石子,不能操作者负。
游戏的结论:将所有石子转为二进制,将其每位二进制位求和,若存在某位的和 模 不为 ,则必胜。
这让没看过的人怎么猜(,不会博弈论。
博弈部分解决,剩下数数部分。
显然必败态比较好求(每一位均为 倍数),直接做数位DP,设 为已填完 位,用了 个石子。
枚举当前位填了 个 ,则带来的贡献为
最后每个 贡献到答案里都要乘一个构造石子堆的组合
数数部分比较简单,发现自己根本不会博弈论!!!
好像做法跟大家不太一样。
先记没想到的直径做法。
可以发现枢纽一定在直径上, 那么在直径上枚举起点,找最远的点做终点即可。
不会直径!!!
但有个不需要观察性质的 navie 做法,我们考虑二分答案,那么问题转变为已知其他点到枢纽的最大值 ,要求最小的枢纽长度 check 其是否小于
那么是个十分典的树形DP。
考虑 表示 以 为根的子树, 表示 为枢纽的中转点(即枢纽完全在子树内), 表示 为枢纽的当前端点(即枢纽可往上延伸)。
我们预处理 表示子树内的点到 的最远距离, 表示子树 之外的点到 的最远距离。
配合转移即可,比较容易,不赘述。
是不是点到路径的最长距离,或树上的最长距离,基本可以考虑直径,虽然结论可能抽象。
插头DP,不会,咕(((