codeforces
codeforces
__night_
gitee个人主页:https://gitee.com/way__back
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Codeforces Round 934 (Div. 2) D. Non-Palindromic Substring
【代码】Codeforces Round 934 (Div. 2) D. Non-Palindromic Substring。原创 2024-03-30 22:11:16 · 472 阅读 · 0 评论 -
Codeforces Round 850 (Div. 2) D. Letter Exchange
【代码】Codeforces Round 850 (Div. 2) D. Letter Exchange。原创 2024-03-30 16:35:26 · 361 阅读 · 0 评论 -
Codeforces Round 838 (Div. 2) D. GCD Queries
【代码】Codeforces Round 838 (Div. 2) D. GCD Queries。原创 2024-03-30 14:29:28 · 168 阅读 · 0 评论 -
Codeforces Round 840 (Div. 2) C. Another Array Problem
【代码】Codeforces Round 840 (Div. 2) C. Another Array Problem。原创 2024-03-29 23:59:03 · 491 阅读 · 0 评论 -
Codeforces Round 841 (Div. 2) C. Even Subarrays
【代码】Codeforces Round 841 (Div. 2) C. Even Subarrays。原创 2024-03-28 22:57:24 · 593 阅读 · 0 评论 -
Codeforces Round 842 (Div. 2) D. Lucky Permutation
【代码】Codeforces Round 842 (Div. 2) D. Lucky Permutation。原创 2024-03-27 22:42:06 · 179 阅读 · 0 评论 -
[开源社区openEuler实践】873 div2 D2. Range Sorting (Hard Version)
【代码】873 div2 D2. Range Sorting (Hard Version)原创 2024-03-26 10:46:42 · 325 阅读 · 0 评论 -
div2 D. Birthday Gift
【代码】div2 D. Birthday Gift。原创 2024-03-25 00:11:18 · 347 阅读 · 0 评论 -
【开源社区openEuler实践】 E. Binary Search
【代码】div3 E. Binary Search。原创 2024-03-24 00:42:32 · 267 阅读 · 0 评论 -
【比较函数坑点】D. Li Hua and Tree
【代码】【比较函数坑点】D. Li Hua and Tree。原创 2024-03-24 00:37:16 · 490 阅读 · 0 评论 -
给定参数c和长度为n的递增数组a(ai <= c), 对于0<=x<=y<=c, 求(x,y)的对数,满足x+y不是数组a中的元素且y-x不是a中元素
【代码】给定参数c和长度为n的递增数组a(ai <= c), 对于0<=x<=y<=c, 求(x,y)的对数,满足x+y不是数组a中的元素且y-x不是a中元素。原创 2024-03-16 23:43:03 · 387 阅读 · 0 评论 -
给定n(3000)个点的坐标(互不相同),每个点向离自己最近的点的方向,同时以相同的速度移动,相遇后停止。定义一个点集的价值为所有点停止后不同坐标个数。求这n个点的集合的所有子集的价值之和
【代码】给定n(3000)个点的坐标(互不相同),每个点向离自己最近的点的方向,同时以相同的速度移动,相遇后停止。定义一个点集的价值为所有点停止后不同坐标个数。求这n个点的集合的所有子集的价值之和。原创 2024-03-15 00:54:47 · 412 阅读 · 0 评论 -
给定长度为n的数组a和b,选择一个序列p1, p2, ..., pk, 代价为a[p1]+...+a[pk] + abs(b[p2]-b[p1])+...+abs(b[pk]-b[p[k-1]]
给定m,在代价小于等于m的情况下最多能选择多少个元素。原创 2024-03-12 14:15:50 · 424 阅读 · 0 评论 -
给定l,r(1e18),定义f(x):x中最大的数位减去最小数位。对于l<=x<=r, 求f(x)最小值
【代码】给定l,r(1e18),定义f(x):x中最大的数位减去最小数位。对于l<=x<=r, 求f(x)最小值。原创 2024-03-11 00:59:50 · 454 阅读 · 0 评论 -
给定长度为n的数组a和b,确定长度为n的数组d[i], 满足a[i] % d[i] == 0, 设c[i] = d[i] * b[i], 使得数组c拆分成 元素连续相等的子数组的个数最少,求最少个数
【代码】给定长度为n的数组a和b,确定长度为n的数组d[i], 满足a[i] % d[i] == 0, 设c[i] = d[i] * b[i], 使得数组c拆分成 元素连续相等的子数组的个数最少,求最少个数。原创 2024-03-09 18:31:16 · 444 阅读 · 0 评论 -
长度为n的数组a初始值全为0,目标是把数组a变为数组b(1<=bi<=n), 可以进行任意次操作:选择长度为k的数组c,(1<=ci<=n且两两不同)
对于1原创 2024-03-06 20:21:29 · 1128 阅读 · 0 评论 -
给定长度为n的数组a,每一次操作可以使相邻两个元素都+1或者-1,可以进行任意次操作,求最终能否使数组非递减
【代码】给定长度为n的数组a,每一次操作可以使相邻两个元素都+1或者-1,可以进行任意次操作,求最终能否使数组非递减。原创 2024-03-06 00:46:49 · 720 阅读 · 0 评论 -
长度为n(下标从0开始)的数组a(0<=ai<=200), 序列b1,b2,...,bm美丽当且仅当0<=bi<=n且b[i]<b[i+1],且a[bi]^b[i+1]<a[b[i+1]]^b[i]。
求美丽序列的最大长度。原创 2024-03-03 21:49:59 · 589 阅读 · 0 评论 -
给定两个长度为n的数组a,b,定义f(a, b): 设ci = ai ^ bi, f(a, b) = c1 & c2 & ... & cn。可以随意对b数组排序,求f(a, b)的最大值
【代码】给定两个长度为n的数组a,b,定义f(a, b): 设ci = ai ^ bi, f(a, b) = c1 & c2 & ... & cn。可以随意对b数组排序,求f(a, b)的最大值。原创 2024-03-03 17:44:46 · 510 阅读 · 0 评论 -
有n个种族,第i个种族有ai个人,现要组军队,每有同一种族的两个人被分配到不同军队,就构成一对,军队总战力加b。若最终军队总数为k,那么总战力减(k - 1) * x, 对于不同k,求总战力最大值
【代码】有n个种族,第i个种族有ai个人,现要组军队,每有同一种族的两个人被分配到不同军队,就构成一对,军队总战力加b。若最终军队总数为k,那么总战力减(k - 1) * x, 对于不同k,求总战力最大值。原创 2024-02-29 23:19:37 · 380 阅读 · 0 评论 -
给定长度为n(n<=20)的数组a,-20<=ai<=20, 每次操作选择i,j,使a[i] += a[j], 在31次操作内使a不递减,输出每次操作的i,j
【代码】给定长度为n(n<=20)的数组a,-20<=ai<=20, 每次操作选择i,j,使a[i] += a[j], 在31次操作内使a不递减,输出每次操作的i,j。原创 2024-02-23 21:48:51 · 521 阅读 · 0 评论 -
集合S为1, 2, ..., 1e100, 给定长度为n的数组a和k,进行k次操作:每次同时把S中第a[i]小的元素删除。求最后S中最小的元素
【代码】集合S为1, 2, ..., 1e100, 给定长度为n的数组a和k,进行k次操作:每次同时把S中第a[i]小的元素删除。求最后S中最小的元素。原创 2024-02-23 00:32:33 · 436 阅读 · 2 评论 -
有一个n×m的网格,小A在(x, y), 有另外k个人,第i个人在(xi, yi), 每一秒每个人必须移动到相邻的格子,判断是否存在一个时刻小A和至少一个人在同一个格子。
思路:独立地看第i个人,当且仅当(abs(x[i] - x) + abs(y[i] - y)) % 2 == 0, 第i个人才能抓到小A。原创 2024-02-21 23:12:23 · 545 阅读 · 0 评论 -
给定长度为n的数组a,a[i]是小A在第i场比赛的rating变化,有一个额外规则:当小A的rating到达过k后,rating不会再低于k。求k,使最终rating最大
证明:设[l, r] 为区间和最小的区间,那么对于任意 t > r, 区间[ r + 1, t] 的和大于等于0,若小于0,那么区间[l, r]可以再并上小于0的区间,使得区间和更小。所以在r之后,rating总体上升并且不会再减到k,即k只在区间[l, r]上起作用。原创 2024-02-19 20:32:33 · 457 阅读 · 0 评论 -
【二维比较函数】有n个区间,对于每个区间,求该区间与其他区间的相交的最小值
【代码】【二维比较函数】有n个区间,对于每个区间,求该区间与其他区间的相交的最小值。原创 2024-02-18 19:51:11 · 598 阅读 · 0 评论 -
给定n个结点m条边的简单无向图,判断该图是否存在鱼形状的子图:有一个环,其中有一个结点有另外两条边,连向不在环内的两个结点。若有,输出子图的连边
【代码】给定n个结点m条边的简单无向图,判断该图是否存在鱼形状的子图:有一个环,其中有一个结点有另外两条边,连向不在环内的两个结点。若有,输出子图的连边。原创 2024-02-17 22:23:28 · 746 阅读 · 0 评论 -
一棵树初始只有结点1,给定n - 1条边(u, v), 依次读入,若u是树中结点,v不是,那么在树中加入v和边(u, v);否则跳过。求最少要读入多少次n - 1条边
【代码】一棵树初始只有结点1,给定n - 1条边(u, v), 依次读入,若u是树中结点,v不是,那么在树中加入v和边(u, v);否则跳过。求最少要读入多少次n - 1条边。原创 2024-02-15 12:47:08 · 394 阅读 · 0 评论 -
给定n个结点的树,其中有k个结点是特殊结点(未知),定义好结点:该结点到k个特殊结点的距离之和最小。若随机k个结点为特殊结点,求好结点个数的期望值
其中黑色结点为特殊结点,可以看出,每种情况都有一个结点的s值不等于k / 2,但是是好结点,所以最后答案加一。原创 2024-02-14 21:57:38 · 397 阅读 · 0 评论 -
给定长度为n的数组b,求对于任意1<=l<=r<=n, 求b[i] + b[j] + b[k] - (r - l) 的最大值(l<=i, j, k<=r)
【代码】给定长度为n的数组b,求对于任意1<=l<=r<=n, 求b[i] + b[j] + b[k] - (r - l) 的最大值(l<=i, j, k<=r)原创 2024-02-13 22:48:28 · 452 阅读 · 0 评论 -
有一个h*w(未知)的矩形,给定n,切n-1次,每切一次,把其中一块放在盒子里,另一块继续切。最后一块也放在盒子里,最终有n块矩形。给定n个矩形的长和宽(n个矩形是乱序的),求初始h,w
【代码】有一个h*w(未知)的矩形,给定n,切n-1次,每切一次,把其中一块放在盒子里,另一块继续切。最后一块也放在盒子里,最终有n块矩形。给定n个矩形的长和宽(n个矩形是乱序的),求初始h,w。原创 2024-02-11 12:27:18 · 460 阅读 · 0 评论 -
给定n个结点的树,定义G(k)为n个结点的图,u,v之间有边当且仅当u,v在树上的距离大于等于k。对任意k(1 <= k <= n), 求G(k)连通分量的个数
在找直径端点的时候把其他结点到直径两端点的距离都求出来,不用lca。原创 2024-02-10 16:49:21 · 529 阅读 · 0 评论 -
(坑点!!!)给定n条过原点的直线和m条抛物线(y=ax^2+bx+c,a>0),对于每一条抛物线,是否存在一条直线与它没有交点,若有,输出直线斜率
2、该题中k在(b - sqrt(4 * a * c), b + sqrt(4 * a * c) 中,注意是开区间,那么可以将sqrt(4 * a * c)向下取整,计算出左右端点l,r,那么k在[l, r] 中(闭区间),如果4*a*c是平方数,那么l--, r++1、区间端点可能是小数的时候,不能直接利用加减1将 < 转化为原创 2024-02-10 15:33:16 · 748 阅读 · 0 评论 -
给定长度为n的数组a,若在p1,p2,...,p[m]位置阻塞,代价为max(sum(1, p[1]-1), sum(p[1]+1,p[2]-1),...,a[p1]+...+a[pm]),求最小代价
【代码】给定长度为n的数组a,若在p1,p2,...,p[m]位置阻塞,代价为max(sum(1, p[1]-1), sum(p[1]+1,p[2]-1),...,a[p1]+...+a[pm]),求最小代价。原创 2024-02-09 17:38:14 · 548 阅读 · 1 评论 -
有n个人,其中有m对朋友,第i对朋友的友谊值是f[i], 有k次旅行,每次旅行随机、独立地选两人,如果两个人是朋友,那么快乐值增加f,并且下一次旅行这两个人f值加一;否则快乐值和f都不变。求最大快乐值
【代码】有n个人,其中有m对朋友,第i对朋友的友谊值是f[i], 有k次旅行,每次旅行随机、独立地选两人,如果两个人是朋友,那么快乐值增加f,并且下一次旅行这两个人f值加一;否则快乐值和f都不变。求最大快乐值。原创 2024-02-09 01:05:41 · 1060 阅读 · 3 评论 -
给定长度为n的01串s,有两种操作:1、交换相邻的两个字符,花费为1e12;2、删除一个字符,花费为1e12 + 1,求使s不递减的最少花费
【代码】给定长度为n的01串s,有两种操作:1、交换相邻的两个字符,花费为1e12;2、删除一个字符,花费为1e12 + 1,求使s不递减的最少花费。原创 2024-02-08 23:29:49 · 409 阅读 · 0 评论 -
给定n,k,构造长度为n的数组,使得和为正数的子数组恰好有k个,和为负数的恰好有n * (n + 1) / 2 - k个
现找到最大的m,使得m * (m + 1) / 2小于等于k,先在数组前m位填正数。令need = k - m * (m + 1) / 2, 显然need小于等于m,若need大于m,那么(m + 1) * (m + 2) / 2小于等于k,m就不是最大的。然后再m+1位填一个负数,使得sum[m+1] - sum[need] < 0, sum[m + 1] - sum[need - 1] > 0, 这样以m+1位置结尾的和为正数的子区间就多了need个。最后其他位置填负无穷。原创 2024-02-08 16:00:45 · 803 阅读 · 0 评论 -
给定n,m(200),构造一个n*m的矩阵a,使得每个4*4的子矩阵,左上角2*2的子矩阵的异或和等于右下角的,左下角的异或和等于右上角的
【代码】给定n,m(200),构造一个n*m的矩阵a,使得每个4*4的子矩阵,左上角2*2的子矩阵的异或和等于右下角的,左下角的异或和等于右上角的。原创 2024-02-08 00:16:26 · 774 阅读 · 1 评论 -
给定长度为m的01串s,代表m个窗户,1代表窗户亮,0不亮,有m/2个单间房(一个窗户)和m/4双间房(两个窗户),如果一个房至少有一个窗户亮着,那么这个房就是有人的,求最多和最少有几个房有人
【代码】给定长度为m的01串s,代表m个窗户,1代表窗户亮,0不亮,有m/2个单间房(一个窗户)和m/4双间房(两个窗户),如果一个房至少有一个窗户亮着,那么这个房就是有人的,求最多和最少有几个房有人。原创 2024-02-07 23:43:27 · 579 阅读 · 0 评论 -
给定长度为n(1e5)的数组,必须选择k(20)个不同位置的元素,使其增加x,其他位置的元素都减少x,求进行操作后数组的最大连续区间和
【代码】给定长度为n(1e5)的数组,必须选择k(20)个不同位置的元素,使其增加x,其他位置的元素都减少x,求进行操作后数组的最大连续区间和。原创 2024-02-07 00:24:42 · 516 阅读 · 0 评论 -
给定长度为n的数组a,定义f(l, r) = (a[l]+...+a[r])-(a[l]^...^a[r]),有q次询问:L,R,求对于L<=l<=r<=R, f(l, r)取最大值时l,r的值
若f(l, r) 取最大值时l,r有多种可能,求r - l + 1最小的l,r。原创 2024-02-05 22:25:27 · 695 阅读 · 0 评论
分享