反演复习计划COGS2433&&bzoj3930,CQOI2015选数爱蜜莉雅的冰魔法
Posted zcysky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反演复习计划COGS2433&&bzoj3930,CQOI2015选数爱蜜莉雅的冰魔法相关的知识,希望对你有一定的参考价值。
同bzoj3930。
(日常盗题图)
#include<bits/stdc++.h> #define N 1000010 #define yql 1000000007 #define ll long long using namespace std; int n; ll m,l,r,k;ll f[N]; ll Pow(ll x,int y){ ll ans=1; while(y){if (y&1) ans=ans*x%yql; x=x*x%yql; y>>=1; } return ans; } ll read(){ ll x=0;int f=1;char ch; do{ch=getchar();if(ch==‘-‘)f=-1;}while(ch<‘0‘||ch>‘9‘); do{x=x*10+ch-‘0‘;ch=getchar();}while(ch>=‘0‘&&ch<=‘9‘); return x*f; } int main(){ freopen("aimiliyadeicemagic.in","r",stdin); freopen("aimiliyadeicemagic.out","w",stdout); scanf("%d",&n);k=read();l=read();r=read(); for (ll i=r-l;i>=1;i--){ ll lx=(l-1)/(k*i),rx=r/(k*i); f[i]=(Pow(rx-lx,n)-(rx-lx)+yql)%yql; for (int j=2;i*j<=r-l;j++) f[i]=(f[i]-f[i*j]+yql)%yql; } if (l<=k&&k<=r) f[1]++; printf("%d\n",f[1]); }
以上是关于反演复习计划COGS2433&&bzoj3930,CQOI2015选数爱蜜莉雅的冰魔法的主要内容,如果未能解决你的问题,请参考以下文章
COGS 1534 [NEERC 2004]K小数 &&COGS 930 [河南省队2012] 找第k小的数 可持久化01Trie