社区讨论

特殊性质WA求助

P9741 「KDOI-06-J」翻转与反转参与者 5已保存回复 10

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
10 条
当前快照
1 份
快照标识符
@lo12w2mi
此快照首次捕获于
2023/10/22 14:19
2 年前
此快照最后确认于
2023/11/02 13:47
2 年前
查看原帖
CPP
#include<iostream>
#include<cstdio>
#include<iomanip>
#include<memory.h>
#include<cstdlib>
#include<ctime>
#include<climits>
#include<cctype>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<set>
#include<bitset>
#include<map>
#include<unordered_map>
#include<stack>
#include<vector>
#include<queue>
#include<deque>
#include<list>
#include<utility>
//#include<Windows.h>
#define bug puts("liupei")
#define int long long
#define F(i,j,n) for(register int i=j;i<=n;++i)
#define R(i,j,n) for(register int i=j;i>=n;--i)
#define MAX_TIME 0.95
#define pii pair<int,int>
#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a)<(b)?(a):(b))
#define lc (p<<1)
#define rc (p<<1|1)
using namespace std;
const int N=1e5+50;
const bool debug=0;
const int mod=998244353;
int n;
bool a[N];
inline void doit(int x){
	reverse(a+1,a+1+x);
	F(i,1,x)a[i]^=1;
	return;
}
signed main() {
	srand(time(0));
	if(debug){
		freopen("2.in","r",stdin);
	}
	scanf("%lld",&n);
	F(i,1,n)cin>>a[i];
	bool flag=1;
	F(i,1,n){
		if(a[i]!=0){
			flag=0;
		}
	}
	if(flag){
		F(i,1,(n+1)/2){
			printf("1 ");
		}
		F(i,1,floor(n/2)){
			printf("0 ");
		}
		return 0;
	}
	F(i,1,n){
		doit(i);//不是交替进行的 
		if(debug){
			cout<<"第 "<<i<<" 次操作后: ";
			F(i,1,n)cout<<a[i]<<" ";
			puts("");
		}
	}
	F(i,1,n)cout<<a[i]<<" ";
	return 0;
}
TLE的那些不管它(蒟蒻确实不会 Θ(n)\Theta(n) )的做法。

回复

10 条回复,欢迎继续交流。

正在加载回复...