P10330 [UESTCPC 2024] 黑白珠串
1.极限构造法 ,黑珠数量 \(\geqslant\) \(max(y_i)\) , 白珠数量 \(\geqslant\) \(max(x_i-y_i)\)
再观察样例,发现刚好把1全部放左边,0全部放右边时等号成立
code
#include<bits/stdc++.h>
using namespace std;
int x,y[100005];
int main()
{
int k;
cin>>k;
int one=0,zero=0;
for(int i=1;i<=k;i++)
{
cin>>x>>y[i];
one=max(one,y[i]);
zero=max(zero,x-y[i]);
}
cout<<one+zero<<endl;
for(int i=1;i<=one;i++) cout<<1;
for(int i=1;i<=zero;i++) cout<<0;
puts("");
for(int i=1;i<=k;i++)
{
cout<<one-y[i]<<endl;
}
return 0;
}

浙公网安备 33010602011771号