Ajls's Blog
  • 主页
  • 归档
  • 类别
  • 标签
  • 关于

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

二维前缀和

转移方程: 1f[i][j]−f[i−1][j]−f[i][j−1]+f[i−1][j−1]
2022-01-29
#模板 #formwork

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

牛客练习赛95 C-Division

题目链接:点击跳转 题意:给出一个长度为n的数组,每次可以取长度大于等于k的一段对里面的数除二(向下取整),问能不能将里面所有数变为1 代码: 123456789101112131415161718192021222324252627282930313233343536373839404142434445def get_ans(self): # 计算该数几次操作后变为1 ans = -1
2022-01-21
#acm
123456

Search

浙ICP备20029441号
浙ICP备20029441号 | police-icon 浙ICP备20029441号