头像

bolerat


访客:1440

离线:3个月前



bolerat
9个月前
#include<iostream>
using namespace std;
int n,m; 
void dfs(int i,int sum,int state){//利用state来判断是否在k个时选取 
    if(sum+n-i<m)return;//剪枝 
    if(sum==m){
        for(int k=0;k<i;k++)if(state>>k&1)cout<<k+1<<' ' ;
        cout<<endl;
        return;
    }
    if(i==n)return;//终止 
    dfs(i+1,sum+1,state|1<<i);
    dfs(i+1,sum,state);
}
int main(){
    cin>>n>>m;
    dfs(0,0,0);
    return 0;
}



bolerat
9个月前
#include<iostream>
using namespace std;
int n;
void dfs(int i,int state){//利用state来判断是否在k个时选取 
    if(i==n){
        for(int k=0;k<n;k++){
            if(state>>k&1)cout<<k+1<<' ';
        }
        cout<<endl;
        return;//一定要返回,勿忘 
    }
    dfs(i+1,state);
    dfs(i+1,state|1<<i);
}
int main(){
    cin>>n;
    dfs(0,0);
    return 0;
}



bolerat
9个月前

可以问一下如何求证a^b中的(a*b)%p=((a%p)*(a%p))%p吗 //还没学数论



活动打卡代码 AcWing 90. 64位整数乘法

bolerat
9个月前

64位整数乘法

#include<iostream>
using namespace std;
typedef unsigned long long ULL;
int main(){
    ULL a,b,p;
    ULL ans=0;
    cin>>a>>b>>p;
    while(b){
        if(b&1)ans=(ans+a)%p;
        a=a*2%p;
        b>>=1;
    }
    cout<<ans<<endl;
    return 0;
}


活动打卡代码 AcWing 89. a^b

bolerat
9个月前

a^b

a*b%m=((a%m)*(b%m))%m

//用到了数论,虽然我现在还没学, 但有下定理
//(a*b)%p=((a%p)*(b%p))%p;
//则(a^b)%p=((a%p)^b)%p 
#include<iostream>
using namespace std;
int main(){
    int a,b,p;
    cin>>a>>b>>p;
    int ans=1%p;
    while(b){
        if(b&1)ans=1ll*ans*a%p;
        a=1ll*a*a%p;
        b>>=1;
    }
    cout<<ans;
    return 0;
}



bolerat
10个月前

A+B problem 在这么多网站上都做过了…

我也真是蒟蒻.
无论如何,我要加油.



 #include<iostream>
using namespace std;
int main(){
    int a,b;
    cin>>a>>b;
    cout<<a+b;
}