----------数论----------
文章平均质量分 96
FSYo
我不去想是否能够成功,
既然选择了远方,
便只顾风雨兼程
展开
-
CometOJ contest#13「火鼠的皮衣 -不焦躁的内心-」(单位根反演)
给定 n,a,b,pn,a,b,pn,a,b,p,求∑i=0n2aibn−i∗2(n2∗i)\sum_{i=0}^{\frac{n}{2}}a^ib^{n-i*2}\binom{n}{2*i}i=0∑2naibn−i∗2(2∗in)指数不相同,丑陋∑i=0n2ai∗2bn−i∗2(n2∗i)\sum_{i=0}^{\frac{n}{2}}\sqrt a^{i*2}b^{n-i*2}\b...原创 2019-10-25 23:36:03 · 179 阅读 · 0 评论 -
近期刷题总结 [19 03 30]
目录P2495 [SDOI2011]消耗战[ 虚树 ]P5002 专心OI - 找祖先P4562 [JXOI2018]游戏[ 组合数学 ]P1505 [国家集训队]旅游 [ 树剖模板 ]P4317 花神的数论题 [ 数位DP ]P3107 [USACO14OPEN]里程表Odometer[ 数位DP ]P3527 [POI2011]MET-Meteors[ ...原创 2019-03-30 22:32:36 · 475 阅读 · 0 评论 -
近期刷题总结 [19 03 24]
目录CF14D Two Paths[树的直径]P3174 [HAOI2009]毛毛虫[树的直径]P2312 解方程[秦九韶算法]CF888D Almost Identity Permutations[ DP ]CF888G Xor-MST[0/1 trie]CF863D Yet Another Array Queries Problem[ splay 模板 ]...原创 2019-03-24 10:20:52 · 565 阅读 · 0 评论 -
暑假好题汇总
目录[JSOI2007]文本生成器 [AC自动机 + DP]BZOJ3687简单题[Bitset]恨 7 不成妻[数位 DP][SHOI2011]双倍回文[Manacher][NOI2007]货币兑换[CDQ+斜率优化DP]BZOJ2655 calc[ 生成函数 + DP + 拉格朗日差值 ]P3401 洛谷树[树链剖分][BZOJ4205][WOJ3...原创 2019-07-07 22:01:43 · 240 阅读 · 0 评论 -
膜拜tshoigyr系列----思维题集锦+斯特林数小结+置换群
n 个 集合, 并集是 [1 -- m] 求方案数例: n = 2, m = 2有 ((1,2), (1, 2)) ((1, 2), 1) (1, (1, 2)) ((1, 2), 2) (2, (1, 2)) (0, (1, 2)) ((1, 2), 0) (1, 2) (2, 1) 9 种解 : n = 3 时, 把 1 -- m 每一个数放进 1 -- 7 个格子中, 可以不放...原创 2019-07-03 09:56:58 · 238 阅读 · 0 评论 -
毒瘤多项式以及一些毒瘤定理的总结
整理一下这两天学的毒瘤玩意二项式反演若有则有因为有一种应用是错排, fn表示有n个是错排的方案, gn表示n个的总方案, 枚举有i个没有对上号, 就有反演过后除以一个 n! 算概率, 发现是 e ^ -1 的泰勒展开, 太神奇了FFT两个核心式子然后就可以推了, 从下层把答案推到上层分治FFT先求出 [l - mid...原创 2019-06-27 23:11:30 · 219 阅读 · 0 评论 -
UOJ450 [集训队作业2018] 复读机 [生成函数+单位根反演]
传送门可以先构造生成函数,然后单位根反演当 d = 2 时 , 需要自己与自己卷 k 次,然后求第 n 项泰勒展开一下,第 n 项就是当 d = 3时,直接暴力枚举 w(3, 0), w(3, 1), w(3, 2) 出现了多少次#include<bits/stdc++.h>#define N 500050using namespace st...原创 2019-08-07 16:33:52 · 196 阅读 · 0 评论 -
BZOJ3516 国王奇遇记 [推式子/DP]
传送门 , n <= 1e9, m <= 1e3由于 n 太大,无法枚举,我们需要一种与 m 有关的算法,比较容易想到由 m 的答案 推到 m + 1 的答案然后就可以 O(m^2) DP 了#include<bits/stdc++.h>#define N 1050using namespace std;const int Mod = 100...原创 2019-08-09 21:49:31 · 301 阅读 · 0 评论 -
BZOJ2987 Earthquake [类欧几里得]
传送门关于求, 需要用到类欧几里得设 当时,当时关于本题枚举 x发现 x 可以改为 c/a - x#include<bits/stdc++.h>using namespace std;typedef long long ll;ll a, b, c;ll f(ll a, ll b, ll c, ll n)...原创 2019-08-14 14:30:42 · 159 阅读 · 0 评论 -
P5170 [模板] 类欧几里得算法
传送门关于 f ( a >= c | b >= c)(a < c & b < c)关于 g首先有暴力拆开发现但 a < c 的时候有点头凸考虑 类似套路的可以推到关于 h跟 f 一样,不想打了#include<bits/stdc++.h>using namespace ...原创 2019-08-14 17:06:26 · 164 阅读 · 0 评论 -
暑假集训 ---- 数学常识!
BZOJ 2655 calc先弄出答案的生成函数∏(1+a1x)(1+a2x)(1+a3x)...(1+aAx)\prod (1+a_1x)(1+a_2x)(1+a_3x)...(1+a_A x)∏(1+a1x)(1+a2x)(1+a3x)...(1+aAx)这个多项式的第 n 项就是答案考虑DP来求, fi,jf_{i,j}fi,j 表示考虑到 aiaiai, 多项式第 j 项...原创 2019-10-01 19:44:42 · 228 阅读 · 0 评论 -
近期刷题总结[2019 03 09]
目录寻找段落[分数规划+单调队列]P4319 变化的道路[LCT + 线段树分治]P2485 [SDOI2011]计算器[exgcd, bsgs] [模板]P4458 [BJOI2018]链上二次求和[线段树][二次前缀和]严格次小生成树[最小生成树+倍增]P2120 [ZJOI2007]仓库建设[斜率优化板子]P2155 [SDOI2008]沙拉公主的困惑...原创 2019-03-09 23:39:58 · 271 阅读 · 0 评论 -
BZOJ1257, 2226, 2705[欧拉函数] [整除分块]
BZOJ1257模转除, 整除分块就可以了#include<bits/stdc++.h>#define LL long longusing namespace std;int n,k; LL ans;int main(){ scanf("%d%d",&n,&k); ans = (LL)k * (LL)n; LL ret = 0; for(i...原创 2019-02-16 23:19:00 · 226 阅读 · 0 评论 -
一些常见的积性函数与狄利克雷卷积
原创 2019-02-16 20:09:56 · 582 阅读 · 0 评论 -
cost数[容斥原理][搜索]
https://blog.csdn.net/forever_dreams/article/details/83618949%%% gsj神仙 %%% #include<bits/stdc++.h>#define N 40#define ll long longusing namespace std;int n,m,a[N],ans;bool cm...原创 2018-11-01 22:55:03 · 235 阅读 · 0 评论 -
越狱[数论+快速幂]
传送门一共有m^n种情况 , 不发生越狱的有 m * (m-1) * (m-1) ... (n-1 个 m-1)因为第一个人有m个可以选 , 后面的只有m-1 个可以选 , 快速幂乘一下就可以了#include<bits/stdc++.h>#define LL long long#define P 100003using namespace std;LL n,m;...原创 2018-11-25 13:00:06 · 229 阅读 · 0 评论 -
排列计数[luogu4071][逆元][错排列]
传送门D[i]表示错排列个数 , 可以证明然后预处理阶乘 , 查询时逆元搞一波就好了 (这年头用ex_gcd写逆元的真少) #include<bits/stdc++.h>#define N 1000000#define LL long long#define P 1000000007using namespace std;LL C[N+50],D[N+5...原创 2018-11-27 21:09:26 · 185 阅读 · 0 评论 -
扩展中国剩余定理
其中m不互质 我们假设前k-1个方程的一个解为ans显然通解为ans + t * lcm , 其中lcm为前k-1项的最小公倍数 , t为任意整数我们现在要求t 满足也就是 转换为exgcd的形式 显然最后的t就是 解出来的t 乘一个luogu4777 #include<bits/stdc++.h>#define N 100050#defi...原创 2018-12-08 11:43:46 · 227 阅读 · 0 评论 -
P4028 New Product [高次同余方程]
传送门题意 : 求 x 使 a ^ x = b ( mod p )我们设x = i * m - j则 原方程等价于 我们预处理b*a^j 的值 , 存到map中, 然后枚举i 直到有a^j与之相等发现当m = sqrt(p) 时最优#include<bits/stdc++.h>#define LL long longusing namespace std...原创 2018-12-19 20:03:10 · 200 阅读 · 0 评论 -
Calculating [整除分块]
传送门根据小学奥数知识 , 要求的就是1-n的所有数的约数个数和我们从每个约数i的贡献考虑 , i的贡献即为 [n/i] 这里向下取整所以要求的就是这里用整除分块可以降到 介绍一下整除分块 , 一般用于上面这一类式子我们发现有一段区间n/i是相等的 , 不妨设为l和r , 满足[n/l] = [n/r] = x当 r 等于 [n / x]根据取整的性质 ...原创 2018-12-09 16:25:43 · 254 阅读 · 0 评论 -
[CQOI2007]余数求和 [整除分块]
传送门考虑整除分块 , 对于一个答案固定的区间 l , rl为左区间 设值为x=n/l 那么这个区间的贡献就是 #include<bits/stdc++.h>#define LL long longusing namespace std;int n,k; LL ans;int main(){ scanf("%d%d",&n,&k); a...原创 2018-12-09 16:41:16 · 150 阅读 · 0 评论 -
Lucas 定理 [证明][模板]
Lucas 定理其中 i = n/p , j = m/p , a = n % p , b = m % p证明令n = ()p首先有所以对于左边的第m位的系数 , 即x^m 的系数 是C(n,m)而对于右边 , x^m 的系数 是 , 即k = m/p , l = m%p证毕模板题#include<bits/stdc++.h>...原创 2019-01-13 11:45:23 · 310 阅读 · 1 评论 -
[SCOI2010]生成字符串 [排列组合]
传送门放在坐标系里 , 选1为横坐标加1 , 0为纵坐标加1 , 重点是(n,m) 减去不合法的解释一下这个图 , 我们将碰到y=x+1 的点翻折 , 原点一定翻折到(-1,1)也就是说 , 所有从(-1,1)出发的点都是不合法的 , 方案数为 C(n+m,n+1)#include<bits/stdc++.h>#define N 2000050#de...原创 2019-01-13 12:42:00 · 202 阅读 · 0 评论 -
T3 [组合+DP]
T3[题目描述] 给你 m 个不同数字,然后用这些数字组成长度为 n 的序列,且保证至少有长度>=k 的一段相同数字的方案数。[输入格式] 3 个整数 N,M,K[输出格式]一行,输出的答案值 MOD 10^9+7[输入样例] 3 2 2[输出样例] 6[数据规模] 1<=N,M,K<=10^6数学推理好题啊考虑总数减不合法的, 就是m^n...原创 2019-01-26 20:06:30 · 205 阅读 · 0 评论 -
缩进优化 [WOJ4371] [数学][有关复杂度的一些计算]
传送门我们发现对于一段ai,ai/x是相同的,我们用差分数组记录个数,乘上贡献就可以了复杂度有一个比较重要的东西 #include<bits/stdc++.h>#define N 1000050#define LL long long#define inf 1000000000000000using namespace std;int a[N],Max...原创 2019-02-15 16:02:03 · 138 阅读 · 0 评论 -
洛阳杯[数论][线性筛]
分析(https://blog.csdn.net/forever_dreams/article/details/83450135)#include<bits/stdc++.h>#define N 100005using namespace std;int n,m,a[N],isp[N],prim[N],tot;int g[N],ans;bitset...原创 2018-10-28 11:06:56 · 211 阅读 · 0 评论