摘要: 首先有一些性质。因为保证有解,所以 \(a_i\) 一定都是 \(2\) 的倍数(必须一来一回)。并且总的步数应该为 \(\sum a_i\)。 先考虑 \(n \le 2\) 的情况,这时我们可以分情况讨论。因为每一条线段都会被来回走两次,所以我们可以先把每一个数都除以 \(2\)。 若 \(a 阅读全文
posted @ 2024-01-17 09:18 Creeper_l 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 一次操作相当于把 \(a\) 异或上 \(b\),修改开关的一位相当于将这一位异或上 \(1\)。 会发现一个很神奇的性质:初始开关对灯的影响和改变开关状态对灯的影响是独立的。而前者的影响是固定的,所以我们可以只考虑改变开关状态对灯的影响。假设一共需要 \(k\) 次操作能使所有灯关闭,如果我们在第 阅读全文
posted @ 2024-01-17 09:17 Creeper_l 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 可以把从每个字符开始的操作过程看成是一棵树,对于每一个字符我们都维护一颗树(表示从这个字符开始操作的过程)。因为后面的操作会覆盖掉前面的,所以我们考虑从最后面的操作开始往上建树。首先 \(a-z\) 都指向自己(因为自己如果不变的话值还是自己),对于每一次操作 \((x,s)\)。我们可以依次合并 阅读全文
posted @ 2024-01-17 09:17 Creeper_l 阅读(8) 评论(0) 推荐(0) 编辑