数论专题
renxinyu2002
虽然我们走不了最短路,但图依然是连通图
展开
-
计算系数
#include#include#include#includeusing namespace std;typedef long long ll;ll a,b,k,n,m,c[1010][1010]; const int mod=10007;ll pow(ll x,ll y,ll mo){ if(y==0) return 1; ll res=po原创 2017-10-30 20:35:29 · 511 阅读 · 0 评论 -
分解质因数模板
#include#include#include#include#include using namespace std;int main(){ int n; cin>>n; for(int i=2;i while(n%i==0){ n/=i; printf("%d ",i); } } if(n!=1) cout cou原创 2017-11-08 11:53:18 · 271 阅读 · 0 评论 -
青蛙的约会
// exgcd,注意最后面求出最小解的公式...还有就是判断有没有解,还有就是把正负颠倒一下...#include#include#include#include#includeusing namespace std;typedef long long ll;ll x,y,m,n,l; ll exgcd(ll a,ll b,ll& xx,ll& yy){原创 2017-11-08 15:19:44 · 159 阅读 · 0 评论 -
倒酒(拓展欧几里得)
// 对gcd的理解...#include#include#include#includeusing namespace std;int gcd(int x,int y){ return !y?x:gcd(y,x%y);}int exgcd(int a,int b,int& x,int& y){ if(b==0){ x=1; y=0; retur原创 2017-11-08 15:37:05 · 651 阅读 · 0 评论 -
noip2013转圈游戏
#include#include#include#include#includeusing namespace std;int n,m,k,x; int p(int x,int y,int z){ if(y==0) return 1; if(y==1) return x; int res=p(x,y/2,z); res=re原创 2017-10-31 21:47:14 · 173 阅读 · 0 评论 -
同余方程(拓展欧几里得模板)
#include#include#include#includeusing namespace std;int exgcd(int a,int b,int& x,int& y){ if(b==0){ x=1; y=0; return a; } int res=exgcd(b,a%b,x,y);原创 2017-10-31 21:53:36 · 174 阅读 · 0 评论 -
妖梦拼木棒(组合数学)
#include#include#include#includeusing namespace std;typedef long long ll;const int maxn=1e5+10;const int mod=1e9+7;ll c[5010][5010],n,a[maxn],num[5010],ans;int main(){ scanf("%lld"原创 2017-10-24 22:35:07 · 317 阅读 · 0 评论 -
gcd的和
#include#include#include#includeusing namespace std;const int maxn=1e5;typedef long long ll;int gcd(int a,int b){ return !b?a:gcd(b,a%b); }ll n,ans=0,a[maxn];int main(){原创 2017-11-02 06:56:17 · 421 阅读 · 0 评论 -
奶牛分
#include#include#include#include#includeusing namespace std;const int maxn=1e6+10;int vis[maxn],a[maxn],n;int main(){ scanf("%d",&n); for(int i=1;i scanf("%d",&a[i])原创 2017-11-03 21:28:18 · 212 阅读 · 0 评论