Loading

2025 杭电暑期多校训练

第一场

1001 博弈

每个房间的先手并不一定追求在该房间获胜,所以考虑 anti-nim,也就是拿到最后一个石子的必败。

anti-nim 的结论是:若全部元素均为 \(1\),偶数个 \(1\) 必败,奇数个 \(1\) 必胜;若存在大于 \(1\) 的堆,则异或和为 \(0\) 时必败,否则必胜。

先不考虑全为 \(1\) 的情况,发现如果异或和不为 \(0\),先手可以控制自己下回合是先手还是后手,于是也就必胜了。否则,先手既不能控制获胜也不能控制失败,故先手必败。

接下来考虑全是 \(1\) 的情况,发现根据 \(1\) 的奇偶性,会改变先后手的顺序。于是枚举前缀中 \(1\) 的数量,即可判断要使先手必胜,下一个位置应该放哪种房间,然后接下来的部分就随便排。最后再把不会影响先后手顺序的全 \(1\) 房间插回去即可。

注意特判房间全为全 \(1\) 房间的情况。

1002 夜世界

先考虑没有回溯的情况,没经过一个金矿,可以获得 \(a_i-b_i\) 的金币,也就是 \(sum=\max(0,sum+a_i-b_i)\)。假设我对于每个段,预处理出以 \(0\) 的金币进入,会以多少金币离开。那么就只用考虑第一变成 \(0\) 金币的位置,大概就是二分找到前缀最小值的位置,在线段树上二分复杂度可以做到 \(O(n\log^2n)\)。回溯的话大概可以可持久化。


注意到本题可以离线,修改操作也是可逆操作,所以回溯的部分可以写成一个树形结构。在树上递归去做。

刚刚那个单侧递归的做法也不太对,这类问题貌似有个更简单的想法。

1003 奸商

第四场

1001 电子带负电

简单题。

1003 戴什维尔

\(1\) 为根,不妨设 \(u_i\) 的比 \(v_i\) 更深。然后将 \(x_i,y_i\) 都变成较大的部分,也就是现在只用考虑子树中出现次数较多的那种颜色。

1005 美好的梦境(一)

1007 咖啡的罪恶

先考虑不带修的情况。对于每个区间的左端点,可以求出需要的 \(0\) 的个数,也就确定了右端点的范围。

然后考虑 \(\epsilon\),设其应该出现 \(x\) 次,若 \(x>0\),则至少有一个位置,\(a_{\delta+i}=\epsilon\),若 \(i\ne \epsilon\),则 \(i\) 出现了 \(\epsilon\) 次,又还有 \(0,\epsilon\),故只有 \(i=0\),即数列形如 \(\epsilon,0,0,\dots,0,1\)。而此时 \(1\) 又出现了一次,矛盾。若 \(i=\epsilon\),一定有 \(\epsilon=1\),即数列形如 \(0,1\),而 \(0\) 又出现了一次,矛盾。

综上所述 \(x=0\),也即左右端点是确定的,此时只需判断是否合法。显然啊,合法的序列很少。

合法序列只有以下几种:

\(\text{2 0 2 0}\)
\(\text{1 2 1 0}\)
\(\text{2 1 2 0 0}\)
\(\text{n-4 2 1 0 0 ... 0 1 0 0 0}\)

现在考虑修改:对于前三种,可以暴力枚举维护修改,只需要解决最后一种。对于最后一种,一定有 \(n\ge 7\),所以不同的段应该是不交的,也可以维护。

1012 海上的太阳

容易发现这个多项式是一个下凸函数。暴力枚举公司顺序,肯定是种在能放的最靠前的地方,这个部分可以使用计算几何和二分求解。然后 \(dis_i=\int_{0}^{x}\sqrt{f'(x)^2+1}dx\),用数值积分的方法计算。

时间复杂度 \(O(n!(n\log V+m\log V))\)

posted @ 2025-09-10 08:16  Semsue  阅读(26)  评论(0)    收藏  举报
Title