01 2022 档案
摘要:简单的01背包 传送门 题目大意: 有n个物品和m的容量,求所有区间lr内物品的拿取种类和,结果对998244353取模。 n,s,ai都是3000 。 思路: 拿01背包算种类复杂度是ns。再去枚举所有的区间,复杂度是n2*ns。 void solve(){ cin >> n >> m ; rep
阅读全文
摘要:log-2022/1/17 1)刷题: C. Set or Decrease 题目大意: 有n个数字,每次操作可以使某个数减一或者让两个数变成相同的。问最少多少次操作可以使得sum小于等于k。 思路: 一开始看到数据范围我想二分,去二分最小值减小的数量d,使d最小,但是d最小和ans最小中间还有一个
阅读全文
摘要:D. Not Adding 和 埃氏筛 题目大意: 一个数组有n个数。每次操作可以将数组中任意两个数字的gcd放入数组中(只有该gcd不在数组内时才能放入)。问最多能做几次操作。 思路和代码: 一个数字和另一个数字的gcd一定不会超过两数字的较小值。所以我们可以枚举1~MAX的所有数字,去判
阅读全文
摘要:Codeforces Round #764 (Div. 3) A. Plus One on the Subset 1)题目大意: 给一个序列,每次可以选几个数加一。问最少做几次操作可以使得整个序列数值相等。 2)思路: 答案就是最大值最小值之差、 3)代码 //略 B. Make AP 1)题目大意
阅读全文
摘要:G. MinOr Tree 1)题目大意: n点m条边,做一颗生成树,使所有边的or结果最小。 2)思路: 没什么想法,请教大佬阿伟时候小悟了一波。 先将所有边放入集合。从高位到低位枚举二进制位。 1)如果可以用集合内的该二进制位为0的边构造出一个连通的图,那么答案中就不用加该二进制位。 并且在遍历
阅读全文
摘要:F. Fair Distribution 18界浙江省赛 1)题目大意: 有n个机器人和m个能量棒,每次操作可以杀掉一个机器人或者增加一个能量棒。问最少几次操作可以使得n'个机器人平分m'个能量棒。 2)思路: 从暴力到整数分块 。 暴力思路:枚举1到n每一个机器人的情况,算出第一个比b大的i的倍数
阅读全文
摘要:Codeforces Global Round 6 A. Competitive Programmer 1)题目大意: 给一串数字,请将他们重新排列产生一个可以有前导零的数字。问有没有可能排列出一个60的倍数,有可能输出red。 2)思路: 太久没打了这题目一上来我居然写了个搜索 60可以分成3,2
阅读全文