考虑到绝大多数 codeforces 题目在 luogu 上都有翻译,这个列表不会经常更新
https://codeforces.com/problemset/problem/1672/A
输入N个正整数,双方轮流操作
每次操作可以把一个已有的正整数,拆成两个正整数之和
谁无法才做谁就输了(面对全是1的局面,就无法继续拆数了)
如果先手必败输出 maomao90
如果先手必胜输出 errorgorn
https://codeforces.com/problemset/problem/1672/B
若干A加上一个B,是好字符串,单独一个B不是好字符串
初始是空串,每次可以选任意位置,插入一个好字符串
问最终结果能不能是输入的字符串,输出Yes或No
如果以A结尾,那么NO
如果存在前缀,B的个数大于A的个数,那么NO
定义一个数组的相同度,是相邻相等的元素对数
选择两个相邻的元素,同时改成一个新的数字x
输入一个数字,经过若干次操作,让相同度<=1
问至少几次操作
https://codeforces.com/problemset/problem/1669/D
初始一个全是W的字符串
每次操作可以选相邻两个位置,一个改成R,一个改成B
(选过的位置可以重复选)
(不能只选一个,必须是选相邻的2个位置)
(这两个位置可以改成BR也可以改成RB)
问最终结果是否可能是输入的字符串?
https://codeforces.com/problemset/problem/1660/B
多组数据
每组数据输入一个长度为n的数组
每次从数组中选一个最大值自减1
直到数组中所有数字变为0
不希望有一个数字连续两次减少1
问能不能做到,如果可以输出Yes,如果做不到输出No
https://codeforces.com/contest/1656/problem/A
输入一个数组,找到两个下标(i,j)
,使得对于所有的k
都满足
abs(a[i] - a[k]) + abs(a[k] - a[j]) == abs(a[i] - a[j])
https://codeforces.com/contest/1656/problem/B
输入一个数组a
每次从中选择一个数字x
,删去这个数字,其他数字都a[i]-=x
问操作n-1
次之后,能不能恰好剩下k
https://codeforces.com/contest/1656/problem/C
输入一个数组a
,每次可以选一个数字x(x>=2)
,所有数字a[i]%=x
问能不能让所有数字都一样
https://codeforces.com/contest/1654/problem/A
输入一个数组,输出最大+次大
https://codeforces.com/contest/1654/problem/B
输入一个字符串
while 第一个字母在后面也出现过
删掉第一个字母
输出这个字符串
https://codeforces.com/contest/1654/problem/B
输入n个数字 ai
初始是 s=sum(a)
做 n-1 次操作
每次操作可以选一个 w 并把他分成 (w/2) 上取整 和 (w/2) 下取整 两个数字
问是否可能分出输入的n个数字
https://codeforces.com/contest/1649/problem/A
输入长度为n的数组,包含0和1
第一个和最后一个位置一定是1,从第一个位置走到最后一个位置,不能经过0
可以花x的钱,从下标i跳到下标i+x,但是只能跳一次
问从下标1到下标n最少花多少钱?
(注意:如果i和i+1都是陆地,那么从i移动到i+1不需要花钱)
https://codeforces.com/contest/1649/problem/B
n个人之间互相传球,已知第i个人传出了ai次球
问至少有多少个球才可能发生这样的情况
全是0,答案是0
如果 最大的数字 大于 其他所有数字的和,那么答案是 最大的数字-其他所有数字的和
答案是1
https://codeforces.com/contest/1648/problem/A
输入n*m
的矩阵,每个位置有一个颜色
对于每对颜色相同的格子,求曼哈顿距离值之和
https://codeforces.com/contest/1648/problem/B
如果数组中任意两个数字的商(大的除以小的下取整)还在这个数组中,
那么称这个数组是integral
输入一个数组,判断是不是integral
https://codeforces.com/problemset/problem/1646/C
用阶乘和 2的次幂凑n,问至少需要几个数字?
https://codeforces.com/problemset/problem/1634/A
操作次数0,答案是1
回文串,答案是1
否则答案是2
https://codeforces.com/problemset/problem/1634/B
注意到Alice和Bob的奇偶性永远不同
https://codeforces.com/problemset/problem/1634/C
1 3 5 7 9
2 4 6 8 10
11 13 15 17 19
12 14 16 18 20
偶数行有解
奇数行,如果只有一列,有解
第i行,第j列
i / 2 * 2 * m + i % 2 + 2 * j + 1
https://codeforces.com/problemset/problem/1633/A
n
print(n//1010+7-n//1010%7)
https://codeforces.com/problemset/problem/1633/C
怪物生命值 hm
升级了i次攻击
主角攻击力 (dc+i*w)
主角被攻击次数 (hm+(dc+i*w)-1)/(dc+i*w)-1
主角被攻击次数 (hm-1)/(dc+i*w)
怪物攻击力 dm
主角损失生命值 (hm-1)/(dc+i*w)*dm
主角的生命值 (hc+(k-i)*a)
问是否存在i使得
(hm-1)/(dc+i*w)*dm < (hc+(k-i)*a)
https://codeforces.com/problemset/problem/1633/D
设从1
操作到i
需要g[i]
次,用动态规划求
发现g[i]
最大是12
,所以如果k>12*n
,可以直接把k
改为12*n
然后就是一般的背包了,物品重量是操作次数b[g[i]]
,物品价值是c[i]
https://codeforces.com/contest/1633/submission/145277902
https://codeforces.com/problemset/problem/1632/C
a|=b
至多执行1次,因为执行后一定a>=b
,为了让他们相等只会执行b+=1
核心在于a|=b
之前,a+=1
多少次,b+=1
多少次
直觉上来说,数字a中1越少越少,数字b中1越多越好
因为如果a里面没有1,b里面有1,那么a可以通过a|=b
获得
比如初始a=10=0b1010
,那么把a加到11=0b1011
是没有意义的,只是多了1
有可能需要在a|=b
之前,先执行b+=1
,比如
a=4 = 0b0100
b=11= 0b1011
发现在a|=b
之后执行b+=1
没有必要
找到c
和d
,满足c>=a&&d>=b
,最小化c+(c|d)
输入 c 和 b
找到d,d>=b且 c|d 最小
找到 c 是 1 且 b 是 0 的最高位
把b,比这一位低的都改成0
c & ~ b
https://codeforces.com/contest/1627/problem/A
输入n行m列字符矩阵
每次操作可以选一个B,把一行或一列都改成B
目标让第r行,第c列的格子变成B
问最少操作几次
已经是黑的0次
同一行或列有黑的1次
全局全白-1无解
其他2次
https://codeforces.com/contest/1627/problem/B
甲和乙
甲Tina
乙Rahul
n行m列的座位
甲选k个位置乙不准坐
乙选一个可以坐的位置左下
甲选一个位置坐下
甲希望离乙越远越好
乙希望离甲越近越好
远近都是曼哈顿距离
对于每个k都回答一下
甲希望离乙越远越好,所以会选四个角之一
乙知道甲会选四个角之一,对于乙来说,每个位置的距离,是到四个角最远的一个角的距离
甲优选不让乙坐距离小的位置
乙坐甲没有不准做的,距离最小的位置
(把所有位置按照距离排序)
每个位置到四个角距离的最大值
5 4 5
4 3 4
4 3 4
5 4 5
排序这个数组,输出就可以了
https://codeforces.com/contest/1627/problem/C
输入一个树
你来定边权
要求边权都是质数
并且有公共端点的2条边和也是质数
如果存在一个点,度数>2,直接无解
接下来这个树一定是一条链,按照2 3 2 3 2 顺序赋值即可
https://codeforces.com/problemset/problem/1600/E
https://www.luogu.com.cn/problem/CF1600E
Alice 和 Bob 正在玩一个游戏。他们得到了一个长度为 N 由整数组成的数组 A。
他们正在一起建立一个序列。在开始的时候,这个序列是空的。
在一个回合中,玩家可以从数组的左边或右边移出一个数字,并将其添加到序列的右侧。
规则是:他们所建立的序列必须是单调递增的。赢家就是是做出最后一步的玩家。
Alice 是第一个玩的。假设他们都以最佳方式进行游戏的情况下,谁能赢得游戏?
https://codeforces.com/contest/1551
https://codeforces.com/contest/1551/problem/A
输入一个数字 n
找到 c1 和 c2
使得 c1 + 2 * c2 == n
最小化 abs(c1 - c2)
输入任意解(其实解唯一
https://codeforces.com/contest/1551/problem/B1
https://codeforces.com/contest/1551/problem/B2
输入一个字符串 / 数字串
输入一个颜色数
给每个位置染色,要求相同的字母不能染成相同的颜色
不同颜色出现的次数必须相同
问颜色出现几次
输出方案
https://codeforces.com/contest/1551/problem/C
输入 n 个单词
从中选出一些单词
如果其中存在一个字母,出现次数大于一半,那么这个选出的子序列是 interesting 的
问 interesting 的子序列最长多长?
https://codeforces.com/contest/1551/problem/D1
https://codeforces.com/contest/1551/problem/D2
如果 n * m 是偶数
那么一定用1 * 2的多米诺骨牌可以覆盖
但是要求其中k个必须水平放置
输出能不能
输出方案
https://codeforces.com/contest/1551/problem/E
输入一个序列,从中删去一些数字,使得a[i] == i的位置最多
动态规划
https://codeforces.com/contest/1551/problem/F
输入一个大小为n的树,找出一个大小为k的集合,集合中的点距离都相同
https://codeforces.com/problemset/problem/1260/C
https://www.luogu.com.cn/problem/CF1260C
输入R,G,K有无限个栏杆
要求R的倍数必须是红色
要求G的倍数必须是绿色
同时是R和G的倍数可以选择红色还是绿色
然后删去没染色的位置,问能不能不存在连续K个同色
https://codeforces.com/problemset/problem/1294/B
https://www.luogu.com.cn/problem/CF1294B
n个坐标(x,y)
按x排序,问y是否有序
输出从(0,0)走到这n个点的方案
要求优先向右
https://codeforces.com/problemset/problem/1251/C
https://www.luogu.com.cn/problem/CF1251C
输入一个数字,你可以交换奇偶性不同的且相邻的两个数字
问结果最小是多少
https://codeforces.com/problemset/problem/1007/A
https://www.luogu.com.cn/problem/CF1007A
他们正在一起建立一个序列。在开始的时候,这个序列是空的。
在一个回合中,玩家可以从数组的左边或右边移出一个数字,并将其添加到序列的右侧。
规则是:他们所建立的序列必须是单调递增的。赢家就是是做出最后一步的玩家。
Alice 是第一个玩的。假设他们都以最佳方式进行游戏的情况下,谁能赢得游戏?
https://codeforces.com/problemset/problem/721/D
https://www.luogu.com.cn/problem/CF721D
输入N个数字,最多执行K次操作,每次操作是选一个数字+X或者-X
希望操作之后所有数字乘积最小,问操作之后N个数字分别是什么
https://codeforces.com/problemset/problem/445/B
https://www.luogu.com.cn/problem/CF445B
DZY热爱化学.他有n种物质,其中m对会反应
他把它们一种一种倒到烧杯里
有一个危险值,一开始等于1
如果一种物质倒到烧杯里之后至少有一种物质能和它反应,则危险值乘以二
否则危险值不变.求所有物质倒到烧杯里之后最大的危险值
每个化学物质看做一条边,每个连通块大小-1之和是答案
https://codeforces.com/problemset/problem/11/D
输入一个无向图,问有多少个简单环
简单环要求至少3个点,并且不能有重复的点和重复的边