CF #624 div2

Posted hhyx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CF #624 div2相关的知识,希望对你有一定的参考价值。

# A

题意:

两个序列a,b表示一个比赛,分别输入a,b,输入是1 代表这个回合得分,每个位置上的a,b是对应的回合,

二者在某一个回合可能都得分,求能够使a的总和大于b的总和中a的分最大值的可能的最小值

题解:

分别统计a的个数和b的个数以及二者共同的个数分情况求解

 

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 const int N=1e5+10;
 4 int n;
 5 bool a[N],b[N];
 6 int main(){
 7     cin>>n;
 8     int ans=1;
 9     int suma=0,sumb=0,same=0;
10     for(int i=1;i<=n;i++){
11         int x;
12         cin>>x;
13         a[i]=x;
14         if(x)
15             suma++;
16     }
17     for(int i=1;i<=n;i++){
18         int x;
19         cin>>x;
20         b[i]=x;
21         if(x && a[i]) same++;
22         if(x) sumb++;
23     }
24 
25     if(suma == same && sumb >= same) {
26         ans=-1;
27     }
28     else if(suma>sumb) {
29         ans=1;
30     }
31     else if(suma <= sumb) {
32         int now=suma-same;
33         int need=sumb-same-now;
34 
35         ans+=need/now;
36         ans+=1;
37 
38     }
39     cout<<ans<<endl;
40 }

 

# B

题意:

题解:

# C

题意:

长度小于100的字符串,对于i位置可以删去的条件是 i-1或者 i+1 位置是它的上一个字母(比如a对于b,d对于e)

删去元素后前后两段合并,意味着i-1跟i+1相邻了问最多能删去多少个元素

题解:

从字母z到b开始模拟,保证了每个字母后面没有大的可以删,满足最优

每个字母如果进行了删除操作,需要再遍历一次这个字母,因为删除以后相邻的可能会满足条件。

#include<bits/stdc++.h>
#define N 110
using namespace std;

bool vis[N];

int main(){
    int n;
    string s;
    cin >> n >> s;
    int ans = 0;
    for(int i = 25; i > 0; --i){
        char now = a + i;
        int lastans = ans;
        for(int j = 0; j < n; ++j){
            int pre = j - 1, nex = j + 1;
            while(pre >= 0 && vis[pre]){
                pre--;
            }
            while(nex < n && vis[nex]){
                nex++;
            }
            if(!vis[j] && s[j] == now && ((pre < 0 ? 0 : s[j] - s[pre] == 1) || (nex == n ? 0 : s[j] - s[nex] == 1))){
                ans++;
                vis[j] = true;
            }
        }
        if(ans > lastans){
            i++;
        }
    }
    cout << ans << endl;
    return 0;
}

# D

题意:

题解:

以上是关于CF #624 div2的主要内容,如果未能解决你的问题,请参考以下文章

CF600 div2 F.Cheap Robot

cf386(div2)大一狗ACM之路

$CF 639 (Div2)$

$CF 639 (Div2)$

# $CF 638 (Div2)$

CF#603 Div2