题目链接:Codeforces Round 967 (Div. 2) - Codeforces
总结:B题没测试就交wa一发,C题一直没想到怎么回溯,哎。
A. Make All Equal
tag:签到
Solution:找到相同元素的最大值,将其它所有元素删去。
void solve(){
cin >> n;
vector<int> a(n);
map<int, int> mp;
int ans = 0;
for (int i = 0; i < n; i ++){
cin >> a[i];
mp[a[i]] ++;
ans = max(ans, mp[a[i]]);
}
cout << n - ans << endl;
}
B. Generate Permutation
tag:构造
Solution:对于一个数 i i i,我们发现如果 i − 1 i - 1 i−1在它左边,则第二台打字机执行一次回车;如果在它右边,则第一台打字机执行一次回车。那么我们构造一个 a 4 a 2 a 1 a 3 a 5 a_4a_2a_1a_3a_5 a4a2a1a3a5。同时发现 n n n是偶数,一定不行。
Competing:一下就猜中了,写完代码后没测试,wa一发。
void solve(){
cin >> n;
if (n % 2 == 0){
cout << "-1\n";
}
else{
vector<int> a(n