- 博客(24)
- 收藏
- 关注
原创 codeforces B2. The Strict Teacher
B1. 严厉的老师(简单版)每个测试用例时间限制:1.5 秒每个测试用例内存限制:256 兆字节这是本题的简单版本。两个版本之间的唯一区别在于 m 和 q 的约束条件。在这个版本中,m = 2 且 q = 1。只有当本题的两个版本都被解决时,你才能进行 Hack 操作。纳雷克和措索瓦克忙着准备这一轮(活动),所以他们没来得及完成作业,于是决定抄袭大卫的作业。他们严厉的老师发现大卫没有作业,现在想惩罚他。她雇了其他老师来帮她抓住大卫。现在有 m 位老师一起在追他。
2025-04-12 21:57:17
758
原创 codeforces A. Simple Palindrome
纳雷克发现孩子们只认识英文字母表中的元音字母(即 a、e、i、o 和 u 这几个字母),所以他需要构造一个仅由元音字母组成的字符串。在第三个例子中,“oeiiua” 只有八个回文子序列:“o”、“e”、“i”、“i”、“u”、“a”、“ii” 和空字符串。请帮助纳雷克找到一个长度为 n ,且仅由小写英文字母中的元音字母(a、e、i、o 和 u )组成的字符串,该字符串中的回文子序列数量最少。输入的第一行包含一个整数 t(1 ≤ t ≤ 100),表示测试用例的数量。接下来是每个测试用例的描述。
2025-04-12 20:35:53
171
原创 codeforces B. Large Array and Segments
给定一个长度为n的数组,以及两个整数k和p,该数组可以通过复制在增加长度,可以复制k次,我们最后要找到保证后缀和至少为p的首元结点的数量。找到有多少个完整的原数组n,最后单独除了最后一个不完整的数组n即可;
2025-04-07 22:04:26
214
原创 acwing 每日一题4889. 空调II
给N头牛和M个空调,以及每头牛所占据的区域和每个空调所作用的区域,娇贵的牛对温度有要求,所以农夫需要用空调对牛棚进行降温,但是资本家农夫想以尽可能低的成本来实现牛的需求,所以请你来帮忙;,指数级枚举是判断当前数选或者不选,然后这个题是判断当前空调选或者不选,然后寻找符合条件的花费最少的一种方案,需要注意的是本题中的空调信息比较多,所以用结构体来存;这个数据范围很特殊,看一眼就知道八九不离十是dfs,然后在仔细细想,确实可以用dfs实现;回想一下之前做过的dfs模型,这个类似于。
2025-04-02 19:48:23
272
原创 codeforces C. Creating Keys for StORages Has Become My Main Skill
给定两个数n和x,要求构造出一个长度为n的数组a,对该数组a有两个要求,第一是要满足,数组中的每一个元素互相进行完bitwise 'OR'(位运算中的或运算)后的值等于x,第二是要满足,MEX(a)尽可能最大;所以我们从0~n-1进行枚举即可保证MEX尽可能大,要求二轻松满足,接下来看要求一,我们最后要保证或完为x,换句话说就是保证或完二进制数和x相同,所以对于我们当前所枚举的i的二进制如果包含于x的二进制。因为^ 是按位异或运算符,而 << 是左移运算符,会先运算,也就是会先计算。,依据运算符优先级,
2025-03-30 14:01:38
338
原创 acwing 每日一题4888. 领导者
有两个品种的奶牛,分别为G和H,我们要在每个品种中各找一头牛当领导者,最后输出全部的可能方案,当领导牛是有条件的,要么在其管辖范围内有其品种的全部牛,要不在其管辖范围内有另一品种牛的领导者;分类讨论计算当前品种的奶牛的前缀和时,也要更新另一品种的前缀和,让另一品种的前缀和等于前一状态即可,要不会导致状态丢失(前缀和为0);有一种很明显的思路:先判断在每头牛的管辖范围内有没有其品种的全部牛,如果有就代表这个牛能当领导牛,标记一下,在判断第二条件,,最后找出两种牛的各个领导牛的可能数,相乘即为答案;
2025-03-28 20:49:43
380
1
原创 Codeforces 1011 (Div. 2)A. Serval and String Theory
知道了这一点那这个题就很easy了,先判断该字符串内的字符是不是都是相同字符,如果是那直接输出NO就行,因为无论怎么改也不会使其符合条件;再判断该字符串本身是不是不用修改就已经小于其翻转字符串了?题目给定一个字符串,并给定一个操作,以及可以执行操作的限定次数,该操作是任选两个下标,交换对应的字符,最后判断能否在操作限次次数下保证该字符串小于其翻转字符串(reverse),可以输出YES else输出NO;,目前是原数组大于翻转数组,但只要对翻转数组进行一次修改就能使得原数组小于翻转数组)
2025-03-28 19:27:15
344
2
原创 acwing 6131. 农夫约翰最喜欢的操作
所以就需要对x数组进行排序,但是我们此时不能直接求中位数,然后计算距离,因为当前x是同余条件下的,x数组中的数一定比M小,所以x数组中小于目标x的数只能加,大于目标x的数只能减,但是这样的操作并不一定是最优的(例如测试样例1中的8,此时目标x是3,8>3,按照8是余数的话只能-5,但余数是我们运用同余知识得到的,原数组是8,如果想让8%9=3的话,可以给8加上4,这样比-5少一步)给出一个长度为N的数组,以及一个整数M,我们可以进行如下操作:选择数组中的一个数,对其+1或-1;所以,我们不能直接求;
2025-03-25 22:34:40
285
2
原创 codeforces C. Long Multiplication
所以我们更改数的核心思想就是使得两数之差越大,我们可以这样来操作:从最高位逐位对照,同位时如果两数相同则跳过不管,遇见不相同的记录一下下标,跳出循环分情况更改,分为a[i]>b[i]和a[i]<b[i]两种情况。1:a[i]>b[i]大的数后面保证是小数,就是从第i位数后面a与b的对应数位上的数a都要<b;2:a[i]<b[i]小的数后面保证是大数,就是从第i位数后面a与b的对应数位上的数a都要>b;
2025-03-13 18:22:53
195
3
原创 acwing 每日一题5437拐杖糖的盛宴
每一个糖的第一口都是第一头牛吃,我们光分析一下第一头牛就行,第一头牛吃糖有两种情况,第一种情况是牛比糖高,牛一口就把糖吃完了,那么后面的牛也就不用吃了,直接break就行;一共有n头牛,m个糖,给牛轮流吃糖,当前糖被吃完后就换下一个糖,每一个糖都从第一头牛开始吃,牛吃完糖后会长高,所长的高度是牛所吃糖的长度,问把全部糖吃完以后,每头牛都变成了多高?该题目暴力思路很好想,暴力思路时间复杂度第一眼会以为是n2过不了,但是仔细分析时间复杂度后会发现时间复杂度其实是。,我们假设这头牛能一直吃,身。
2025-03-07 13:28:25
228
2
原创 acwing 6135. 奶牛体检
n<=7500这个范围很有提示性,这意味着我们可以以n2的时间复杂度来通过该题,所以我们考虑优化暴力做法,第一个优化方向是预处理匹配数量,但是这也只能使得时间复杂度变成n3,而遍历区间又是不能舍的,所以我们还需在翻转这找规律。读完题目后,脑中所想的第一个解法应该就是暴力枚举,即暴力枚举每一个区间,在将每一个区间翻转然后寻找匹配值,我们分析一下这个的。,对遍历到的每个区间我们先判断原区间两端是否匹配,匹配就-1,然后翻转判断翻转后是否匹配,匹配就+1(然后在遍历每个区间(,至此时间复杂度我们便优化至了n2;
2025-03-04 23:13:59
413
2
原创 acwing 6123.哞叫时间
题目说的每个字符都有可能损坏,损坏就会造成结果发生变化,我们必须遍历整个字符串,然后在遍历每个字符可能改变的值,将其修改成新的字符串后再在新的字符串中找寻符合条件的字符串大框架已经明确,现在只需实在字符串中找符合条件的abb即可,我们可以将其单独写成一个函数该函数所实现的功能就是,在l-r这个区间里寻找abb形式的字符串并将其数量加一,并对出现次数大于f的字符串标记为true。
2025-03-03 08:07:09
243
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人