codeforce edu日常训练
文章平均质量分 76
edu
Rabbit0722
这个作者很懒,什么都没留下…
展开
-
Educational Codeforces Round 7 C---E
给定长度为n的数组,给定m个查询,求[l, r]中不等于x的其中一个下标。赛时认为维护[l,r]区间最大值和最小值及其所在下标就已经可行。 直接上ST表了。实际上还有一种比较简单解法。假设a[l] != x,那么直接输出l就好了。否则,找到右边第一个和a[l]不相等的下标即可。(可双指针预处理实现)D. Optimal Number Permutation题意:[1, n]中每个数都会出现两次,求S=∑i=1n(n−i)∗abs(y[i]−x[i]+i−n)S = \sum_{i = 1} ^原创 2022-06-27 11:01:43 · 140 阅读 · 0 评论 -
Educational Codeforces Round 6 A---E
本场前三题较为简单。D题涉及到了推公式+二分E题dfs序+线段树B. Grandfather Dovlet’s calculatorC. Pearls in a RowD. Professor GukiZ and Two Arrays题意:给定两个数组A,B,问最多经过两次交换AB数组中任意元素,使得的差值要尽量小并输出具体方案。一开始没有想到分类讨论。感觉是DP。但是DP了半天,没有de出来。赛后发现是分类讨论。想想的确也对。毕竟要求最多经过两次交换。!!!!数据范围提示非常明显啊原创 2022-06-23 22:38:53 · 143 阅读 · 0 评论 -
Educational Codeforces Round 5 A---E
场上VP的时候一定要想清楚,再敲代码!!!debug很搞心态的。实际上这场整体来说较为简单。C题BFS,D题双指针,E题整除分块。B. Dinner with EmmaC. The Labyrinth题意:给定n * m的矩阵,求每个*点能遇到多少白点。非常明显可以预处理所有白点所在的连通块。然后对于每个*点,只要四个方向上遇到白点且互不在同一个连通块就可作为贡献。(不在同一连通块可对每个连通块进行标号)在bfs搜四个方向的其他点时,要先检查坐标是否合法,因为 && 操纵从左到右进行的,一直原创 2022-06-22 22:47:43 · 106 阅读 · 0 评论 -
Educational Codeforces Round 3 A---E
本场涉及到了二分及LCA。A–C都比较简单。B. The Best GiftC. Load BalancingD. Gadgets for dollars and pounds题意:给定n天的美元及英镑兑换率问最少多少天才能买够m件商品。比较明显的二分。直接二分天数就可以。E. Minimum spanning tree for each edge题意:求每条边所对应的最小生成树的权值。最开始看这道题无从下手。但是想一想,n个顶点及n - 1条边才能构成最小生成树。生成树定义:删掉其中原创 2022-06-21 10:19:06 · 132 阅读 · 0 评论 -
Educational Codeforces Round 2 A---F
总结A. Extract Numbers题意:题意比较难懂的小模拟,给定一个字符串,单词用’‘,’’ ‘’;"隔开,如果全为不含前导0的数字放入一一行,否则放入第二行char str[maxn];vector <string> ans1, ans2;void check(int l, int r){ bool flog = true; string temp; for(int i = l + 1 ; i <= r - 1 ; i ++) { temp += str[原创 2022-05-28 19:58:51 · 233 阅读 · 0 评论 -
Educational Codeforces Round 1 A---E
Educational Codeforces Round 1A. Tricky Sum题意:求1–n所有数字之和,仅有2的幂次方的数字为负数。int main(){ int T; scanf("%d", &T); while(T --) { ll n; scanf("%lld", &n); ll sum = n * (1ll + n) / 2; ll temp = 1; while(1) { if(temp <= n) sum -=原创 2022-05-26 21:28:17 · 326 阅读 · 0 评论