摘要:
C.Koxia and Number Theory(鸽巢原理) 题目大意 给定一个长度为$n(2 \le n \le 100)$的数组$(1\le a[i] \le 10^{18})$,问是否存在一个正整数x,使得对于任意的i,j都满足$gcd(a_i + x,a_j + x) = 1$。 解题思路 阅读全文
C.Koxia and Number Theory(鸽巢原理) 题目大意 给定一个长度为$n(2 \le n \le 100)$的数组$(1\le a[i] \le 10^{18})$,问是否存在一个正整数x,使得对于任意的i,j都满足$gcd(a_i + x,a_j + x) = 1$。 解题思路 阅读全文
posted @ 2022-12-31 16:14
何太狼
阅读(67)
评论(0)
推荐(0)
摘要:
C. Even Subarrays(前缀异或) 题目大意 给定一个数组,求满足所有元素异或的结果有偶数个因子的子数组的个数。本题将0视作有奇数个因子。 解题思路 直接求不好求,我们可以求异或结果有奇数个因子的子数组。 对于一个数,我们可以将其分解为$p_1^{c_1}p_2^{c_2}\cdots 阅读全文
C. Even Subarrays(前缀异或) 题目大意 给定一个数组,求满足所有元素异或的结果有偶数个因子的子数组的个数。本题将0视作有奇数个因子。 解题思路 直接求不好求,我们可以求异或结果有奇数个因子的子数组。 对于一个数,我们可以将其分解为$p_1^{c_1}p_2^{c_2}\cdots 阅读全文
posted @ 2022-12-31 11:50
何太狼
阅读(34)
评论(0)
推荐(0)

#2153. 「SCOI2005」互不侵犯 解题思路 令dp[i][j][k]表示第i行的状态为j时,共放置k个国王的方案数。 状态j的二进制即表示该行的放置方式,例如j为3时,放置的方式为101,即从右向左看第一位和第三位放置国王,其他位不放置。 可以预处理出每一行所有的合法状态,即两两不相邻的状
以下代码来自官方示例 // mersenne_twister_engine constructor #include <iostream> #include <chrono> #include <random> int main () { // obtain a seed from the syst
sort是C++ STL(Standard template library)提供的排序函数,它可以为普通函数或者容器中指定范围内的元素进行排序。默认为升序排序,排序的区间左闭右开。 使用标准库(STL)提供的比较规则 vector<int> a(n); //.... sort(a.begin(),
Excel表列名称 基本思路 题目要求按照规则进行进制转换,该进制虽然为26进制,但是没有0,即其每个数的范围是[1,26]。 假设现有字符序列$a_{n-1}...a_1a_0$,其对应的十进制数字为num。那么我们有: $$ num = \sum^{n-1}{i=0} a_i*26^i $$ 由
题意 给定六边形棋盘每个格子的分数,询问若干初始的棋子摆放 方式,问按照规则移除棋子最多得多少分。 移除棋子有两种方式,一种是直接移除一个棋子,不得分; 另一种是用一个棋子跳过其相邻棋子,移除被跳过的棋子并 且得分增加被移除棋子所在的格子的分数。 原题链接 解题思路 棋盘上的每个位置只有放与不放两种
在二维平面直角坐标系中,只要给定了两点(不重合),就能确定唯一一条直线,但当直线平行或垂直与x轴时,x或y的系数将为0,不方便存储。 不过,既然给定了两个点,我们可以直接用单位向量表示一条直线的斜率。 set<pair<int, int>> S; for (int i = 2; i <= n; ++
求组合数 I 组合数递推式 $$C^b_a = C^b_{a-1} + C^{b-1}_{a-1}$$ $C^b_a$的含义为在a个物品中选出b个物品的方案数,我们考虑将a个物品分为两部分,a-1个物品为一部分,剩下一个物品为另一部分, 现在我们有两种方案,选择剩下那个物品,则要从a-1中选择b个,
浙公网安备 33010602011771号