牛客寒假算法基础集训营3 I.处女座的约会
链接:https://ac.nowcoder.com/acm/contest/329/I
思路:
作者:儒生雄才1
链接:https://ac.nowcoder.com/discuss/152781?type=101&order=0&pos=1&page=1
来源:牛客网
首先因为每次在右边砍掉一个头就相当于在左边会多出来一个头,所以可以把每𝑛次操作看作一轮,每轮的操作都是从01串右边向左边对每个位置在原位依次进行操作。我们考虑这种做法,从右到左我们首先看到1就把他变成0,0的话让他随机,直到第一次出现有0变成了1的情况。如果没有出现这种情况那么这个串已经符合了要求,如果有0变成1发生,那么在这之后的1我们都继续变成1。这样一轮结束之后,这个01串所表示的二进制数的的大小一定是严格增加了的(因为虽然你可能把一些1变成了0但是有一个高位的0变成了1)而这个二进制数的大小是有限的,因此在有限步内一定可以把这串数变成全0串。
1 #include<bits/stdc++.h> 2 #define M 200000+5 3 using namespace std; 4 typedef long long ll; 5 int a[M]; 6 int main() 7 { 8 int t;cin>>t; 9 while(t--) 10 { 11 string s;cin>>s; 12 cout<<"cnznb"<<endl; 13 } 14 return 0; 15 }
备注:显然处女座很牛逼(题解原话)
————————————————
心里有光,哪儿都美
心里有光,哪儿都美