accuber

导航

Codeforces Round 1027 (Div. 2)(A~C)

前言:

这次最后一分钟通过C题,还是不错的,没开翻译把能做的做了就很满意。这几天要考英语四级和蓝桥杯国赛,就只放赛时代码了。

A. Equal Subsequences

点击查看代码
void solve(){
    int n,k;
    string s;
    cin>>n>>k;
    if(k==0){
    	s="";
    	for(int i=1;i<=n;i++)s+='0';
    	cout<<s<<endl;
    }else if(k==n){
    	s="";
    	for(int i=1;i<=n;i++)s+='1';
    	cout<<s<<endl;
    }else {
    	s="1";
    	for(int i=1;i<=n-k-1;i++){
    		s+='0';
    	}
    	for(int i=1;i<=k-1;i++)
    		s+='1';
    	s+='0';
    	cout<<s<<endl;
    }
}

B. Make It Permutation

image

点击查看代码
#include <bits/stdc++.h>
#define int long long
#define endl "\n"
using namespace std;
int n,m,k,kk,u,v;
string s,ss;
int num[11][11];
struct node{
    int w,x,y;
    // bool operator <(const node&u)const{
        // return w<u.w;
    // }
}tr[N];
void solve(){
    cin>>n;
    // for(int i=1;i<=n;i++){
    	// for(int j=1;j<=n;j++)num[i][j]=j;
    // }
    idx=0;
	int p=1;
	for(int i=1;i<=n;i++){
		if(p!=1)tr[idx++]={i,1,p};//,reverse(num[i]+1,num[i]+p+1);
		if(p!=n)tr[idx++]={i,p+1,n};//,reverse(num[i]+1+p,num[i]+n+1);
		p++;
	}
    // for(int i=1;i<=n;i++){
    	// for(int j=1;j<=n;j++)cout<<num[i][j];
    	// cout<<endl;
    // }
    cout<<idx<<endl;
    for(int i=0;i<idx;i++){
    	cout<<tr[i].w<<" "<<tr[i].x<<" "<<tr[i].y<<endl;
    }
}
signed main(){
    ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);
    int _=1;
    cin>>_;
    while(_--) solve();
    return 0;
}

C. Make It Beautiful

image

点击查看代码
#include <bits/stdc++.h>
#define PII pair<int,int>
#define int long long
#define endl "\n"
using namespace std;
const int N=1e6+10,M=1010,mod=1e9+7,INF=0x3f3f3f3f;
int n,m,k,kk,u,v;
bitset<60> a[N];
string s,ss;
void solve(){
    cin>>n>>k;
    for(int i=1;i<=n;i++)cin>>kk,a[i]=kk;//,cout<<a[i]<<endl;
    int p=1;
    for(int i=0;i<60;i++){
    	for(int j=1;j<=n;j++){
    		if(a[j][i]==0&&k>=p){
    			k-=p;
    			a[j][i]=1;
    		}
    	}
    	p*=2;
    	if(k<p)break;
    }
    int res=0;
    for(int i=1;i<=n;i++)res+=a[i].count();
    cout<<res<<endl;
}
signed main(){
    ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);
    int _=1;
    cin>>_;
    while(_--) solve();
    return 0;
}

posted on 2025-06-13 21:15  accuber  阅读(44)  评论(0)    收藏  举报