Loading

上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 40 下一页
摘要: 巴士博弈变形。 给定n个石头,每次最少选择p个石头,最多选择q个石头。当石头数少于p时必须全选。 最终选择的人输。 考虑一个很好的性质:每一轮两人之和可以达到 p + q。 取s = n % (p + q) 若s == 0 先手只需先拿q个。随后使得和为p + q .总可以使得最后剩下p个让后手拿。 阅读全文
posted @ 2020-08-09 20:26 MQFLLY 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 给定 a ,b ,c , d , x, y 求上式 0⩽a,b,c,d⩽3×106,0<x,y⩽109,a⩽b,c⩽d.首先对问题转化为枚举质因子,计算为每个公共质因子贡献的问题。(由唯一分解定理容易想到)规模为O(log x + log y)乘积就转化成了和的形式 只需求出此式(指数)然后快速幂即 阅读全文
posted @ 2020-08-09 19:46 MQFLLY 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 给定一个数组a。 对数组a进行操作 1.修改a[i] = j 2.对区间 L , R 求每个子区间的异或和。 容易发现若 R - L 为奇数,每个数的贡献是偶数次,答案为0 若不为奇数,则奇偶相同的位数会贡献奇数次,其他贡献偶数次,即 al ^ al+2 ^ al+4 .....ar 可以用树状数组 阅读全文
posted @ 2020-08-09 11:45 MQFLLY 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 工具需要检测的号码特征有两个:号码中要出现至少 33 个相邻的相同数字;号码中不能同时出现 88 和 44。号码必须同时包含两个特征才满足条件。满足条件的号码例如:13000988721、23333333333、14444101000。而不满足条件的号码例如:1015400080、100100120 阅读全文
posted @ 2020-08-08 21:56 MQFLLY 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 题意:问给定的矩阵中形如绿色的块的个数。 红色是不合法的。第一个红没有全是同样的字母。第二个红越界。第三个红不是斜的45度 对矩形预处理。l[i][j]表示(i , j) 最大向上延伸的长度,其他同理。 mid[i][j] 表示这个点左右延申的最大长度。 用u[i][j]表示向上形成三角形的个数。 阅读全文
posted @ 2020-08-08 20:28 MQFLLY 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 给定n条链,每条链中有若干个数字 选出其中的m条,从每条中选出一个数,问能够得到的最小的最大差值。 如果能选,每次都贪心的选择差最小的一对。那么不妨对原先的数都排一遍序放到容器里。然后相当于必须找到m个不同的才能选取。 由于每次枚举L都是最多一个m发生变化。所以复杂度是没问题的。 vector<pi 阅读全文
posted @ 2020-08-08 19:07 MQFLLY 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 给定 x ,y 问有多少个k元组使得其gcd = x, sigma = y , k随意 首先进行转化,相当于 有多少个k元组满足 gcd = 1,sigma = y / x 。 因此容易得出 y % x != 0 时,输出0 现在相当于计算有多少个gcd = 1 的组 使得sigma = y / x 阅读全文
posted @ 2020-08-08 19:00 MQFLLY 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 两人玩游戏,对于一个自然数,每一轮必然是某人得分 * k ,另一人得分 *k*k 给出最终两人的分数,问是否合理。 很自然想到的做法:算出a*b的三次根式,判断这个能否整除a和b。具体证明不太会,CF猜就完事了 方法:二分。当然也可以预处理进入map int main() { int T = rea 阅读全文
posted @ 2020-08-08 10:18 MQFLLY 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 要求对一个数进行加法分解,问最多能分成多少个合数。 问最多的合数,那么结果必然是有 4, 6 , 9 组成 考虑 n % 4的情况即可。 主要是要想到其他合数都可以用4,6,9组成 int main() { int Q = readint(); while (Q--) { ll n = readll 阅读全文
posted @ 2020-08-08 09:52 MQFLLY 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 求n! 在base进制下的位数。 10进制下 Log10(x) 就是x的位数。 base进制下同理。 记得开double double pre[maxn]; void init() { pre[0] = log(1); for (int i = 1; i < maxn; i++) pre[i] = 阅读全文
posted @ 2020-08-07 23:15 MQFLLY 阅读(117) 评论(0) 推荐(0) 编辑
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 40 下一页