头像

babyQ




离线:3个月前



babyQ
3个月前
#include<bits/stdc++.h>
using namespace std;
int n,x;
int main(){
    cin>>n;
    while(n--){
        cin>>x;
        int s=0;
        for(int i=x;i;i-=i&-i)s++;
        cout<<s<<' ';
    }
}


活动打卡代码 AcWing 2816. 判断子序列

babyQ
3个月前
#include<bits/stdc++.h>
using namespace std;
int n,m,a[100001],b[100001];
int main(){
    cin>>n>>m;
    for(int i=0;i<n;++i)cin>>a[i];
    for(int i=0;i<m;++i)cin>>b[i];
    int i=0,j=0;
    while(i<n&&j<m){
        if(a[i]==b[j])i++;
        j++;
    }
    if(i==n)cout<<"Yes";
    else cout<<"No";
}



babyQ
3个月前
#include<bits/stdc++.h>
using namespace std;
int a[100001],b[100001],x,n,m;
int main(){
    cin>>n>>m>>x;
    for(int i=0;i<n;++i)cin>>a[i];
    for(int i=0;i<m;++i)cin>>b[i];
    for(int i=0,j=m-1;i<n;++i){
        while(j>=0&&a[i]+b[j]>x)j--;
        if(j>=0&&a[i]+b[j]==x)cout<<i<<' '<<j;
    }
}



babyQ
3个月前
#include<bits/stdc++.h>
using namespace std;
int s[100001],n,a[100001];
int main(){
    cin>>n;
    for(int i=0;i<n;++i)cin>>a[i];
    int ans=0;
    for(int i=0,j=0;i<n;++i){
        s[a[i]]++;
        while(j<n&&s[a[i]]>1)
        s[a[j++]]--;
        ans=max(ans,i-j+1);
    }cout<<ans;
}


活动打卡代码 AcWing 798. 差分矩阵

babyQ
3个月前
#include<bits/stdc++.h>
using namespace std;
int b[2001][2001],n,m,q,a[2001][2001];
void in(int x1,int y1,int x2,int y2,int c){
    b[x1][y1]+=c;
    b[x2+1][y1]-=c;
    b[x1][y2+1]-=c;
    b[x2+1][y2+1]+=c;
}
int main(){
    scanf("%d%d%d",&n,&m,&q);
    for(int i=1;i<=n;i++)
    for(int j=1;j<=m;j++)
    scanf("%d",&a[i][j]);
    for(int i=1;i<=n;i++)
    for(int j=1;j<=m;j++)
    in(i,j,i,j,a[i][j]);
    while(q--){
        int x1,y1,x2,y2,c;
        cin>>x1>>y1>>x2>>y2>>c;
        in(x1,y1,x2,y2,c);
    }
    for(int i=1;i<=n;i++)
    for(int j=1;j<=m;j++){
        b[i][j]+=b[i-1][j]+b[i][j-1]-b[i-1][j-1];
    }
    for(int i=1;i<=n;++i){
        for(int j=1;j<=m;++j)
        printf("%d ",b[i][j]);
        puts("");
    }
}


活动打卡代码 AcWing 125. 耍杂技的牛

babyQ
3个月前
#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int>P;
P c[100001];
int n;
int main(){
    cin>>n;
    for(int i=0;i<n;++i){
        int w,s;
        cin>>w>>s;
        c[i]={w+s,w};
    }
    sort(c,c+n);
    int r=-2e9,ans=0;
    for(int i=0;i<n;++i){
        int s=c[i].first-c[i].second,w=c[i].second;
        r=max(r,ans-s);
        ans+=w;
    }cout<<r;
}


活动打卡代码 AcWing 104. 货仓选址

babyQ
3个月前
#include<bits/stdc++.h>
using namespace std;
int n,a[100001],ans;
int main(){
    cin>>n;
    for(int i=0;i<n;++i)cin>>a[i];
    sort(a,a+n);
    for(int i=0;i<n;++i)ans+=abs(a[i]-a[i>>1]);
    cout<<ans;
}


活动打卡代码 AcWing 913. 排队打水

babyQ
3个月前
#include<bits/stdc++.h>
using namespace std;
int n,a[100001];
long long ans;
int main(){
    cin>>n;
    for(int i=0;i<n;++i)cin>>a[i];
    sort(a,a+n);
    reverse(a,a+n);
    for(int i=0;i<n;++i)ans+=a[i]*i;
    cout<<ans;
}


活动打卡代码 AcWing 148. 合并果子

babyQ
3个月前
#include<bits/stdc++.h>
using namespace std;
priority_queue<int,vector<int>,greater<int> >head;
int main(){
    int n,x;
    cin>>n;
    while(n--){
        cin>>x;
        head.push(x);
    }int ans=0;
    while(head.size()>1){
        int a=head.top();head.pop();
        int b=head.top();head.pop();
        ans+=a+b;head.push(a+b);
    }cout<<ans;
}


活动打卡代码 AcWing 907. 区间覆盖

babyQ
3个月前
#include<bits/stdc++.h>
using namespace std;
struct md{
    int l,r;
    bool operator<(const md &w)const{
        return l<w.l;
    }
}a[100001];
int n,s,t;
int main(){
    cin>>s>>t>>n;
    for(int i=0;i<n;++i)
    cin>>a[i].l>>a[i].r;
    sort(a,a+n);
    int f=0,ans=0;
    for(int i=0;i<n;++i){
        int j=i,r=-2e9;
        while(j<n&&a[j].l<=s){
            r=max(r,a[j].r);
            j++;
        }
        if(r<s){
            ans=-1;break;
        }ans++;
        if(r>=t){
            f=1;break;
        }i=j-1;s=r;
    }if(!f)ans=-1;
    cout<<ans;
}