自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 codeforces 1600 - 1800 个人待补题单

1600Problem - 2063C - CodeforcesProblem - 2061D - CodeforcesProblem - 2061C - CodeforcesProblem - 2059C - CodeforcesProblem - 2046B - CodeforcesProblem - 2040C - CodeforcesProblem - 2036E - CodeforcesProblem - 2018A - CodeforcesProblem - 2004D - Codeforces

2025-03-19 20:28:32 231

原创 PTA个人难题题单记录

L1-006 连续因子 - 团体程序设计天梯赛-练习集 (pintia.cn)

2025-03-04 18:31:11 135

原创 Codeforces Round 974 (Div. 3) D

先预处理 1 - n 内每一天存在的起始作业数t1[i],以及结束作业数t2[i],然后分别求前缀和,最后遍历每个大小为d的子区间,假如该子区间为 [l, r] ,那么 t1[r] - t2[l - 1] 即为该子区间内所存在的作业数,分别找最大和最小即可。让你求出两个值,代表二人的起始时间,使得其中一个人在其停留时间内存在尽可能多的作业,另一个人在其停留时间内存在尽可能少的作业。首先,给你n,d,k,分别代表天数,二人的停留时间,k个作业。然后k行,每一行有l和r代表该作业的时间范围(包含端点)

2024-09-22 19:22:22 773

原创 Codeforces Round 974 (Div. 3) C

有n个人,每人都有一定的财富,现在让你给最富有的那个人增加x财富(其中x为非负整数),使得多于一半的人的财富少于平均财富的一半,要求x尽可能小。记得开LL,因为这个wa了一发。二分答案,模拟一遍即可。

2024-09-22 15:27:51 419

原创 Codeforces Round 974 (Div. 3) B

发现从第一年开始,奇数年长出的叶子数也为奇数,偶数年长出的叶子也为偶数,并且在n - k + 1年之前长出的叶子是不需要考虑的,我们只需要考虑从第n - k + 1年到第n年这k年长出的叶子,并且我们只需考虑这k年中的奇数年一共有几个,若有奇数个,最终加起来一定是奇数,若有偶数个,最终加起来一定是偶数。一棵橡树,每年长出 i ^ i (1 <= i <= n)片叶子,并且叶子的存活期是k(1 <= k <= n)年,问你n年后的叶子总数是不是偶数,是的话输出YES,否则NO。

2024-09-22 14:59:50 421

原创 Codeforces Round 973 (Div. 2) C

否则,我们先询问01,10,00,11,这四个里肯定至少有一个是存在的,在得到其肯定答复后,我们继续向右询问,拿01来说吧,我们继续询问010,011,直到向右加0或1的情况都得到否定答复,我们再反过来向左询问。一道交互题,给你一个n,代表字符串长度,让你询问不超过2n次子串,若回答1代表是子串,0代表不是子串,每次询问的子串长度不能超过n。交互题的格式,每次询问后需要cout.flush(),输出最终答案后也要cout.flush()若n == 1,直接询问0和1即可。这样做能保证询问次数不超过2n次。

2024-09-22 14:34:24 517

原创 Codeforces Round 973 (Div. 2) B

很明显最后那个获胜者一定是最后一个人,倒数第二个获胜者一定是倒数第二个人,我们想让最后的获胜者的等级尽可能大,就应该让倒数第二个获胜者的等级尽可能小,如何让倒数第二个人的等级尽可能小呢?一共有n个人,每个人都有一个等级,进行n - 1场比赛,每场比赛选择下标i和j(i < j),并且保证j获胜,i被消灭,j的等级减去i的等级(可能变为负数),问你如何做可以让最后的获胜者等级尽可能大。

2024-09-22 14:05:56 313

原创 P8671 [蓝桥杯 2018 国 AC] 约瑟夫环

首先,序号1开始报1,直到一个人报到k而出列后,下一个人继续开始报1,直到剩下最后一个人。可以发现,最终答案的位置变化是有规律的,因此可以通过递推,最后的位置肯定是0,然后。通过样例我们可以知道,n = 10,k = 3时,最后剩下的人是4。最后推得剩下那个人得初始位置为3,即它的序号为4。n代表总人数,他们围成一圈,序号为1-n,k代表每轮游戏中报到k的那个人需要出列。问你最后剩下的人的序号。

2024-09-22 12:35:56 249

原创 PTA L2-006 树的遍历

我们知道,后序遍历是 左右中,中序遍历是 左中右,因此,可以通过递归的方式,每次递归,从后往前遍历后序序列,对于后序序列某个结点,若它存在于本次的中序序列范围(初始为1-n)内,那么直接停止,它就是我们本次要找的根结点,把该根结点加入到该层的答案里,然后以该根结点为分界点,分别继续递归中序序列的左半部分和右半部分。给你一个二叉树的后序和中序,让你求其层序。

2024-09-22 12:16:21 261

原创 Codeforces Round 553 (Div. 2) B

我们可以发现,用一个数替换本行第一个数可以等价为 先异或第一个数(因为异或同一个数两次相当于没有异或这个数),然后再异或那个数,用等式表示为 0 ^ a1 ^ ai (这里假设a1为第一个数,ai为那个与之不同的数),由结合律以及 0 ^ 任何数 = 任何数,可以知道结果一定严格大于0。给你一个n * m的矩阵,每个元素都是非负整数,问你是否可以从每一行选择一个数使得这些数的异或最终严格大于0,若可以,输出TAK以及选择的结果,否则输出NIE。

2024-09-19 21:45:08 309 1

原创 PTA L2-013 红色警报

这里给出我个人的思路,每次删除一个点之前,我们先记录它的邻接点(当然,若该点只有一个邻接点或者没有邻接点,肯定不会产生更多的连通块),然后从他的其中一个邻接点出发,将其所在的连通块走完,若最后检查到我们刚刚删除那个点的所有邻接点都已经被走过,那么说明这次操作没有产生更多的连通块。给你一个图,可能有多个连通块,有k次操作,每次操作选择一个点删除,让你根据每次操作后的结果,按规则输出相应的语句。发现删除结点1之后,从3出发,可以到达0,因此此次删除是不会产生更多连通块的。

2024-09-19 21:25:59 639

原创 Codeforces Round 860 (Div. 2) D

给你一个长度为n的数组a,已知他们的和为0,问你是否存在一种重新排列的方案(可以不排列),使得 子数组元素之和的极差 < 最大元素 - 最小元素 的值,若存在输出Yes,以及重新排列后的结果,否则输出No。若此时now大于等于0,则将a[l]加入ans数组(若还没排完,则a[l]一定小于等于0,因为所有元素之和为0),l++若此时now小于0,则将a[r]加入ans数组(若还没排完,则a[r]一定大于0,因为所有元素之和为0),r--首先,我们可以发现若全为0,则一定不成立,直接输出No。

2024-09-18 18:13:57 360

原创 P8628 [蓝桥杯 2015 国 AC] 穿越雷区

一眼搜索,由于广搜bfs求出来的就是最优解,所以我直接用的广搜,我们从A出发,每走一步注意判断是否满足交替的条件(即一定要跟上一步的符号不同,起点和终点就无所谓了)给你一个边长为n的方阵,其中包含两个点A和B,还有+和-,要求只能交替走+和-,问你能否从A走到B,如果能,输出最小步数,否则输出-1。没什么特别需要注意的。

2024-09-18 16:52:40 332 1

原创 Codeforces Round 640 (Div. 4) F

三个数都是有可能为0的,但是不会全为0。把每种情况都考虑到即可(具体看代码)

2024-09-17 13:16:26 252

原创 Codeforces Round 729 (Div. 2) B

通过手推,可以发现集合中的数一定可以表示为 a ^ c1 + c2 * b 的形式,因此可以枚举c1的值 ,判断是否存在对应的c2即可(注意特判a == 1),复杂度log(n)。1.不能通过枚举c2来判断是否存在对应的c1,因为此时复杂度为O(n),显然过不去。

2024-09-15 16:52:04 267

原创 牛客周赛 Round 28(重现赛)

来源:牛客网。

2024-04-27 01:59:23 344

原创 c++实现第二类斯特林数

第二类Stirling数实际上是集合的一个拆分,表示将n个不同的元素拆分成m个集合的方案数,记为。你可以理解为:将n个不同的球放入m个无差别的盒子中,要求盒子非空,有几种方案。

2024-04-22 22:21:51 660 1

原创 c++求数组最大子段和(要求子段非空)

【代码】c++求数组最大子段和(要求子段非空)

2024-04-22 22:01:04 191

原创 (贪心)牛牛玩平板

来源:牛客网。

2023-05-20 17:02:03 309 1

原创 c++使徒袭来

牛客1039-使徒袭来解题

2023-02-17 16:59:04 464

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除