当前位置:网站首页>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;
}
边栏推荐
- Basic operations of database and table ----- delete index
- Lsblk command - check the disk of the system. I don't often use this command, but it's still very easy to use. Onion duck, like, collect, pay attention, wait for your arrival!
- JS implementation determines whether the point is within the polygon range
- 增量备份 ?db full
- Database performance optimization tool
- 如果消费互联网比喻成「湖泊」的话,产业互联网则是广阔的「海洋」
- Classification of performance tests (learning summary)
- Analysis and comparison of leetcode weekly race + acwing weekly race (t4/t3)
- Robley's global and Chinese markets 2022-2028: technology, participants, trends, market size and share Research Report
- Win: add general users to the local admins group
猜你喜欢
[flutter topic] 64 illustration basic textfield text input box (I) # yyds dry goods inventory #
Remote control service
R语言用logistic逻辑回归和AFRIMA、ARIMA时间序列模型预测世界人口
整理混乱的头文件,我用include what you use
Behind the cluster listing, to what extent is the Chinese restaurant chain "rolled"?
Yyds dry goods inventory kubernetes management business configuration methods? (08)
[CTF] AWDP summary (WEB)
Database performance optimization tool
JS implementation determines whether the point is within the polygon range
PHP wechat official account development
随机推荐
Interesting practice of robot programming 14 robot 3D simulation (gazebo+turtlebot3)
Database postragesql lock management
node工程中package.json文件作用是什么?里面的^尖括号和~波浪号是什么意思?
[development of large e-commerce projects] performance pressure test - Optimization - impact of middleware on performance -40
WCF: expose unset read-only DataMember property- WCF: Exposing readonly DataMember properties without set?
Win: add general users to the local admins group
Wechat applet: exclusive applet version of the whole network, independent wechat community contacts
142. Circular linked list II
Game 280 of leetcode week
Hedhat firewall
【大型电商项目开发】性能压测-性能监控-堆内存与垃圾回收-39
A simple SSO unified login design
Include rake tasks in Gems - including rake tasks in gems
Introduction to redis (1)
[wave modeling 2] three dimensional wave modeling and wave generator modeling matlab simulation
Delaying wages to force people to leave, and the layoffs of small Internet companies are a little too much!
無心劍英譯席慕容《無怨的青春》
Pytorch fine tuning (Fortune): hollowed out design or cheating
Are you still writing the TS type code
220213c language learning diary