Codeforces 专区
Codeforces Round #932(Div.2)
怎么只会 A 啊。
#
题目大意#
对于一个字符串
- 令
为 的反串, 。 - 令
为 的反串, 。
要求操作完后
题目思路#
考虑到一个字符串越短越好,所以我们尽量是用第二种形式的,发现如果
但是如果
#
题目大意#
给你一个长度为
题目思路#
对于区间仔细分析后发现是可以合并的,具体来说:
- 对于
,可以得出 。
简单证明一下就是考虑
那么问题就变得很简单了,因为划分
#
题目大意#
给你
题目思路#
我们考虑一个事情,如果选出了
因此我们考虑枚举这个集合中的下标最小值和下标最大值,在这中间,很明显元素是按照
#
题目大意#
给定一个大小为
。 。
题目思路#
首先发现这个一看就很容斥的样子,考虑容斥完我们要计算什么:
考虑第一项的值,就是
考虑第二项的值,发现对于每一个
考虑第三项的值,发现对于每一个
考虑第四项的值,在此之前,我们要想明白一个事情,对于一对
然后直接计算即可。
Codeforces Round #919(Div.2)
怎么只会 A, B, D 啊。
感觉越打越智慧了。
#
题目大意#
给你
要大于等于给定数 。 要小于等于给定数 。 要不等于给定数 。
问你满足条件的整数
题目思路#
这个很显然就是求出前两种限制的限定范围,然后看这个限定范围内有多少数不可以选,然后就没了。
#
题目大意#
Alice 和 Bob 轮流操作一个长度为
- Alice 可以选取
个数字并删掉它们。 - Bob 可以选取
个数字使它们乘上 。
现在 Alice 先操作一次,Bob 后操作一次,Alice 想要最大化
题目思路#
考虑这么一个事情,那就是在 Alice 操作完后,Bob 一定会选择
#
题目大意#
对于一个长度为
- 存在
,使得令 ,并把 依次分成 个子串后,这 个子串的每个位置的值依次相等。
问你有多少个
题目思路#
这个题妙妙。
考虑到
不难得出时间复杂度为
#
题目大意#
对于一个最开始为空的序列
- 向末尾添加
。 - 复制
份 并添加到末尾。
有
题目思路#
最为简单的一道题目,一中好像考过加强版?
考虑到
但是
Codeforces Round #917(Div.2)
#
题目大意#
给定一个字符串
题目思路#
这个题妙妙妙。
考虑到进行操作后只可能是一段后缀加前面的某个字符,又因为每个后缀长度不同,所以直接枚举即可。
#
题目大意#
自己可以看原题。
题目思路#
考虑到如果
如果又初始值,那么初始操作不会超过
Codeforces Round #772(Div. 2)
#
题目大意#
自己可以看原题。
题目思路#
考虑到
#
题目大意#
自己可以看原题。
题目思路#
对于本题,显然,如果
#
题目大意#
自己可以看原题。
题目思路#
首先观察样例不难发现,如果在
考虑为什么,首先第一种是好证的,因为
然后考虑将前面
#
题目大意#
自己可以看原题。
题目思路#
考虑每一次就是在二进制末尾加
贪心的想,先排序,最小的数一定会带来最大的贡献。
Codeforces Round #727(Div. 2)
只会 A B C 捏。
#
题目大意#
自己可以看原题。
题目思路#
考虑每个点对答案的贡献,不难发现是:
解释一下就是,我第
不难发现是一段相等的数和一个等差数列,求和就完了。
#
题目大意#
自己可以看原题。
题目思路#
直接前缀和维护就完了。
#
题目大意#
自己可以看原题。
题目思路#
考虑每次就是连续一段数分组,每次想当于是花若干代价将两段连接起来,在贡献相等的情况下,当然是越小越好,所以按照这个贪心就好了。
#
题目大意#
自己可以看原题。
题目思路#
考虑按照
然后在拿的过程中要注意能否拿
Codeforces Round #569(Div. 2)
#
题目大意#
自己可以看原题。
题目思路#
考虑其是由四个阶梯型组合而成,再把多余的给去掉就好了。
#
题目大意#
自己可以看原题。
题目思路#
考虑把所有数都变为负数,然后如果是奇数那么就选绝对值最大的数取正(可以证明减少贡献最小),然后就没了。
#
题目大意#
自己可以看原题。
题目思路#
CF 出原题?
考虑经过最多
Codeforces Round #666(Div. 2)
#
题目大意#
自己可以看原题。
题目思路#
发现此要求等价于所有字母出现次数都能被
#
题目大意#
自己可以看原题。
题目思路#
考虑到合法的
#
题目大意#
自己可以看原题。
题目思路#
构造题。
考虑刻画这一本质,就是最后一定有一次
然后我们把
#
题目大意#
自己可以看原题。
题目思路#
首先如果最大的一堆要比其它的大,那么肯定先手赢。
然后判断奇偶性,如果是奇数就是先手赢,偶数就是后手赢。
Codeforces Round #509(Div. 2)
#
题目大意#
自己可以看原题。
题目思路#
发现最差一定是买了
#
题目大意#
自己可以看原题。
题目思路#
首先把
#
题目大意#
自己可以看原题。
题目思路#
肯定是能选小的就选小的,然后用 set 模拟贪心的过程,二分一下就好了。
#
题目大意#
自己可以看原题。
题目思路#
这个肯定就最优肯定是从一段上升区间开头的,然后维护下前缀和,二分一下,注意一下细节就好了。
#
题目大意#
自己可以看原题。
题目思路#
不难证明,如果能构造出一棵非链树,那么一定可以构造出一种链。
然后构造链就贪心的去选就好了,不难发现始终有一个数是
Codeforces Round #495(Div. 2)
#
题目大意#
自己可以看原题。
题目思路#
考虑钦定
#
题目大意#
自己可以看原题。
题目思路#
考虑基本不等式,
#
题目大意#
自己可以看原题,
题目思路#
发现只有一种数的最后一个数的贡献最容易统计,记录一下前缀出现不同的数的个数就好了。
#
题目大意#
自己可以看原题。
题目思路#
我写了题解,可以去看,CF1004D。
Codeforces Round #404(Div. 2)
#
题目大意#
自己可以看原题。
题目思路#
就直接模拟就好了。
#
题目大意#
自己可以看原题。
题目思路#
贪心的想,肯定是选越远越好的,然后求一下最大最小就做完了。
#
题目大意#
自己可以看原题。
题目思路#
首先如果
如果
注意高精度。
#
题目大意#
自己可以看原题。
题目思路#
首先我们枚举前一半的终止位置在哪里,然后钦定这个位置为最后一个,那么位置
然后我们把组合数的第一个利用对称性转化,然后利用范德蒙德卷积的标准形式进行整合,就可以做到
Codeforces Round 965 (Div. 2)
每一道题目应该被铭记,每一次思考应该被珍惜。
#
题目大意#
自己可以看原题。
题目思路#
考虑讨论一下贡献,发现除了非中位数位置上的数都是
然后有
- 全部分配给最大值。
- 全部分配给中位数。
因为如果两者都分配很明显肯定不是最优的。
然后如果要增加最大值我们就直接选一个最大的
如果要增加中位数的话这个问题不太好处理,我们,可以二分最大的中位数,这样一定是每次把最大的
作者:alexande
出处:https://www.cnblogs.com/alexande/p/18059254
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)