CF 1665C Tree Infection(模拟 + 贪心) 题目链接: 点击跳转 题意: 给你一棵树,每次你可以依次进行以下操作,1.对于一个节点,如果该节点有至少一个子树被涂色(可以理解为图着色,原译不是涂色)了,那么你可以任选他的子树上的另一个节点使其被传染(可以对多个节点操作,但每个节点的子树在一次操作只能传染一次),2.任选一个节点,使其被涂色(可以选1中操作过的子树中的节点),问最少几次操作能使整棵树都被涂色。 思路: 开始想,从大的数量开始涂色 2022-04-09 acm codeforces
CF 1656D K-good(思维) 题目链接:点击跳转题意: 给你一个数n(2 <= n <= 1e18), 问n是不是k-good数(及分成k个数,k个数的和为n,这k个数取模k的结果均不相同),如果存在多个k成立,输出任意一个即可 思路: 如果一个数能被拆成一个奇数和一个偶数的积(奇数不能为1),该数就是k-good数。 取奇数个,如40 = 5 * 8, 取中间数为8,剩余的数可以依次改为 6 7 9 10。 2022-03-25 acm codeforces
CF 1654E Arithmetic Operations(枚举) 题目链接:点击跳转题意: 给出一个长度为n的序列a,问最少修改几个数字,能使得序列变成等差序列 思路: 枚举公差(我取了-300~300),用数组记录每个数字减去位置乘公差的值出现的次数,出现最多的次数就是在枚举范围内的最优解。 但是这个枚举不能太大(完整枚举2e5 * 1e5会超时),但是只枚举小范围不能保证正确,如样例3最优解的公差为-20000,那么我们可以遍历数据,取数据中 2022-03-21 acm codeforces
CF 1654C Alice and the Cake(模拟) 题目链接:点击跳转 题意: 爱丽丝有一块蛋糕,她要把蛋糕切成n份,每一次操作,她会选择一块蛋糕(另大小为A),将其切成两半,两块大小分别为A / 2, (A + 1) / 2,及分成整数的两半,如果原大小为奇数,则一块会大1,现在给出一个序列,问有没有可能为一块蛋糕经过n - 1次操作后得到的 思路: 由每一块拼回去会因为有不同的拼接操作无法判断,可以逆向思维,模拟一块完整的蛋糕切成现在的大小序列 2022-03-21 acm codeforces
Java IO 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556//--------------------------INPUT READER---------------------------------// static class FastI 2022-02-26 acm formwork 模板
Codeforces Round 770 (Div.2) B.Fortune Telling 题目链接:点击跳转 题意: 有一个长度为n的数组a,对于数组中的每个数,有两种操作方法,1.x + a, 2. x ^ a(^为异或符),Alice开始拥有的数为x,Bob拥有的数为x+3,每个人必须从数组a的开始到结束每个数选择一种方式进行操作,问谁的数能变成y(题目保证成立)。 思路: 每一个数都有两种操作可能max(n) = 1e5,那么可能性有2的1e5次,但是仔细想想发现,不管是异或或是 2022-02-07 acm codeforces
Codeforces Round 770 (Div.2) C.OKEA 题目链接:点击跳转 题意: 商店有n排货架,每排有m个位置能装货物,货物的价格从1到n*m(每个价格一个),店里有一个机器人会从货架每一行的头开始取价格,每取一个价格加上后会计算平均价格,但是这个机器人很特殊,他遇到带小数的数字时会故障,问有没有排列能使机器人不会出现故障 思路: 构建等差数列,根据行数的奇偶性来排列数字(如第一行:1 3 5 7 9, 1 3含两个1 和一个2,那么是2的倍数,1 2022-02-07 acm codeforces
2022牛客寒假算法基础集训营3 C 智乃买瓜(another version) 题目链接:点击跳转 题意::和上题的区别就是现在是已知每个重量的西瓜能有多少种取法,求该组西瓜的重量(答案不唯一) 思路::从前往后处理,如果当前这个重量增加了西瓜,因为可以买半个,那么一定会影响到前面的值导致错误,所以每个重量都认为从半个西瓜得到的,每增加一个使用上一题的dp(链接:点击跳转)来记录当前西瓜所能组成的数量,然后和输入数据比较,如果不够,就继续添加。 代码如下: 123456789 2022-01-29 acm
2022牛客寒假算法基础集训营3 B 智乃买瓜 题目链接:点击跳转 题意:有n个西瓜,每个可以买整个和买半个,问如果他想要购买西瓜的重量和分别为k=1,2,3…M时,有多少种购买西瓜的方案。 思路:将每个西瓜和已经买下的使用dp进行组合,注意半个和整个要独立存入 代码如下: 123456789101112131415161718192021222324252627282930313233343536#include<bits/stdc++ 2022-01-29 acm