
codeforces比赛
dy小坚果
这个作者很懒,什么都没留下…
展开
-
Codeforces Round 933 (Div. 3)
用 set 记录所有可能的位置,顺时针就是:(i + r - 1) % n + 1,逆时针就是:(i - r + n - 1) % n + 1。每次根据 ai 迭代 ai+1 和 ai+2。如果有字符 p 就把他替换掉。原创 2024-04-06 11:06:57 · 345 阅读 · 0 评论 -
Codeforces Round 937 (Div. 4)
因为最多只能有一个字符不同,那么每个长度的区间只需要枚举连续的两段,判断即可。指数型枚举每一位是 0 还剩 1,然后除掉这个数,再继续搜索。原创 2024-03-29 11:29:29 · 539 阅读 · 0 评论 -
Educational Codeforces Round 163 (Rated for Div. 2)
i - j| + |ai - aj| <= k,让下标差大的点权差小,从左到右每 k 个进行这样构造,不足 k 个就按剩下的个数进行构造。3.如果拆开,代表当前数大于前一个数,此时拆开要满足几点要求:后面的个位数不大于前一个数,前面的个位数不大于后一个个位数。区间长度是独立的,从大到小枚举区间长度,如果找到了直接退出。1.数字最多两位,所以数字的拆解方案惟一。2.数字拆开一定变小,所以最后一个数不拆。原创 2024-03-28 17:19:57 · 470 阅读 · 0 评论 -
Codeforces Round 934 (Div. 2)
如果这个数在数组中出现了两次或以上的次数,那么bob必然无法阻止Alice选中(因为bob选一次后Alice就可以选这个数),所以bob应该首选最小的且数组中只有一个的数,但是为Alice先选,换个角度也就是说Alice可以“救”一个数,所以最小值应为数组中只有一个且第二小的数。(当然如果存在一个数没有出现且比上面得到的数小,那么最小应为没出现的数)再考虑下两边的某两个不等的数调换位置,那么两边会出现对子,对子XOR为0,其他数仍旧一致,那全部XOR结果依旧相等;原创 2024-03-27 04:19:59 · 327 阅读 · 0 评论 -
Codeforces Round 935 (Div. 3)
先预处理 1 个数前缀和,如果左边 0 和 右边 1 都大于等于 一半,那就取离中点最近的点。先求 m 后最小的值,然后求 a[i] + b[i + 1] 的最小值,b 为后缀和数组。先看看这个求的值在不在二分边界处,如果在就不用交换,如果不在,那就交换到边界处。原创 2024-03-26 21:50:53 · 331 阅读 · 0 评论 -
Codeforces Round 936 (Div. 2)
二分每个区间顶点个数,求最大的顶点数,即 k 尽可能小。原创 2024-03-26 21:49:58 · 332 阅读 · 0 评论 -
Codeforces Round 928 (Div. 4)
分别统计 A 和 B 的个数,输出个数多的。原创 2024-02-21 00:17:19 · 822 阅读 · 0 评论 -
Codeforces Round 926 (Div. 2)
最大值减去最小值。原创 2024-02-16 13:20:15 · 346 阅读 · 0 评论 -
Codeforces Round 925 (Div. 3)
每次枚举每一位。原创 2024-02-15 17:00:17 · 638 阅读 · 0 评论