贪心
timidcatt
永远不要放弃战斗
展开
-
Did We Get Everything Covered? Codeforces Round 921 (Div. 2) 1925C
因为每个合法段中可能夹杂着其他的字母,比如k=3时aabbcc是一个合法段,那么要排除多余字母的影响,就应该选取这个合法段中最后一个字母加入到反例中。当n等于2时,k个字母各出现一次后,所有字母还要再出现一次,所以最短的合法字符串就是前后各一个合法段拼在一起,每个合法段内部的字母顺序不影响。同理,n等于几就要有几个合法段。那么我们可以尝试在s中找合法段,每当k个字母都至少出现一次就是一个合法段,如果找到了n个合法段,就是YES,否则就是NO,然后考虑怎么找反例。1原创 2024-01-28 16:28:14 · 823 阅读 · 0 评论 -
A Balanced Problemset? Codeforces Round 921 (Div. 2) 1925B
思路:我们设n个数的公因数是y,那么这n个数都应该是y的倍数,也就是y*n应该=n的最大的因数即可。题目大意:给出一个整数x,要求将x分成n份,使得所有份的最大公因数最大,求这个最大的最大公因数。原创 2024-01-28 15:39:50 · 591 阅读 · 0 评论 -
Add, Divide and Floor Educational Codeforces Round 158 (Rated for Div. 2) C
思路:因为要让所有数都一样,那肯定让所有数都变成原数组中的数能使操作次数最少,那么我们不妨让所有数都变成数组中的最小数,这样我们就要让每次操作的x,这样对于每个数,它的操作次数就是log2(a[i]-x),所以我们先找到最小值,然后每遍历一个数,就求出它需要变成最小值的操作次数即可。题目大意:有一个长度为n的数组a,每次操作可以选择一个数x,对于所有的i属于1到n,令a[i]=(a[i]+x)/2,要求令所有数都相等,问需要的最小操作次数是多少。原创 2023-12-15 16:50:13 · 458 阅读 · 0 评论 -
Chip and Ribbon Educational Codeforces Round 158 (Rated for Div. 2)
可以发现每一块积木刚好用一次操作1即可,操作2实际上就是从一个积木转移到另一个,那么操作2的次数其实就是积木数-1,积木数量增加的时候,也就是a[i]值增大的时候,增加的数目就是a[i]增加的值,所以最终操作2的数量也就是max(0,a[i]-a[i-1])1.设指针当前位置为l,可以选择一个任意位置r(r>=l),使[l,r]内所有数+1。问对于一个初始有n个0的数组,最少要多少次操作2能使其等于a数组。2.将指针移动到一个任意位置,并令那个位置上的数+1。原创 2023-12-14 19:51:52 · 959 阅读 · 0 评论 -
C. Yarik and Array Codeforces Round 909 (Div. 3) 1899C
思路:首先考虑忽略奇偶性限制怎么求最大子串和,首先我们初始化答案ans为数组中所有数的最大值,然后我们遍历数组同时记录当前选择子串的元素和sum,对于数组中的每一个数,如果当前的sum已经小于0了,那就重置sum为当前数,因为如果当前数为正的,显然应该直接换,如果是负的,加上只会更小,除此情况之外就直接加上当前数即可。考虑奇偶性条件,也就是当奇偶性不满足的时候,sum也要重置为当前数,因为已经不合法了,所以多加一个和前一个数记起来是偶数就重置的条件即可。原创 2023-11-18 14:23:04 · 233 阅读 · 0 评论 -
C. You Are So Beautiful Codeforces Round 905 (Div. 2)
那么假如我们当前新添了一个数a[r],那么新增的合法答案计数就是a[r]为区间右端点的合法子串,也就是看1到r中有多少个l满足[l,r]是合法区间,我们发现,对于前面的一个数a[i],如果它出现了多次,那么只有第一次出现时作为区间左端点才是合法的,在后面出现时那个数都可以被第一次出现的那个数替代,所以每个位置的数的贡献也就是在它前面第一次出现的数的数量,那么每个相同的数的贡献,也就是在最后出现的那个位置之前有多少第一次出现的数。原创 2023-10-22 21:52:52 · 1002 阅读 · 0 评论 -
C. Card Game Codeforces Round 899 (Div. 2)
思路:可以发现,如果取了某个位置i上的数,那么它后面的数都可以任取,因为对于它后面任意一个位置j,如果j是奇数,就先取j,奇数位置上的数处理完后,再取i,然后后面原来是偶数的j都变成了奇数,这些j也都可以取了,这样就代表j都是任取的,只不过偶数位置上的数不能算在贡献里。题目大意:有n张牌,每张牌上有一个数字a[i],每次操作可以选择一个奇数位置上的数,将其移除并获得上面的数,或者移除一个偶数位置上的数,每次移除后,所有数的位置都会对应紧凑,操作数量任意,问获得的数的和最大是多少。原创 2023-09-26 11:34:45 · 309 阅读 · 0 评论 -
C. Colorful Table CodeTON Round 6 (Div. 1 + Div. 2, Rated, Prizes!)
思路:通过观察可以发现,这个方阵是关于左上-右下的直线对称的,所以我们要找的矩形都是正方形,因为方阵中的值是取最小值得来的,所以每个数构成的正方形的边界就是a中最左边和最右边大于该数的位置,那么问题就转化成了在数组中求每个数最左和最右边大于这个数的位置之间的长度。首先考虑每个数的左边界怎么求,因为每个数的边界都是最靠左的那个,所以从左向右遍历,我们每遇到一个没处理过的数,所有小于等于这个数的数的左边界都是这个位置,然后这些数都被标记为已处理。原创 2023-09-20 10:45:06 · 507 阅读 · 0 评论 -
D. Prefix Purchase CodeTON Round 6 (Div. 1 + Div. 2, Rated, Prizes!)
移项化简得x=(k-ma*a[mai])/(a[i]-a[mai]),即x=(k%a[mai])/(a[i]-a[mai]),这样1~i都处理好了,k=k%a[mai]%a[i],继续依照此法循环处理剩余的区间,每次区间+ma都用差分数组维护,直到k=0,后面的数肯定都是0了,退出循环。那么这样做会不会超时呢?题目大意:有一个全为0的数组a,有一个费用数组c,给出总的可用费用k,每次操作可以花费c[i]使a[1]~a[i]中所有数+1,要求使a的字典序最大,输出满足条件的a。原创 2023-09-19 13:17:21 · 562 阅读 · 0 评论 -
E2. Salyg1n and Array (hard version) Codeforces Round 897 (Div. 2)
思路:因为询问一个区间后,这个区间会进行翻转,所以如果我们询问两个相邻的重合区间,那么区间重合部分被异或了两遍也就相当于没异或,其余两端的数都异或了一遍,然后这个重合区间又被反转到了最后,如果再以这个重合区间的左端点作为询问区间的左端点,那么这个重合区间的数都被异或了3遍,也就是异或了一遍,其他数也是一遍,这样就求出了这一段数的异或和,也就是我们可以用三次询问求出一段数量为(k,2k)的区间的异或和。原创 2023-09-14 15:08:53 · 157 阅读 · 0 评论 -
C. Fill in the Matrix Codeforces Round 896 (Div. 2)
这样的构造MEX肯定是最大的,接下来考虑MEX具体是多少,可以发现当m固定时,随着n的增大,MEX也在增大,知道n=m-1后,MEX不变,等于m,在n原创 2023-09-11 11:43:03 · 321 阅读 · 0 评论 -
G. Replace With Product Codeforces Round 895 (Div. 3)
否则如果没有找到,因为数组最多2e5个数,所有数乘积1的位置L,R,如果[L,R]内的数的乘积>2*(R-L+1),[L,R]即为最优的区间。原创 2023-09-08 16:25:28 · 530 阅读 · 0 评论 -
D. Two-Colored Dominoes Pinely Round 2 (Div. 1 + Div. 2)
我们考虑满足每一行一半黑一半白的条件,那么横着的骨牌不用考虑,因为无论怎么涂都是提供一黑一白,对于竖着的骨牌,我们只需考虑这一行的U即可,有几个U,就涂一半黑一半白,这样的话他们对应的D也是满足一半黑一半白的,所以这一行对下一行其实没有影响,那么遍历每一行都按此法涂色即可。题目大意:有一个n*m的矩阵,矩阵中有一些多米诺骨牌,每个骨牌分别占据相邻上下两个或者相邻左右两格,其余位置为空,要求将所有多米诺涂色,一个格子白色一个格子黑色,满足每一行和每一列中黑白格的数量相等,输出一种可行方案。原创 2023-09-06 10:50:20 · 187 阅读 · 0 评论 -
C. MEX Repetition Pinely Round 2 (Div. 1 + Div. 2)
思路:因为每个数都互不相同,且数字范围比数组长度正好大1,这样不停的求MEX,猜想肯定会出现循环节,我们不妨用样例多进行几次操作,发现其实操作k次就相当于将n的范围内数组中没有的那个数放到数组最后,然后将数组右移k个数,例如a=[1,2,3,4,5],操作1次就是[0,1,2,3,4],操作2次就是[5,0,1,2,3],操作3次就是[4,5,0,1,2]。题目大意:有一个长度为n的数组,数组中每个数字互不相同,范围都是0到n,每次操作将每一个数字从左到右依次变成当前数组的MEX,问k次操作后的数组。原创 2023-09-06 10:28:35 · 307 阅读 · 0 评论 -
B. The Walkway Codeforces Round 893 (Div. 2)
然后再加上移除这个商店后,i-1和i+1之间的贡献,也就是(a[i+1]-a[i-1])/d,同理因为不能算边界,所以如果整除要-1。思路:要知道移除哪些商店最好,只能是枚举每个商店,维护移除该商店前和移除后的饼干数,移除前的饼干数,直接用原始的数组求,我们在位置1的位置吃一个,然后对于第一个商店,产生的贡献就是(a[i]-1)/d,向上取整,对于后面的每个商店,因为前一个商店已经算过了,所以产生的贡献就是(a[i]-a[i-1])/d,向上取整,这样就算出了初始不移除商店的饼干数。原创 2023-09-05 11:58:53 · 116 阅读 · 0 评论 -
Inference 2023“钉耙编程”中国大学生算法设计超级联赛(9)hdu7382
思路:要求那个式子的大小,因为只有最后一个P里面有x[m],而当x[m]取不同值时,前面所有项都是一样的,所有前面的都不用算,只用看最后一个因数,也就是m号点的所有父节点的情况,我们先找到哪些点是其父结点,然后遍历矩阵的每一行,看满足父节点约束的情况下,最后一列为0,1,2的数量,最后统计出来数量最多的那个就是答案。题目大意:有m个点,k条边,有一个n*m的矩阵,矩阵的每一列对应图中一个点,有一个如下的式子,问x[m]=0,1,2里面时式子的值最大。原创 2023-08-15 19:59:12 · 172 阅读 · 0 评论 -
Coins 2023“钉耙编程”中国大学生算法设计超级联赛(9)hdu7378
然后又发现每有一个a[i]+1,那么期望就加上其他数的和,例如[1,1,2]的期望就等于3+1+1=5,[1,2,2]的期望就是5+1+2=8,那么我们就可以考虑怎么从n个数全是1的数组转移到a数组,可以发现,每一个a[i]的贡献就是(a[i]-1)*其他所有数的和,那么我们遍历a数组对于每个数求他们的贡献,累加起来再加上n*(n-1)/2即可,证明方法暂不清楚。然后经过一些打表我们发现如果a数组n个数全是1,那么期望就是n*(n-1)/2,例如[1,1,1]的期望是3。原创 2023-08-15 19:08:03 · 229 阅读 · 0 评论 -
Insert 1, Insert 2, Insert 3, ... 2023牛客暑期多校训练营8 H
然后要判断不合法的情况,也就是a[i]的数量>a[i-1]的数量的情况,我们可以开n个栈,维护每个数字最后出现的位置,当出现a[i]的数量大于a[i-1]的数量时,最后的合法位置就是a[i-1]最后出现的位置,在那个位置右边到当前位置的1都不会再合法了,所以要单独开栈记录所有1的位置,如果出现不合法的情况,就将最后合法位置以外的1弹出,每遍历一个数就。题目大意:给出一个长度为n的数组a,问有多少子串满足其可以用多个排列穿插构成。统计左边有多少个合法的1即可。原创 2023-08-12 12:45:19 · 594 阅读 · 0 评论 -
Scheming Furry 2023牛客暑期多校训练营8 K
因为如果自己赢不了也不让对方赢,所以当min(n,m)>2时,除非先手第一步就能赢,否则在另一个人差一步排序好时,另一个人总有办法把顺序打乱不让他赢,所以没有解,当n=2的时候,A只能不停的交换唯一的这两行,那么主动权在B手里,B肯定不会让A赢的,又因为B是后手,所以要满足将列变为有序所需的操作数+将行变为有序的操作数是偶数才行,这样才能使的在他行动时正好能把矩阵变成递增,然后我们又发现无论他以怎样的顺序操作,所需要的操作次数的奇偶性是相同的,那么我们dfs一下置换环求最小操作次数即可。原创 2023-08-11 21:44:13 · 251 阅读 · 0 评论 -
0 vs 1 2023“钉耙编程”中国大学生算法设计超级联赛(8)hdu7365
思路:我们考察字符串的两端分别有哪几种情况,首先如果两端的数字不一样,一个是0一个是1,那么当前行动的人没有选择,只能拿自己能拿的那一个,如果两端都是0,且当前轮到1行动,那么B就输了,同理如果两端都是1且当前轮到0行动,A输了。题目大意:有一个长度为n的01字符串,A先手,只能拿位于两端的0,B后手,只能拿位于两端的1,谁不能拿了就输,但都拿完是平局,问最终结果。原创 2023-08-11 11:35:56 · 125 阅读 · 0 评论 -
M. Minimal and Maximal XOR Sum 2023“钉耙编程”中国大学生算法设计超级联赛(7)hdu7359
考察如何使异或和最大,异或和最大也就是在与n的二进制位数相同时,每一位都为1,这样就需要分别翻转一次肠胃所有2的幂的区间,然后我们发现翻转了一个长为x的区间后,可以用x*(x-1)/2次翻转相邻两数的操作将区间还原,因为x是2的幂所以x*(x-1)/2一定是偶数,也就是i>1是所有2的i次方且小于等于n的数都能加到答案上,然后因为区间长度可以为1,所以也可以+1,那么最大值也就是在最小值基础上将n的二进制表达的其他位都变成1。原创 2023-08-09 16:40:15 · 186 阅读 · 0 评论 -
C2. Dual (Hard Version) Codeforces Round 889 (Div. 2) 1855C2
题目大意:有一个长度为n的数组,每次操作可以选择两个数ai,aj,使ai+=aj,最多进行31次操作,要求将数组变成非递减的,问具体操作。原创 2023-07-31 10:25:59 · 142 阅读 · 0 评论 -
We are the Lights 2023牛客暑期多校训练营4-L
思路:对于同一行或者同一列来说,只要最后一次操作时开或者关,前面操作再多次也是无效操作,所以每一行或每一列的最终情况,至于那一行/列的最终操作有关,与前面都无关,所以我么就从最后一次操作开始可以无后效性的向前推,我们记录每个行/列是否被访问过,如果访问过一行/列,那么就相当于整幅图少了一行/一列,以内前面的操作无法影响他,所以一边维护当前图的行列数,一边维护答案即可。题目大意:有n*m盏灯,q次操作,每次可以将一整行或一整列的等打开或关闭。原创 2023-07-28 22:53:50 · 770 阅读 · 0 评论 -
Kong Ming Qi 2023“钉耙编程”中国大学生算法设计超级联赛4-10 hdu7321
从上图中可以发现,我们可以将一个3*2的棋盘利用左边一列的空间,将其缩减为3*1的,扩展来说,任意3*n的棋盘,n都可以被减小到我们想要的数,但只有3还不够,我们还需要研究2*n的棋盘如何缩减,因为2x+3y才可以等于任意整数。令n>=m,n=4,m=3时,我们可以将它缩减成2*3,然后只能剩下2个,n=4,m=2,我们将它缩减成1*2,剩下1个,n=3,m=3/2,和4*3同理,n=2,m=2时,可以只剩下一个,所有情况就都讨论完毕了。原创 2023-07-28 10:18:31 · 270 阅读 · 0 评论 -
Ama no Jaku
思路:首先,如果要使最小数>=最大数,唯一满足的情况就是矩阵中所有数都等于0或都等于1,然后我们从最终状态往回操作试试,可以发现,无论我们操作多少次,所有行最多构成两个不同的数字,且这两个数字是互补的,要统计最小值,只需从这两个中找出数量最少的那一个,然后统计出期中数量最少的,就等于对行的操作数,再统计那个数字中0和1哪个最少,就等于列的操作数。题目大意:有一个n*n且仅由0和1构成的矩阵,每次操作可以将一整行或一整列的所有数取反,问能否使所有行中构成的最小数>=所有列中构成的最大数。原创 2023-07-24 21:38:17 · 348 阅读 · 0 评论 -
F. Rudolph and Mimic codeforces 1846F
题目大意 :初始有n个数字,其中有一个是会变的数字,也就是我们要找的数字,每次操作可以选择删除任意个数字(或者不删),但是删除了要找的数字会直接失败,之后要找的数字有可能变成其他数字,但最多两次操作后,它一定会发生变化,要求在最多5次操作后,找出变化数字的位置。思路:如果某一个数字发生了变化,那么我们可以通过维护每个数字的数量的方式,很容易找到,哪个数字数量变多了,它就变成了哪个数字,所以我们在它发生变化前不动,变化后把没变的都删了,经过两轮操作后便只剩下了那个会变化的数字,操作次数正好最多5次。原创 2023-07-14 11:17:35 · 262 阅读 · 0 评论 -
E. Character Blocking codeforces1840E
思路:如果要判断两个字符串是否相等,那么直接判断的最差时间复杂度是O(n),所以我们考虑如何维护当前字符串是否相等的状态,我们记录初始两字符串不等的位置数dif,然后发现锁定操作是按时间顺序锁定和解锁的,且题目确保了不会锁定已锁定的字母,所以我们可以用栈记录被锁定的位置,和该位置的解锁时间,每次操作前先将所有到了解锁时间的位置解锁,然后每锁定一个原先不等的位置,dif-1,在交换时,如果交换前对应位置字母相等,交换后不等,dif+1,反之dif-1,最后只要判断dif是否唯0即可知道是否相等。原创 2023-06-07 15:53:39 · 438 阅读 · 0 评论 -
D. The BOSS Can Count Pairs codeforces1831D
题目大意:给出两个长度为n 的数组a,b问有多少数对i,j(i原创 2023-06-02 19:38:22 · 274 阅读 · 0 评论 -
2023湘潭邀请赛 L. Architect gym104396L
1原创 2023-05-30 18:15:15 · 208 阅读 · 0 评论 -
B. Make Array Good codeforces 1762B
如果当前数大于前一个数,那就让这个数变成离上一个数最近的倍数,这样+的x一定小于a[i-1],就i更不会大于a[i],且数字也不会修改大过2e9。题目大意:给出一个n个数的数组a,每次操作可以使任意一个数加上一个不大于他本身的数x,问能否使任意两个数都有一方能被整除。思路:我们先把数组从小到大排序,发现只要每相邻两个数能整除,那任意两个数都可以,所以。原创 2023-05-27 15:29:46 · 82 阅读 · 0 评论 -
B. JoJo‘s Incredible Adventures
思路:要想长方形最大,肯定要出现在原字符串中连续的1数量最多的地方,因为是首尾相接的,所以用双指针从两头向中间遍历一次,再从前向后遍历一次,找出最大的连续的1的数量cnt,然后我们发现,不操作时对应长方形最大是cnt*1,操作一次就是(cnt-1)*2,再操作一次是(cnt-2)*3以此类推第n-1次是1*(cnt),所以我们建立等于1和cnt的双指针,向中间遍历找最大值即可。原创 2023-05-06 14:51:35 · 110 阅读 · 0 评论 -
A. Yura‘s New Name codeforces1820A
思路:因为只要^连在一起就是合法的,所以我们只要找'_',检验其前后有没有'^',对应的记录缺的数量,然后将'_'改成'^'方便后续统计。题目大意:给出一字符串,问添加多少字符能使其仅由连续的"^^"和"^_^"组成。原创 2023-04-27 17:37:57 · 120 阅读 · 0 评论 -
D. The Butcher codeforces 1820D
思路:如果对原长方形竖着切一刀,那么被扔在一边的那个长方形的高一定等于切之前的长方形的高,也就是说他一定是所有切出来的n个长方形里面高最大的那个,以此类推,切出来的长方形的长和宽是分别随着切的次数增多而递减的,而且我们同时可以得知原长方形的面积也就是每个小长方形的面积和,然后用面积除以这个最大的高就能得到原长方形的宽,所以问题就变成了给出的n个小长方形能否拼成已知宽和高的一个大长方形。按同样的逻辑再进行一次第一刀先横着切的循环,最后注意判断两个答案是否是完全相同的,只输出一个即可。原创 2023-04-26 14:38:48 · 143 阅读 · 0 评论 -
C. Constructive Problem codeforces 1820C
思路:我们先将数组排序找到原始的MEX,然后记录每个小于MEX的数的数量,因为我们要使MEX变成MEX+1,所以数组中不能有等于MEX+1的数,我们找到最左边的这个数和最右边的这个数,在中间的数要全部改成MEX,然后如果有某个数字的数量变成0了,MEX就无法+1,如果数组中不存在等于MEX+1的数,那么我们只要把一个大于m+1而数改成m,或者一个原创 2023-04-21 11:39:31 · 237 阅读 · 0 评论 -
B. Grid Reconstruction codeforces 1816B
思路:要想交错和最大,就要相邻数的差尽可能大,那么我们就在起点填上最大的数2n,因为n是偶数,所以终点一定是直接加在费用里的,就填次大的数然后相邻数都是最小的数既1,2,1的相邻数应该是当前剩下的最大数,既2n-2,2n-3,以此类推我们可以发现一种可行的构造即为第一行为12,2,10,8,4,6这样的大小交替的偶数,第二行是1,9,3,7,5,11这样除了终点以外大小交替的奇数。原创 2023-04-19 16:26:02 · 206 阅读 · 0 评论 -
C. Ian and Array Sorting codeforces1816C
思路:因为我们既可以使数字+1,也可以-1,所以我们只需要考虑将每个数字都变成什么样,我们不妨尝试让所有数字都相等,这里让他们都等于a[n],那么对于i属于2~n-1的数,我们从后到前遍历,令它变成i+1的数,并令i-1的数做对应修改,依次维护直到所有数操作完,因为必须两两操作,所以我们发现a[1]可能大于其他数,这是如果n是奇数,那么可以令后面每两个数都+到和a[1]相等,如果是偶数则没有办法。原创 2023-04-18 10:28:29 · 270 阅读 · 0 评论 -
C. Serval and Toxel‘s Arrays codeforces1789C
因为在任意的数组中都没有重复的元素,所以我们记录每个数字上次出现的位置,a中的所有数都标为0,没出现的为-1,然后每次修改时,cnt[a[x]]+=当前修改次数i-上次出现位置pos[a[x]],并将pos[a[x]]置为-1,pos[y]=i,然后所有m次操作结束时,对于a数组中最后剩余的数cnt[a[i]]+=m+1-pos[a[i]],最后对于1到m+n的每个数字按之前推导的公式结果求和即可。题目大意:有一长度为n的字符串a,有m次操作,每次操作将a中位置为x的数修改成y,从而产生一个新的数组。原创 2023-02-28 09:56:05 · 262 阅读 · 0 评论 -
B. Serval and Inversion Magic codeforces1789B
思路:要把整个字符串变成回文串,就相当于令前一半字符串与后一半相同,那么我们遍历前一半的字符串,记录遍历到的第一个和最后一个与另一半字符串不同的位置,这中间的数都要取反码,但如果其中已经有与另一半对应位置相同的数相同,那么这个数取反码以后就与对于位置数不同了,无法构成回文串,否则可以。题目大意:有一长度为n的由0和1构成的字符串,可以选择一个区间[l,r],使这个区间变成它的反码,问能否使这个字符串变成回文串。原创 2023-02-28 08:28:50 · 271 阅读 · 0 评论 -
D. Triangle Coloring codeforces1795D
或者两个三角形1红+2蓝和1蓝+2红,因为只有连接颜色不同的点的边才会被记录,所以显然后者权值才能最大,那么对于每个三角形,都可以将两条边的权值计入整幅图的权值中,要想选最大,也就是每个三角形要选出两个权值最大的边,我们暂时先不考虑这个三角形是1蓝2红还是1红2蓝的问题,如果这个三角形的三条边是形如4,2,2这样两条小边相等的情况,那我们可以选择1,2两条边或1,3两条边有两种情况,如果这个三角形是形如2,2,2这样三条边都相等的情况,那么我们可以选择1,2;原创 2023-02-18 17:30:01 · 370 阅读 · 0 评论 -
B. Ideal Point codeforces1795B
思路:所以要包含的次数比其他点多,所以k必须在线段的端点相交的位置,因为如果几条线段相交于多个点,那这几个点被包含的次数是一样的,又因为可以随意删除线段,所以只要存在两条线段,一条线段的左端点是k,另一条的右端点是k就能满足条件,那么我们记录每个左右端点的出现次数,只要k在左右端点的出现次数都>=1就满足条件,否则不能。的线段,可以删除任意的线段,问能否使得包含点k的线段数比包含其他任意整数点的都要多。题目大意:在一维坐标系上有n条端点为。原创 2023-02-18 14:23:43 · 215 阅读 · 0 评论