摘要: Codeforces Round #841 (Div. 2) and Divide by Zero 2022 C. Even Subarrays(前缀异或) 题目大意 给定一个数组,求满足所有元素异或的结果有偶数个因子的子数组的个数。本题将0视作有奇数个因子。 解题思路 直接求不好求,我们可以求异或结果有奇数个因子的子数组。 对于一个数,我们可以将其分解为$p_1^{c_1}p_2^{c_2}\cdots 阅读全文
posted @ 2022-12-31 11:50 何太狼 阅读(25) 评论(0) 推荐(0) 编辑
摘要: #2153. 「SCOI2005」互不侵犯(状压DP) #2153. 「SCOI2005」互不侵犯 解题思路 令dp[i][j][k]表示第i行的状态为j时,共放置k个国王的方案数。 状态j的二进制即表示该行的放置方式,例如j为3时,放置的方式为101,即从右向左看第一位和第三位放置国王,其他位不放置。 可以预处理出每一行所有的合法状态,即两两不相邻的状 阅读全文
posted @ 2022-12-27 17:09 何太狼 阅读(16) 评论(0) 推荐(0) 编辑
摘要: C++ 随机数生成器 mt19937 以下代码来自官方示例 // mersenne_twister_engine constructor #include <iostream> #include <chrono> #include <random> int main () { // obtain a seed from the syst 阅读全文
posted @ 2022-12-19 21:07 何太狼 阅读(267) 评论(0) 推荐(0) 编辑
摘要: C++ sort sort是C++ STL(Standard template library)提供的排序函数,它可以为普通函数或者容器中指定范围内的元素进行排序。默认为升序排序,排序的区间左闭右开。 使用标准库(STL)提供的比较规则 vector<int> a(n); //.... sort(a.begin(), 阅读全文
posted @ 2022-12-13 21:35 何太狼 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 没有0的进制 Excel表列名称 基本思路 题目要求按照规则进行进制转换,该进制虽然为26进制,但是没有0,即其每个数的范围是[1,26]。 假设现有字符序列$a_{n-1}...a_1a_0$,其对应的十进制数字为num。那么我们有: $$ num = \sum^{n-1}{i=0} a_i*26^i $$ 由 阅读全文
posted @ 2022-12-08 17:37 何太狼 阅读(233) 评论(0) 推荐(0) 编辑
摘要: ccpc威海 D-Sternhalma(状压DP,记忆化搜索) 题意 给定六边形棋盘每个格子的分数,询问若干初始的棋子摆放 方式,问按照规则移除棋子最多得多少分。 移除棋子有两种方式,一种是直接移除一个棋子,不得分; 另一种是用一个棋子跳过其相邻棋子,移除被跳过的棋子并 且得分增加被移除棋子所在的格子的分数。 原题链接 解题思路 棋盘上的每个位置只有放与不放两种 阅读全文
posted @ 2022-12-01 14:49 何太狼 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 计算直线的斜率 在二维平面直角坐标系中,只要给定了两点(不重合),就能确定唯一一条直线,但当直线平行或垂直与x轴时,x或y的系数将为0,不方便存储。 不过,既然给定了两个点,我们可以直接用单位向量表示一条直线的斜率。 set<pair<int, int>> S; for (int i = 2; i <= n; ++ 阅读全文
posted @ 2022-11-29 14:14 何太狼 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 组合数 求组合数 I 组合数递推式 $$C^b_a = C^b_{a-1} + C^{b-1}_{a-1}$$ $C^b_a$的含义为在a个物品中选出b个物品的方案数,我们考虑将a个物品分为两部分,a-1个物品为一部分,剩下一个物品为另一部分, 现在我们有两种方案,选择剩下那个物品,则要从a-1中选择b个, 阅读全文
posted @ 2022-11-24 16:27 何太狼 阅读(50) 评论(0) 推荐(0) 编辑
摘要: #引入 lucas定理用于求解大组合数取模问题,其中模数必须为素数。并且p的范围不能太大,一般为$10^5$左右。 #定义 lucas定理内容如下,对于质数p,有 $$ C^m_n \equiv C^{\lfloor m/p \rfloor}{\lfloor n/p \rfloor} * C^{m% 阅读全文
posted @ 2022-11-23 13:15 何太狼 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 乘法逆元在取模运算中发挥着极其重要的作用。 我们可以很轻松的证明以下式子: $$ (a+b)%p = (a%p+b%p)%p\ (a-b)%p = (a%p-b%p)%p\ ab%p = a%pb%p $$ 但是对于除法: $$ \frac{a}{b}%p \neq \frac{a%p}{b%p}% 阅读全文
posted @ 2022-11-22 20:58 何太狼 阅读(22) 评论(0) 推荐(0) 编辑