CDQZ Day7

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
//#include<vector>
//#include<stack>
#include<map>
#define R(a,b,c) for(register int (a)=(b);(a)<=(c);++(a))
#define nR(a,b,c) for(register int (a)=(b);(a)>=(c);--(a))
#define Ii inline int
#define Iv inline void
#define Il inline long long
#define Ib inline bool
#define INF 0x7ffffff
#define re register
#define ll long long
#define Max(a,b) ((a)>(b)?(a):(b))
#define Min(a,b) ((a)<(b)?(a):(b))
#define Cmin(a,b) ((a)=(a)<(b)?(a):(b))
#define Cmax(a,b) ((a)=(a)>(b)?(a):(b))
#define Fill(a,b) memset((a),(b),sizeof((a)))
#define D_e_Line printf("\n-------------\n");
#define D_e(x) printf("\n______%d_______\n",x)
#define Pause() system("pause")
using namespace std;
const int N=100005;
Il read(){
    ll s=0,f=1;char c;
    for(c=getchar();c>'9'||c<'0';c=getchar())if(c=='-')f=-1;
    while(c>='0'&&c<='9')s=s*10+(c^'0'),c=getchar();
    return s*f;
}
template<class Tp>Iv print(Tp x){
    if(x<0)putchar('-'),x=-x;
    if(x>9)print(x/10);
    putchar(x%10^'0');
}
ll x,y,d,a,b,c;
Iv Exgcd(ll a,ll b,ll &x,ll &y,ll &d){
    if(!b)
        x=1,y=0,d=a;
    else
        Exgcd(b,a%b,y,x,d),y-=x*a/b;
}
#define ON_JUD
int main(){
#ifdef ON_JUD
    freopen("exgcd.in","r",stdin),freopen("exgcd.out","w",stdout);
#endif
    int T=read();
    while(T--){
        a=read(),b=read(),c=read(),
        Exgcd(a,b,x,y,d);
        b/=d;
        if(c%d!=0){
            printf("no\n");continue;
        }
        int ans=(x*c/d%b+b)%b;
        if(ans==0)ans+=b;
        printf("%d\n",ans);
    }
    return 0;
}
/*
9
7 9 6
1 2 1
2 6 5
2 3 2
4 5 4
2 3 2
1 5 2
4 5 3
2 4 2

6
1
no
1
1
1
2
2
1
*/
View Code
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
//#include<vector>
#include<stack>
//#include<map>
#define R(a,b,c) for(register int (a)=(b);(a)<=(c);++(a))
#define nR(a,b,c) for(register int (a)=(b);(a)>=(c);--(a))
#define Ii inline int
#define Iv inline void
#define Il inline long long
#define Ib inline bool
#define INF 0x7ffffff
#define re register
#define ll long long
#define Max(a,b) ((a)>(b)?(a):(b))
#define Min(a,b) ((a)<(b)?(a):(b))
#define Cmin(a,b) ((a)=(a)<(b)?(a):(b))
#define Cmax(a,b) ((a)=(a)>(b)?(a):(b))
#define Fill(a,b) memset((a),(b),sizeof((a)))
#define D_e_Line printf("\n-------------\n");
#define D_e(x) printf("\n______%d_______\n",x)
#define Pause system("pause")
using namespace std;
const int N=100005;
Ii read(){
    int s=0,f=1;char c;
    for(c=getchar();c>'9'||c<'0';c=getchar())if(c=='-')f=-1;
    while(c>='0'&&c<='9')s=s*10+(c^'0'),c=getchar();
    return s*f;
}
template<class Tp>Iv print(Tp x){
    if(x<0)putchar('-'),x=-x;
    if(x>9)print(x/10);
    putchar(x%10^'0');
}
int n,m,a[105];ll ans;
Ii gcd(int a,int b){
    while(b^=a^=b^=a%=b);return a;
    //return !b?a:gcd(b,a%b);
}
Iv dfs(int x,int cnt,int tot){
    if(cnt&1)ans+=m/tot;
    else ans-=m/tot;
    R(i,x+1,n)
        dfs(i,cnt+1,tot*a[i]/gcd(tot,a[i]));
}
#define ON_JUD
int main(){
#ifdef ON_JUD
    freopen("not.in","r",stdin),freopen("not.out","w",stdout);
#endif
    n=read(),m=read();
    R(i,1,n)
        a[i]=read();
    R(i,1,n)
        dfs(i,1,a[i]);
    print(m-ans);
    return 0;
}
/*
3 20
2 3 5
*/
View Code
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
//#include<vector>
//#include<stack>
#include<map>
#define R(a,b,c) for(register int (a)=(b);(a)<=(c);++(a))
#define nR(a,b,c) for(register int (a)=(b);(a)>=(c);--(a))
#define Ii inline int
#define Iv inline void
#define Il inline long long
#define Ib inline bool
#define INF 0x7ffffff
#define re register
#define ll long long
#define Max(a,b) ((a)>(b)?(a):(b))
#define Min(a,b) ((a)<(b)?(a):(b))
#define Cmin(a,b) ((a)=(a)<(b)?(a):(b))
#define Cmax(a,b) ((a)=(a)>(b)?(a):(b))
#define Fill(a,b) memset((a),(b),sizeof((a)))
#define D_e_Line printf("\n-------------\n");
#define D_e(x) printf("\n______%d_______\n",x)
#define Pause system("pause")
using namespace std;
const int N=100005;
Il read(){
    ll s=0,f=1;char c;
    for(c=getchar();c>'9'||c<'0';c=getchar())if(c=='-')f=-1;
    while(c>='0'&&c<='9')s=s*10+(c^'0'),c=getchar();
    return s*f;
}
template<class Tp>Iv print(Tp x){
    if(x<0)putchar('-'),x=-x;
    if(x>9)print(x/10);
    putchar(x%10^'0');
}
Il Pow(ll a,ll b,ll mod){
    a%=mod,b%=mod;
    ll s=1;
    while(b){
        if(b&1)s=s*a%mod;
        a=a*a%mod,b>>=1;
    }
    return s;
}
Il G(ll x,ll mod){
    ll sum=0;
    R(i,1,INF)
        if(x%i==0){
            sum+=i,
            x/=i;
            if(x==1)
                return sum;
        }
}
Il F(ll x,ll mod){
    return Pow(2048,Pow(3,G(x,mod),mod),mod)%mod;
}
#define ON_JUD
int main(){
#ifdef ON_JUD
    freopen("func.in","r",stdin),freopen("func.out","w",stdout);
#endif
    ll l=read(),r=read(),mod=read();
    if(l==r){
        printf("0\n");return 0;
    }
    ll ans=F(l,mod);
    R(i,l+1,r)
        ans^=F(i,mod);
    print(ans);
    return 0;
}
View Code

 

posted @ 2019-01-28 16:15  邱涵的秘密基地  阅读(159)  评论(0编辑  收藏  举报