首页 > 其他分享 >C. Removal of Unattractive Pairs

C. Removal of Unattractive Pairs

时间:2023-12-10 21:45:31浏览次数:26  
标签:字符 Pairs int max cin Removal map1 Unattractive 长度

这道题很考验思维。

这道题目我们只需要考虑出现次数最多的字符的个数,分两种情况讨论。

1、如果该字符出现次数超过n/2(这里设为x),那么其他字符和该字符凑成一对进行消除,即剩下的长度为2x-n。

2、如果该字符出现次数低于n/2,那么对于任意字符都有足够的其余字符和他凑成一对进行消除,那么就变成了长度问题。

这种情况下:当总字符串长度为奇数时,两两消除最终会剩下一个;当总字符串长度为偶数时,两两消除最终剩下空串。

主要代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int t;
    cin>>t;
    while (t--){
        int n,max=0;
        cin>>n;
        cin.get();
        map<char,int> map1;
        for (int i=0;i<n;i++){map1[getchar()]++;}
        for (map<char,int>::iterator i=map1.begin();i!=map1.end();i++)
            if ((i->second)>max) max=i->second;
        if (max<=n/2) printf("%d\n",n%2);
        else printf("%d\n",2*max-n);
    }
    return 0;
}

 

标签:字符,Pairs,int,max,cin,Removal,map1,Unattractive,长度
From: https://www.cnblogs.com/purple123/p/17893277.html

相关文章

  • How to connect two pairs of AirPods to one phone simultaneously
    TechStreamingHomeKitchenHealthStyleBeautyGiftsDealsMore REVIEWS  TECHHowtoconnecttwopairsofAirPodstoonephonesimultaneouslyWrittenby AbigailAbesamisDemarest and DevonDelfino; editedby ElenaMatarazzo Updated......
  • C. Removal of Unattractive Pairs
    原题链接不知道这个思想叫什么,应该叫结果思想导论如果存在一个最长的字符串,我又没有可能把他消掉?答案是,只要其他字符的长度大于等于最长字符串的长度,就一定能把他消掉。所以我们不考虑字符串是怎么消除的,直接看结果。原因解释如下1.该最长字符串一定和其他字符相连,则消除操......
  • [Codeforces] CF1703F Yet Another Problem About Pairs Satisfying an Inequality
    时间限制\(2s\)|空间限制\(250M\)题目描述给你一个序列$a_1,a_2,\dotsa_n$。请计算出满足下面条件的$(i,j)(1\leqi,j\leqn)$个数。$a_i<i<a_j<j$.输入格式第一行包含一个整数$t$($1\leqt\leq1000$)—测试数据的个数每一个......
  • IOI 2007 Pairs
    IOI2007Pairs可以考虑三个情况:若B=1:这其实好像没什么好说的?lower_bound就可以轻轻松松30分code:voidsolve1(){for(inti=0;i<N;i++){std::cin>>a[i];}sort(a,a+N);i64ans=0;for(inti=0;i<N;i++){intlst=lower_bound......
  • CF1542E2 Abnormal Permutation Pairs (hard version) 题解
    怎么会有这么离谱的题目啊。【模板】前缀和优化dp。思路考虑一个基本的东西。由于要求字典序的限制。我们可以枚举最长公共前缀计算。考虑如何求长度为\(i\)的排列有\(j\)个逆序对的数量。设\(dp_{i,j}\)。\[dp_{i,j}=\sum_{k=0}^{i-1}dp_{i-1,j-k}\]就是枚举新的......
  • CF1542E2 Abnormal Permutation Pairs (hard version) 题解
    AbnormalPermutationPairs(hardversion)两个限制:字典序小、逆序对大,一个显然的想法就是确保一对关系,统计另一对关系。确保哪一对呢?我们想了想,决定确保字典序小,因为字典序是可以贪心的。具体而言,我们考虑两个排列自第\(i\)位开始出现了不同。这样子,我们便将两个排列各自划......
  • 【前缀和优化 dp】CF1542E2 Abnormal Permutation Pairs (hard version) 题解
    CF1542E2首先时间复杂度肯定是\(\mathcal{O}(n^3)\)的。容易想到先枚举最长公共前缀,然后枚举\(p_{len+1}\)和\(q_{len+1}\),再枚举逆序对数进行统计。令\(f_{i,j}\)表示有\(j\)个逆序对的\(i\)阶排列的个数。易得转移\(f_{i,j}=\sum\limits_{k=\max(j-i+1,0)}^{j}f......
  • 1820BThe BOSS Can Count Pairs[分块]
    Problem-B-Codeforces题意是给n个a和b,1<=a,b<=n,问有多少ai*aj==bi+bj,i<j,2e5的数据规模看一眼数据规模,a,b都是小于等于n的,意味着如果ai*aj>n那么就对答案无贡献,或者说,对于一个ai,剩下数中可能能对答案产生影响的aj,一定是小于等于n/ai的。那么我们可以以ai为依据升序排序,......
  • CF1542E1 Abnormal Permutation Pairs (easy version) 题解
    CF1542E1AbnormalPermutationPairs(easyversion)题解不会Hardversion对于第一个限制字典序,我们可以考虑枚举前\(i\)位相同,然后考虑后\(n-i\)位。我们只需要保证\(p_{i+1}<q_{i+1}\)即可。我们设\(len=n-i\)。由于前\(i\)位完全相同,所以前\(i\)位内部......
  • 【题解】CF1830B The BOSS Can Count Pairs
    你考虑,我们观察数据范围,发现可以是\(O(n\sqrtn)/O(n\logn)\)的,我们又看到乘法,便有几个大概的想法:数论分块\(O(\sqrtn)\)枚举其中一个乘数还有什么……(笔者学识浅陋,读者可以帮忙补充)我们可以找到两种\(O(n^2)\)做法:\(O(n^2)\)枚举数对\((i,j)\)然后进行判断。......