Codeforces Round 1035 (Div. 2)回顾

A. Add or XOR
这个题比较简单a,b都是小于100的,直接爆搜就好了,15minAC
但是更快的应该是分析操作,+1的作用为+1,^1的作用是偶数+1,奇数-1
根据这个就可以直接模拟出最快操作
B - Line Segments
这个题比较暴力,直接看成多边形,两边(n-1条边)之和大于第三(n)边就行了
40minAC
C - A Good Problem
C题要推算一下性质
首先分析什么情况下异或和等于与,那就是(全奇数个1)或是(偶数个1,有0)
那么显然当n为奇数时候可以全设为l
然后考虑n为偶数,那么一位上肯定是情况2,就是用有偶数个1,由于有n为偶数
所以也有偶数个0,那么肯定(n-2)个l,然后2个刚好大于l且 l的1位上位0
由于字典序最小,所以1位有且仅为l最高位的下一位
再判断一下是不是小于r就行了,这题写代码的时候卡了一下
1小时38分钟AC
D - Token Removing
当时想到要DP,但场上想的是dpi表示到i位的方案数
但是的话,这样是一个操作对多个钥匙,没法判断就没做出来

正解应该是dpi,j表示到第i位,做了j个操作,
这样可以转化为考虑钥匙有那些方案删除,就非常的方便
这就是逆向思维吗《太神奇了》

posted @ 2025-08-20 15:06  S/P/A/  阅读(22)  评论(0)    收藏  举报