D. Diane

题意:
让你构造一个长度为n的字符串,使得每一个子串都出现奇数次。
思路:
死活构造不出来,只知道每一个字母只能出现奇数次,有一个奇妙的性质没有挖掘到,就是相邻长度l和l+1的连续的字母两个一块构造的话就能出现奇数次,那么讨论讨论就行了,把两个字符串分开用别的字母就可以。注意1的特判。

// Problem: C. Mikasa
// Contest: Codeforces - Codeforces Round #735 (Div. 2)
// URL: https://codeforces.com/contest/1554/problem/C
// Memory Limit: 256 MB
// Time Limit: 1000 ms
// 
// Powered by CP Editor (https://cpeditor.org)

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define x first
#define y second
typedef pair<int,int> pii;
#define int long long
int n,m;
bool check(int x)
{
	int tt=0;
	int res=0;
	for(int i=31;i>=0;i--)
	{
		if(n>>i&1)	{res+=(1ll<<i);continue;}
		else
		{
			if(tt+(1ll<<i)<=x)	tt+=(1ll<<i),res+=(1ll<<i);
		}
	}
	return res>m;
}
signed main()
{	
	int t;
	cin>>t;
	while(t--)
	{
		int n;
		cin >> n;
		string s;
		if(n==1)
		{
			cout<<"a"<<endl;
			continue;
		}
		if(n%2==0)	{
			for(int i=0;i<n/2-1;i++)
			s+=‘a‘;
			s+=‘b‘;
			for(int i=0;i<n/2;i++)
			s+=‘a‘;
		}
		else{
			for(int i=0;i<n/2-1;i++)
			s+=‘a‘;
			s+=‘c‘;
			s+=‘b‘;
			for(int i=0;i<n/2;i++)
			s+=‘a‘;
		}
		cout<<s;
		cout<<endl;
	}
	
}
/**
* In every life we have some trouble
* When you worry you make it double
* Don‘t worry,be happy.
**/

?

上一篇:Redis漏洞利用


下一篇:testng---异常测试/依赖测试