Codeforces
文章平均质量分 60
对方正在debug
gzh: 对方正在debug
展开
-
C. Ice and Fire(贪心/思维)
/原创 2022-12-19 23:25:28 · 929 阅读 · 1 评论 -
D. Count GCD(数论/gcd/素数筛/容斥)
/原创 2022-11-08 22:43:27 · 838 阅读 · 2 评论 -
D. Yet Another Problem(异或/位运算/二分)
/原创 2022-11-07 22:29:35 · 543 阅读 · 1 评论 -
C. Swap Game(简单博弈)
/原创 2022-11-07 09:30:00 · 654 阅读 · 0 评论 -
F. Conditional Mix(数论/dp)
。原创 2022-11-04 22:56:58 · 656 阅读 · 0 评论 -
D. Knowledge Cards(思维/模拟/优先队列)
/原创 2022-11-01 09:30:00 · 959 阅读 · 0 评论 -
E. Hanging Hearts(树形dp)
/原创 2022-11-01 09:30:00 · 414 阅读 · 0 评论 -
B. Jumbo Extra Cheese 2(贪心)
。原创 2022-10-30 11:41:48 · 575 阅读 · 0 评论 -
D2. Balance (Hard version)(数论/模拟/set)
。原创 2022-10-30 10:59:58 · 355 阅读 · 0 评论 -
D1. Balance (Easy version)(暴力/思维)
.原创 2022-10-27 22:47:32 · 528 阅读 · 0 评论 -
C. Sheikh (Easy/Hard Version)(前缀和/双指针/二分)
。原创 2022-10-27 22:23:33 · 780 阅读 · 0 评论 -
F. The Beach(图论/最短路)
.原创 2022-10-26 20:28:44 · 428 阅读 · 0 评论 -
D. Factorial Divisibility(数论/贪心/计数)
.原创 2022-10-25 22:30:06 · 677 阅读 · 0 评论 -
E. Wish I Knew How to Sort(数论/概率dp)
.原创 2022-10-26 09:15:00 · 160 阅读 · 0 评论 -
C. Make Nonzero Sum (easy version/hard version)(贪心)
。原创 2022-10-25 09:30:00 · 738 阅读 · 0 评论 -
B. Death‘s Blessing(简单贪心)
。原创 2022-10-21 08:03:17 · 491 阅读 · 0 评论 -
C2. Good Subarrays (Hard Version)(双指针/前缀和/组合数学)
。原创 2022-10-14 09:30:00 · 466 阅读 · 0 评论 -
C1 - Good Subarrays (Easy Version)(双指针)
。原创 2022-10-11 22:06:56 · 440 阅读 · 0 评论 -
D. Ela and the Wiring Wizard(最短路径/floyd)
题目参考题意给定一个带权无向图,n个点,m条带权无向边。要从点1走到点n。走之前,可以执行以下操作对于连接点u,v,边权为w的边,可以将它从点u移除,并连接到任意一个与v相邻的点(点v也可以与自己相连)。但需要花费的时间为w单位。可以执行以上操作任意次。问,执行了上述若干次操作后,从点1走到点n,需要的最短时间是多少(包括修改边时花费的时间)。思路定理1:点1到点n的最短路径,经过的边,边权一定相同。反证法:如果点1到点n的最短路径,存在两条相邻的边,边权不同,w1,w2,不失一般性,原创 2022-10-10 22:48:35 · 495 阅读 · 0 评论 -
D. Reset K Edges(dfs/bfs/二分/贪心)
.原创 2022-10-07 16:24:00 · 324 阅读 · 0 评论 -
E. Cleaning Robot(dp)
.原创 2022-10-07 16:23:24 · 268 阅读 · 0 评论 -
D. Prefixes and Suffixes(字符串/思维/回文串)
题目参考题意给定2个长度为n的字符串s1,s2。给定操作:选择整数k<=n将字符串s1的前k个元素,和字符串s2的后k个元素,做交换。比如n=5, k=2,则s1[1,2], s2[4,5] = s2[4,5], s1[1,2]可以执行上述操作任意次,问最终,s1和s2能否相等。相等输出YES,否则输出NO思路我们观察发现,字符串s1的第i个元素和字符串s2的倒数第i个元素,1<=i<=n,我们发现,这2个元素的相对位置都保持不变。因为每次交换,s1的第i个元素(i&原创 2022-10-06 22:44:35 · 683 阅读 · 0 评论 -
D. Permutation Addicts(图论/bfs)
题目参考题意给定长度为n的数组a和整数k,0<=k<=n。根据以下规则计算数组b对于1<=i<=n,令x=a[i]如果x<=k,令b[x]为最后一个元素a[j] (1<=j<i) ,使得a[j]>k,如果不存在该a[j],则令b[x]=n+1;如果x>k,令b[x]为最后一个元素a[j] (1<=j<i),使得a[j]<=k,如果不存在该a[j],则令b[x]=0。现在已知b数组,求k和a数组。如果有多个a满足题意,输出任原创 2022-10-06 22:44:07 · 578 阅读 · 0 评论 -
C. Phase Shift(模拟/链表)
。原创 2022-10-04 23:02:34 · 460 阅读 · 0 评论 -
B. Meeting on the Line(模拟/二分/思维)
。原创 2022-10-04 22:59:25 · 709 阅读 · 0 评论 -
C. Minimum Notation(简单思维/单调栈/逆序对/归并排序)
题目题意给定一个数字字符串,给定操作每次操作,可以选择任意一个位置上的字符d,将该字符更新为d=min(d+1,‘9’),并将它移动到任意位置:可以移到任意两个字符中间,也可以移到最前面和最后面。问经过任意次上述操作,能得到的最小字典序的数字字符串是多少。常规思路对于逆序对i<j,s[i] > s[j]为了字符串字典序更小,需要将第i位和第j位交换。可以选择移动i,也可以选择移动j,由于移动时,对应的字符会加1,我们选择牺牲更大的i,来保全j。贪心策略,对于每个存在逆序对原创 2022-09-27 08:46:35 · 498 阅读 · 0 评论 -
D. Slime Escape(贪心/前缀和/模拟)
.原创 2022-09-25 11:36:04 · 899 阅读 · 0 评论 -
C. Parity Shuffle Sorting(思维/贪心)
题目题意给定一个数组,选择操作下标l,r,如果它们和为偶数,则令a[l]=a[r];如果它们和为奇数,则令a[r]=a[l];现给定一个数组,问如何构造,使得最终数组为非递减。即a[1]<=a[2]<=…<=a[n]要求操作次数不超过n思路可以把它们变成全部相同的元素。统计 同奇偶性 的数据块。让最后一个奇数位置上的数据块,做为汇总点。将前面的奇数块,都朝它汇总将偶数位置上的数据块,朝与它左边相邻的奇数位置的数据块汇总代码#include<bi原创 2022-09-24 07:43:48 · 294 阅读 · 0 评论 -
B. Rule of League(思维)
.原创 2022-09-20 21:24:43 · 278 阅读 · 0 评论 -
L. Lemper Cooking Competition(前缀和/逆序对/树状数组/归并排序)
题目参考题意给定一个长度为n的整数数组a。每次可以做如下操作。选择下标i, 1 < i < n令a[i-1] += a[i];a[i+1] += a[i]; a[i] = -a[i]。问最少需要多少次操作,才能使数组a所有元素都非负。如果不能做到,则输出-1。思路a[i] = -a[i],实际上等价于a[i] -= 2*a[i]。令pre[i] = a[1] + a[2] + … + a[i]。如果我们操作了下标x,那么对于i <= x-2,pre的值不受影响。对于原创 2022-09-17 17:15:08 · 299 阅读 · 0 评论 -
M. Moving Both Hands(图论/最短路径/dijkstra)
题目题意给定一个有向图,有n个点,m条带权边现有n-1个查询,对于点2<=i<=n从点1和点i出发,每次移动一个点,两者重合则停止,问点1和点i相遇,需要的最短路径。思路原题等价于,从点1出发,到达点i,中间可以选择一个点x,并从点x开始,走反向边。求min(dist[i][x] + rev_dist[x][i])最短路径变形,dijkstra的基础上,计算从1到点i的最短距离时,添加一个方向,用于扭转反向。注意开long long代码#include<bits/st原创 2022-09-14 09:25:06 · 370 阅读 · 2 评论 -
G. Garage(数论/规律)
题目题意定义奇妙数x 为,存在两个正整数b>a,x = b * b - a * a求第n个奇妙数,1<=n<=1e9思路b * b - a * a = (b+a) * (b-a)当b,a奇偶性不同时,b+a,b-a都是奇数,所以(b+a) * (b-a)是奇数。我们发现,所有奇数,除了1,都是奇妙数。当b,a奇偶性相同时,b+a,b-a都是偶数,所以(b+a) * (b-a)是4的倍数,我们发现,所有4的倍数,除了4,都是奇妙数。代码#include<bits/原创 2022-09-13 08:47:29 · 452 阅读 · 0 评论 -
H - Hot Black Hot White(数论/取模运算)
题目题意给定n个整数ai,定义H(ai,aj)的值为H(ai,aj) = concat(ai,aj) * cancat(aj,ai) + ai*aj(mod 3)其中concat(ai,aj)表示两个数的拼接,如concat(23,14)=2314,而concat(14,23)=1423。现要求将这n个数平均分成2组,使得不同组之间的任意两个元素,它们的H值取值不能为Z。Z可以自己定义,可以为0,1,或2。思路concat(ai,aj)=ai∗10k+ajconcat(ai,aj) = ai原创 2022-09-13 08:46:58 · 257 阅读 · 0 评论 -
D. Edge Split(dfs/图论)
。原创 2022-09-12 10:51:33 · 420 阅读 · 0 评论 -
E. Red-Black Pepper(数论/扩展欧几里得)
。原创 2022-09-12 10:51:28 · 344 阅读 · 0 评论 -
C. Digital Logarithm(贪心/优队)
。原创 2022-09-11 16:52:33 · 533 阅读 · 0 评论 -
D. Letter Picking (博弈/区间dp)
。原创 2022-09-11 16:52:11 · 680 阅读 · 1 评论 -
E - Madoka and The Best University(数论/欧拉函数)
.原创 2022-09-04 09:54:33 · 295 阅读 · 0 评论 -
B. Deadly Laser(贪心)
题目题意给定二维方阵。要从(1,1)走到(n,m)方阵中有一个辐射源,距离辐射源的欧几里得距离为d的位置都不能走。问从(1,1)走到(n,m)最少需要多少步。如果不可达,输出-1。思路只需要判断 右下、下右这两条是否可通。如果不可通,无解。如果可通,解为n+m-2。代码#include<bits/stdc++.h>using namespace std;const int maxn = 200010;int n, m;int sx, sy, d;void sol原创 2022-08-30 08:41:34 · 299 阅读 · 0 评论 -
C. Min-Max Array Transformation(二分/贪心)
题目题意给定长度为n的非递减数组a,1<=a[i]<=1e9, a[i]<=a[i+1]定义数组b,b[i]=a[i]+d[i], 0<=d[i]现给定数组a,b。求d数组在每个位置能取到的最大、最小值。每个位置的最大值、最小值,不同位置的最大值、最小值都是相互独立的,即它们可以对应不同的d数组。题目输入保证有解。即至少存在一组d,使得b[i]=a[i]+d[i], 0<=d[i]思路对于最小值,则直接取b数组中第一个大于等于a[i]的即可。对于最大值,考虑原创 2022-08-30 08:41:03 · 562 阅读 · 3 评论