Codeforces
文章平均质量分 72
NeverMakeIt
这个作者很懒,什么都没留下…
展开
-
CF1553D. Backspace(正难则反)
传送门题目大意 给定一个字符串S和一个字符串T。可以将S字符串中的任意字符变成退格字符\b,问,能否将字符串变S为T。例如:S=“abcdef”,我们将其中第3个字符变为退格字符,则S=“ab\bdef”=“adef”,如果T为“adef”则输出YES。如果无法变成T字符串则输出NO。解题思路 经过分析可以发现,如果将目标符串中的每个字符看成一个隔板,则原字符串S将被分成strlen(T)+1断,除了第一段,其余段的长度一定为偶数。 这样衍生出了两种方法。第一种从正向考虑,我们可以推导出第一原创 2021-07-23 21:55:19 · 398 阅读 · 1 评论 -
CF1293E Xenon‘s Attack on the Gangs
传送门题目大意 给定一棵树,n−1n-1n−1条边。问如何在边上填数(范围从0到n-1,且每个数仅出现一次)使得SSS 最小S=∑1≤u,v≤nmex(u,,v)S = \sum_{1\leq u,v \leq n}mex(u,,v)S=1≤u,v≤n∑mex(u,,v)其中mex(u,v)mex(u, v)mex(u,v)表示从u到v的路径上最小没出现的自然数。数据范围:2≤n≤30002 \leq n \leq 30002≤n≤3000解题思路 假设我们已经知道填0的边所在的位置(边原创 2021-01-27 16:42:59 · 178 阅读 · 0 评论 -
CF 1400E Clear the Multiset(贪心,分治,DP)
传送门题目大意 给你一个有nnn个元素的集合,第iii个元素有aia_iai个,有两个操作:1.取走值从l到r的元素各一个。2.取走值为i的元素任意x个。问最少执行多少次操作把集合内所有元素取完。解题思路思路一:贪心 最坏O(n2)O(n^2)O(n2),但实际上非常高效 可以发现在对某个区间执行操作1时,一定要反复执行直到该区间中的一个值的个数为0,这样的操作1才是有意义的。因此可以采用分治思想,对于一个区间l,rl, rl,r,要么全用操作2将区间内所有数取走(一共r−l+1r - l原创 2020-08-27 17:49:03 · 193 阅读 · 0 评论 -
CF 1400D Zigzags(枚举,前缀和优化)
传送门题目大意: 给定一个序列aaa,找四个数满足下标1≤i<j<k<l≤n1 \leq i < j < k < l \leq n1≤i<j<k<l≤n并且ai=aka_i = a_kai=ak, aj=ala_j = a_laj=al,问有多少对这样的(i,j,k,l)(i, j, k, l)(i,j,k,l)。解题思路 设sum[i][x][y]sum[i][x][y]sum[i][x][y] 表示存在多少对(k,l)(k, l)原创 2020-08-27 12:32:48 · 243 阅读 · 0 评论 -
CF 1105E Helping Hiasat(无向图最大团)
传送门题目大意Hiaset有一个handle,如果来访问的朋友的名字和handle一样朋友将会很开心。Hiaset 知道朋友在何时访问以及访问人的姓名,和他何时可以改变他的handle。问他最多可以使多少个朋友开心。解题思路 我们发现,在一个可以改handle的时间之后,连续访问的朋友中,我们只能让其中的一个朋友开心,也就是说在连续访问的朋友中有一个开心其他必定不开心。这样我们可以在连续访问的朋友间相互连边,这样问题转化成,如果选择某个点那么所有与它相邻的点都不能选,问最多选多少个点。没错这就是无原创 2020-08-26 20:45:46 · 160 阅读 · 0 评论 -
CF 1401E Divide Square(扫描线,树状数组)
传送门题目大意 在平面直角坐标系中,区域{(x,y)∣0≤x≤1e6,0≤y≤1e6}\{(x, y)|0 \leq x \leq 1e6, 0 \leq y\leq 1e6\}{(x,y)∣0≤x≤1e6,0≤y≤1e6}中,有n条水平的线段和m条竖直的线段,保证这些线段的某个端点一定在该区域的边界上并且同向线段之间没有重合的部分,问这些线段能将这个区域分为多少个部分。解题思路 首先我们应当发现如果存在一条水平线段与竖直线段相交,那么这两条线段一定能够划分出一个新区域(可以通过剪纸形象的理解一原创 2020-08-22 19:12:38 · 502 阅读 · 0 评论 -
CF 1366F Jog Around The Graph(贪心,DP)
题目描述题目链接 题目大意是给你一个n个点m条边的无向图,从一号点出发,走i条边,找出满足这个条件的路径的最长的长度,记为lil_ili。然后求出l1,l2,⋯ ,lpl_1,l_2,\cdots,l_pl1,l2,⋯,lp之和,答案对109+710^9 + 7109+7取模。注意每条边都可以重复走。数据范围2≤n≤20002 \leq n\leq 20002≤n≤2000n−1≤m≤2000n - 1 \leq m \leq 2000n−1≤m≤2000m≤q≤109m\leq q原创 2020-06-13 22:41:39 · 790 阅读 · 0 评论 -
CF 1398E Two Types of Spells(set,贪心)
CF 1398E Two Types of Spells(set,贪心)传送门题目大意 有两种技能“电”和“火”,每种技能都有一个伤害值d,同时技能“电”可以使下一个使用的技能的伤害值提高一倍。每次你都会学习一个技能或者遗忘一个技能,问每次通过合理安排技能使用顺序能够造成最大伤害值是多少 。解题思路 首先考虑如何安排顺序使伤害值最大化,我们可以考虑将技能火按伤害值排序,然后将技能电按照从大到小的顺序插入技能火中。第一个插入的技能电一定会放在伤害值最大的技能火前面,然后用这个电的伤害替代后面火的原创 2020-08-16 18:28:23 · 197 阅读 · 0 评论