摘要: /* 历时两天,算是搞出来了 先贴几个提醒 首先如果是用lucas定理并用阶乘形式来求组合数的, 请判断组合数是否成立,即`C(a, b)`,a是否大于等于b 如果小于你将re几个点 如果是直接用快速幂求解逆元来做的,恭喜你,你将WA#20和#46, 因为p可能小于n, m或n + m, 导致你求出 阅读全文
posted @ 2024-04-29 15:42 blind5883 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 搞懂Lucas定理! Lucas 定理内容如下:对于质数p,有C(n, m) ≡ C(n/p,m/p) * C(n%p, m%p) (mod p)其中n/p, m/p下取整即下面的图片 ![[Pasted image 20240429091355.png]] 卢卡斯定理 - OI Wiki (oi- 阅读全文
posted @ 2024-04-29 10:30 blind5883 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 矩阵 顾名思义就是一个小破方阵 类似这样 0 0 1 1 0 1 0 1 0 1 1 1 0 0 0 0 这就是一个四行四列的矩阵, 矩阵包含三个信息, 长度, 宽度, 数值 数值就是矩阵里每一位上的数值, 通常用一个数值来存 为了方便使用我们常写成结构体形式 定义 struct Mat { int 阅读全文
posted @ 2024-04-28 19:41 blind5883 阅读(16) 评论(0) 推荐(0) 编辑
摘要: Sylvester定理(希尔维斯特定理) Sylvester定理(数论) - 知乎 (zhihu.com) 简单说对于ax + by = n这个式子,当n = ab - a - b时无非负整数解 对于证明看看就行,现在没法整 例题 T319835 [2022第十三届蓝桥杯青少年组省赛] 组合 - 洛谷 | 计算机科学教育新生态 (luogu 阅读全文
posted @ 2024-04-27 22:08 blind5883 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 一般代码只是例子,具体使用依据题目来, DP是一种思想,代码都以属性为最大值等等为例子 01背包 最基本的背包 简单说就是有n个物品和容量为m的包,求其max/min/方案数等等即属性 一般转移方程为f[i][j]意思为在前i个里容量为j的情况下的要求的属性 (可忽略)一般这里的转移是在f[i][j 阅读全文
posted @ 2024-04-26 11:53 blind5883 阅读(10) 评论(0) 推荐(0) 编辑
摘要: /* 手玩数据找规律 你会发现有很强的规律性 */ // O(n) #include <iostream> #include <algorithm> #include <cstring> using namespace std; int n, m; string s; int x[3] = {2, 阅读全文
posted @ 2024-04-20 20:02 blind5883 阅读(13) 评论(0) 推荐(0) 编辑
摘要: /* 手玩数据,会发现,你找不出可以进行超过两次操作的字符串,大胆假设,加上题目里怪异的k <= 10^18,把k限制在2以内 就没了 */ #include <iostream> #include <algorithm> #include <cstring> using namespace std 阅读全文
posted @ 2024-04-20 20:02 blind5883 阅读(6) 评论(0) 推荐(0) 编辑
摘要: /* 和上题一样只不过,是换成了检验答案,还是找规律, 自己看看吧awa O(n) 实际上有点卡数据的意思,但是能过,思想也行,除非极限数据不然卡不掉,卡掉了就在卡掉极限数据 */ #include <iostream> #include <algorithm> #include <cstring> 阅读全文
posted @ 2024-04-20 19:59 blind5883 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 一般代码只是例子,具体使用依据题目来, DP是一种思想,代码都以属性为最大值等等为例子 01背包 最基本的背包 简单说就是有n个物品和容量为m的包,求其max/min/方案数等等即属性 一般转移方程为f[i][j]意思为在前i个里容量为j的情况下的要求的属性 (可忽略)一般这里的转移是在f[i][j 阅读全文
posted @ 2024-04-20 10:06 blind5883 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 暴力bfs /* 这题本身不难, 但是我写难了 就是一个bfs, 没了 但是我的写法恰好犯了一个错误 hark数据 3 5 1 1 0 2 1 1 3 1 1 2 2 0 3 3 0 答案是4而我能输出3 0 -1 -1 1 0 -1 1 -1 0 原因是 我先走到了(2, 2)这时候到(3, 2) 阅读全文
posted @ 2024-04-14 15:25 blind5883 阅读(26) 评论(0) 推荐(0) 编辑