CF1600~1700

1731C

\(a\) 的质因子为奇数个,当且仅当 \(a\) 是平方数。

我们考虑如何处理出有多少段的异或和为平方数。

枚举平方数 \(p\),枚举左端点 \(l\),问题就变成了有多少 \(r\) 使得 \(\oplus_l^ra_i=p\),处理出异或前缀和 \(s_i=\oplus_1^ia_i\),查询有多少 \(r\) 使得 \(s_r\oplus s_{l-1}=p\) 即可。变形成 \(s_r=p\oplus s_{l-1}\),这个东西可以递推处理出来。时间复杂度 \(O(n\sqrt{n})\),注意数组开大一点,多处理一点平方数。

code

1730B

考虑二分代价 \(k\)\(k\ge\max t_i\)

显然每个点的代价不能超过 \(k\)。将绝对值拆开得到:

\[-k+t_i+x_i\le x_0\le k-t_i+x_i \]

对于 \(n\) 组不等式求解集即可。二分过程中记录一下答案。

卡了一会,一开始没想到暴力求解集就行。

时间复杂度 \(O(n\log n)\)

code

1971F

这场打过,场切了。

没啥训练价值,不写题解了。

code

1970C2

特殊版本:\(t=1\) 且是一棵树。

简单博弈论。设从 \(s\) 开始游戏,将图变成一棵以 \(s\) 为根的树,显然,叶子是必败的。

对于其它点:

  • 若它的所有儿子都是必胜的,它是必败的。

  • 否则,它是必胜的。

CF 炸了,在 vjudge 上交的。

code

posted @ 2024-05-18 11:18  BYR_KKK  阅读(11)  评论(0编辑  收藏  举报