当前位置:网站首页>Codeforces Round #770 (Div. 2) ABC
Codeforces Round #770 (Div. 2) ABC
2022-07-05 01:37:00 【Vijurria】
The main idea of the topic : Given a length of n String s, The number of transformations is k. ask k How many different strings can you get after one operation ?
Operating rules :1. s→s+reverse(s) or 2. s→reverse(s)+ s ( Choose any transformation )
input
4 3 2 aab 3 3 aab 7 1 abacaba 2 0 aboutput
2 2 1 1
When the string is palindrome , Both transformations are ultimately the same , So just judge s Whether it is a palindrome string can determine the trend of future transformation . Non palindromes will also become palindromes after an operation , So it's one step more than palindrome .
Special judgement k==0 He still exists in a form of the original string
#include<iostream>
#include<cmath>
#include<string>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;
int main()
{
cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
int t; cin>>t;
while(t--)
{
int n,k; cin>>n>>k;
string s; cin>>s;
bool flag=true;
if(k==0) cout<<"1"<<endl;
else{
for(int i=0;i<n;i++)
if(s[i]!=s[n-i-1]) flag=false;
if(flag==false) cout<<"2"<<endl;
else cout<<"1"<<endl;
}
}
return 0;
}
The main idea of the topic : In limine Alice from x Start the operation ,Bob from x+3 Start the operation , And then there's a length of n Sequence a, Traverse this sequence from front to back , Every time Alice and Bob They have to make the following changes to their numbers :
1.d→d+ai; 2.d→d xor ai( A choice ).
Ask after all the operations are finished , Who can just get y, And the output ( The title is guaranteed to be available to only one person y).
input
4 1 7 9 2 2 0 2 1 3 4 0 1 1 2 3 4 2 1000000000 3000000000 1000000000 1000000000output
Alice Alice Bob Alice
adopt x And x+3 We can know that their parity is different , Each exclusive or operation on an odd number will change its parity , So we can assume alice Hold an odd number , And with arrays a Xor operation , If Alice After XOR with the whole array, and y The parity of is the same , Then output Alice , Otherwise output Bob.
Exclusive or ^ :110 000 101 010
Bitwise AND & :111 100 010 000
#include<iostream>
#include<cmath>
#include<string>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;
typedef long long LL;
LL a[200200];
int main()
{
cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
LL t,n,x,y;
cin>>t;
while(t--)
{
cin>>n>>x>>y;
for(int i=1;i<=n;i++)
{
cin>>a[i];
x^=a[i];
}
if(((x^y)&1)==0)cout<<"Alice"<<endl;
else cout<<"Bob"<<endl;
}
return 0;
}
The main idea of the topic :n That's ok m Column , Ask if you can put 1~n*m Put them into this matrix and take out any string of numbers on any row , Their average must be an integer .
input
4 1 1 2 2 3 3 3 1output
YES 1 YES 1 3 2 4 NO YES 1 2 3
It can be simplified to two numbers ,/2 To be integer , That must be the same parity , Extended to a long string of numbers, it must be the same parity to get the whole . Then controlling the odd and even separation becomes .
#include<iostream>
#include<cmath>
#include<string>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;
int main()
{
cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
int t,n,m;
cin>>t;
while(t--)
{
cin>>n>>m;
if(m==1)
{
cout<<"YES"<<endl;
for(int i=1;i<=n;i++)
cout<<i<<endl;
}
else if(n&1) cout<<"NO"<<endl;// If it is an odd row, there must be a row with odd and even coexistence
else
{
cout<<"YES"<<endl;
for(int i=1,k=1;i<=n*m;i+=2,k++)
{
cout<<i<<" ";
if(k%m==0) cout<<endl;
}
for(int i=2,k=1;i<=n*m;i+=2,k++)
{
cout<<i<<" ";
if(k%m==0) cout<<endl;
}
}
}
return 0;
}
边栏推荐
- Using openpyxl module to write the binary list into excel file
- Express routing, express middleware, using express write interface
- Five ways to query MySQL field comments!
- Wechat applet; Gibberish generator
- Basic operations of database and table ----- delete index
- Global and Chinese market of network connected IC card smart water meters 2022-2028: Research Report on technology, participants, trends, market size and share
- Redis' hyperloglog as a powerful tool for active user statistics
- Delaying wages to force people to leave, and the layoffs of small Internet companies are a little too much!
- [CTF] AWDP summary (WEB)
- Change the background color of a pop-up dialog
猜你喜欢
增量备份 ?db full
Win: use PowerShell to check the strength of wireless signal
Async/await you can use it, but do you know how to deal with errors?
Logstash、Fluentd、Fluent Bit、Vector? How to choose the appropriate open source log collector
Basic operations of database and table ----- create index
Phpstrom setting function annotation description
Four pits in reentrantlock!
Do you know the eight signs of a team becoming agile?
Analysis and comparison of leetcode weekly race + acwing weekly race (t4/t3)
Hedhat firewall
随机推荐
Database postragesq peer authentication
微信小程序:微群人脉微信小程序源码下载全新社群系统优化版支持代理会员系统功能超高收益
If the consumer Internet is compared to a "Lake", the industrial Internet is a vast "ocean"
[Chongqing Guangdong education] National Open University spring 2019 1042 international economic law reference questions
Redis master-slave replication cluster and recovery ideas for abnormal data loss # yyds dry goods inventory #
Win:使用 PowerShell 检查无线信号的强弱
Actual combat simulation │ JWT login authentication
PowerShell:在代理服务器后面使用 PowerShell
Kibana installation and configuration
Redis(1)之Redis简介
Pytorch common code snippet collection
Package What is the function of JSON file? What do the inside ^ angle brackets and ~ tilde mean?
Unified blog writing environment
无心剑英译席慕容《无怨的青春》
Interesting practice of robot programming 16 synchronous positioning and map building (SLAM)
Wechat applet: independent background with distribution function, Yuelao office blind box for making friends
Phpstrom setting function annotation description
Win: use PowerShell to check the strength of wireless signal
Introduction to redis (1)
How to safely eat apples on the edge of a cliff? Deepmind & openai gives the answer of 3D security reinforcement learning