数论
文章平均质量分 53
kosf_
这个作者很懒,什么都没留下…
展开
-
[容斥定理] 牛客15079
题目题目代码#include<bits/stdc++.h>#define int long longusing namespace std;int a[100];signed main(){ int n; a[1]=2; a[2]=5; a[3]=11; a[4]=13; while(cin>>n){ int ans=n; for(int i=1;i<(1<<4);i++){ int cnt=0,temp=1; for(原创 2021-10-28 11:51:11 · 123 阅读 · 0 评论 -
【组合数学】CF1313D Count the Arrays
题目题目思路首先m>=nm>=nm>=n,有一对数相同,就从mmm中选出n−1n-1n−1个数来,即(n−1m)\binom{n-1}{m}(mn−1),有n−1n-1n−1个数可能会相等。除开两个相等的,一个顶点的数,还剩n−3n-3n−3个数,可以任意放在iii两边,因此为2n−32^{n-3}2n−3.特判$n=2n=2n=2的情况代码#include<bits/stdc++.h>using namespace std;#define int long l原创 2021-10-21 01:51:56 · 194 阅读 · 0 评论 -
[唯一分解定理]洛谷P1072
题目添加链接描述刚看以为是傻逼题,找了两个小时bug我是傻逼代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<string>#include<map>#include<qu原创 2021-08-09 01:47:32 · 207 阅读 · 0 评论 -
[大数区间素数]洛谷P1835素数密度
题目题目代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<string>#include<map>#include<queue>#include<stack&g原创 2021-08-08 22:25:03 · 187 阅读 · 0 评论 -
[生成函数]2021牛客第四场 B Sample Game
题目有一个随机数生成器,每次生成iii的概率为pip_ipi,如果现在生成的数不小于之前生成的所有数,继续随机,反之,记上分数为n2n^2n2,nnn为已经生成的数的个数思路设最长答案长度是lenlenlen,设生成函数,设它的系数是len>ilen>ilen>i的概率P(len>i)P(len>i)P(len>i),得:f(x)=∑i=0∞P(len>i)xif(x)=\sum_{i=0}^{\infin}P(len>i)x^if(x)=∑i=0∞原创 2021-07-27 03:01:56 · 181 阅读 · 1 评论 -
[int128] hdu 6970 I love permutation
题目题目给一个奇质数ppp,一个数aaa,序列bi=a∗i%pb_i=a*i\%pbi=a∗i%p (1≤i≤p−1)(1\le{i}\le{p-1} )(1≤i≤p−1),求出序列bbb中逆序对个数%2\%2%2的结果思路本篇博客复刻 参考这篇->dalao博客1,2,3....,p−1{1,2,3....,p-1}1,2,3....,p−1是ppp的完全剩余系,a,2a,3a,....(p−1)aa,2a,3a,....(p-1)aa,2a,3a,....(p−1)a也是ppp的完原创 2021-07-25 01:23:11 · 237 阅读 · 0 评论 -
[FFT]2021牛客暑假训练营 Hash Function
题目添加链接描述思路刚学 先照着打了一遍,明天来补~代码#include<bits/stdc++.h>using namespace std;typedef complex<double> CP;const int lim = 1<<21;double PI = acos(-1.0);CP a[lim],b[lim];bool vis[lim];const int P = 500001;void FFT(CP *x,int lim,int inv原创 2021-07-21 01:13:22 · 106 阅读 · 0 评论 -
[素数筛+最大独立子集] Lightoj1356 Prime Independence
题目题目思路题目要求一个数组内有多少对数互质或者除数不为质数。可以反过来,找有多少对数的除数为质数即可。先预处理每个数的质因子个数。两个质因子个数为奇数和两个质因子个数为偶数的数都不会产生除数为质数的情况。所以可以建立一个二分图,一边的除数质因子个数为奇数,一边为偶数。如果它们除数为质数就相连,求他们的最大匹配。那么最后的答案就是n-最大匹配数代码#include<cstdio>#include<cstring>#include<cmath>#inc原创 2021-01-24 00:52:40 · 123 阅读 · 0 评论 -
[欧拉函数] LightOJ Bi-shoe and Phi-shoe
题目题目链接输入nnn个数,找出质因子的个数大于等于这些数的数,输出他们最小值的和。思路欧拉函数是求小子本身的质因子个数,算出欧拉函数找出满足的最小值即可代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include原创 2021-01-21 23:53:25 · 130 阅读 · 1 评论 -
[除数函数+除法分块]
题目题目思路这个大佬写的很好!大概就是枚举111~nnn的因子。因子为iii时,有⌊n/i⌋\lfloor n/i \rfloor⌊n/i⌋个数会用它做因子。代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#inclu原创 2020-11-19 00:41:47 · 305 阅读 · 0 评论 -
[高斯消元板子题]luogup3389
题目链接板子#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<string>#include<map>#include<queue>#include<stack>原创 2020-11-06 15:41:20 · 118 阅读 · 0 评论 -
[中国剩余定理+快速乘]
题目题目连接:https://www.luogu.com.cn/problem/solution/P3868思路模板题注意快速乘不是提速的 而是减小数据范围的,因为这道题最大的时候会达到10^32 所以要用快速乘代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#in原创 2020-08-24 00:45:21 · 137 阅读 · 1 评论 -
[唯一分解+分组dp] 2020ccpc威海 L
题目一个钟表有n个指针,每一个指针有t个刻度每个刻度。所有制真的刻度不能超过d,求所有指针合起来的不同方向最多有多少种。思路每个指针的不同方向种类即他们的lcmlcmlcm题意转换为:求MAX(lcm(t1,t2,t3,t4,...,tn))MAX(lcm(t_1,t_2,t_3,t_4,...,t_n))MAX(lcm(t1,t2,t3,t4,...,tn))t1+t2+t3+t4+...+tn<=bt_1+t_2+t_3+t_4+...+t_n<=bt1+t2+t3原创 2020-10-29 14:15:52 · 171 阅读 · 0 评论 -
[大数分解板子] 2020ccpc 威海 D
题目应该之后会放gym的吧 大致是求n(n<=1e18)的质因子的积代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<string>#include<map>#include原创 2020-10-28 23:35:24 · 176 阅读 · 0 评论 -
[扩展欧几里得板子] cf 7C line
题目求AX+BY=C的x,y,若无解,输出-1题目链接:https://codeforces.com/contest/7/problem/C代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<cctype>#include<ctime>#include<iostream>#include<strin原创 2020-07-17 00:40:57 · 1501 阅读 · 0 评论 -
[组合数] luogu 5520
题目题目链接:https://www.luogu.com.cn/problem/P5520思路可以把第一个当成单独的树,从第二个树开始每棵树斗鱼一个空位置绑定。那么现在还剩下n-m+1个格子。因为最后的答案是有序的 所以求得是排列数,即An−m+1mA_{n-m+1}^mAn−m+1m代码#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<原创 2020-10-16 00:46:47 · 89 阅读 · 0 评论 -
[组合数] luogu P2822 组合数问题
题目题目链接:https://www.luogu.com.cn/problem/P2822v思路根据公式Cji=Cj−1i+Cj−1i−1C_j^i=C_{j-1}^i+C_{j-1}^{i-1}Cji=Cj−1i+Cj−1i−1,C00=C11=C10=1C_0^0=C_1^1=C_1^0=1C00=C11=C10=1可以递推求出组合数 预处理存下n,mn,mn,m对应答案代码#include<cstdio>#include<cstring>#incl原创 2020-10-16 00:00:03 · 271 阅读 · 0 评论 -
[背包dp+容斥定理] luogu 1450 硬币购物
题目题目链接:https://www.luogu.com.cn/problem/P1450思路如果只询问次数很少 可以完全背包不过这个询问次数很多要超时那么就预处理1—1e51—1e51—1e5的背包的值每次带了d[i]枚硬币 那么d[i]+1之后的硬币就不行s−c[i]∗(d[i]+1)s-c[i]*(d[i]+1)s−c[i]∗(d[i]+1)就是第i个硬币能取的最大钱钱dp[s−c[i]∗(d[i]+1)]dp[s-c[i]*(d[i]+1)]dp[s−c[i]∗(d[i]+1)]就原创 2020-10-14 23:28:20 · 109 阅读 · 1 评论 -
[错排] luogu 4071
题目思路错排:给定n元素集合X,它的每一个元素都有一个特定的位置,而现在要求求出集合X的排列中没有一个元素在它指定位置上的排列的数目.递推公式:D1=0 D2=1D_1=0 \ D_2=1D1=0 D2=1Di=(i−1)∗(Di−1−Di−2)D_i=(i-1)*(D_{i-1}-D_{i-2})Di=(i−1)∗(Di−1−Di−2)这道题要保证mmm个数等于它的下标,即n−mn-mn−m个数不等于下标 答案为Cmn∗D(n−m)C_m^n*D(n-m)原创 2020-10-14 22:19:54 · 81 阅读 · 0 评论