随笔分类 -  Codeforces

摘要:E. Iva & Pav 把每一项的数拆分成32位二进制,然后求前i项第j位二进制为1的前缀和,如果区间范围内的1等于区间范围,则是可行的,乘上对应位置的大小,每一位求和判断与k的大小 二分+前缀和 点击查看代码 #include<bits/stdc++.h> using namespace std 阅读全文
posted @ 2023-09-28 11:03 不o凡 阅读(34) 评论(0) 推荐(0)
摘要:根据数据可知,字符串s被分成互不相交的子集,然后在每个子集内根据x的位置经行左右翻转,可知翻转为偶数时恢复原样,所以可以根据差分数组进行求解 点击查看代码 #include<bits/stdc++.h> using namespace std; #define LL long long const 阅读全文
posted @ 2023-09-28 10:59 不o凡 阅读(58) 评论(0) 推荐(0)
摘要:H. Mad City 题意:b能否不被a抓到。 题解:这是基环树,只要b先与a在环上,b就永远也不会被抓到。 所以,此题就是求a,b到环上的距离,如果有一点b到环上的距离小于a,那么就永远也不会被抓到。 比较简单的找环的方式就是利用拓扑排序,然后就是最短路径的模板了(利用简单的bfs或者dfs就行 阅读全文
posted @ 2023-09-22 15:16 不o凡 阅读(125) 评论(0) 推荐(0)
摘要:双指针 创建l,r指针,r满足向右走sum+=a[r],r++,不满足l向右走sum-=a[l],l--; 当l==r使,r向右走 当高度不满足时,重新累计sum=0,l指针直接转向r,r++; 然后取r-l最大的区间 点击查看代码 #include<bits/stdc++.h> using nam 阅读全文
posted @ 2023-09-22 10:45 不o凡 阅读(49) 评论(0) 推荐(0)
摘要:G. ABBC or BACB 贪心 举个例子:BAAAA,BAAAAA,答案是A的总数 注意点:在连续的A中插入B,如:AAABABAA,AAABAA。很明显答案是A的总数减去最小的连续A的个数 点击查看代码 #include<bits/stdc++.h> using namespace std; 阅读全文
posted @ 2023-09-22 09:51 不o凡 阅读(78) 评论(0) 推荐(1)