zoukankan      html  css  js  c++  java
  • Codeforces Round #375 (Div. 2)

    题目链接:

    A:The New Year: Meeting Friends

    B:Text Document Analysis

    C:Polycarp at the Radio

    分析:这场第一题送分,第二题模拟,第三题构造+特殊处理。做出几道说几道,QAQ

    A.

    求出最大值与最小值之差即可

    B.

    多种情况判断一下,分为

    '_':判断前一个是否为单词,是且在括号内则cnt++,不在括号内则比较最大值

    '(':flag++,判断前一个是否为单词,是则同上处理

    ')':flag--,同样判是否为单词,是则cnt++

    若为单词且不在括号内则 len++

    详情见代码

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<algorithm>
     4 using namespace std;
     5 
     6 char s[256];
     7 int n,cnt,maxlen,len,i,flag;
     8 
     9 int main()
    10 {
    11     cin>>n>>s;
    12     while(s[i]!='')
    13     {
    14         switch(s[i++])
    15         {
    16             case '_':if(!flag) {maxlen=max(maxlen,len),len=0;} 
    17                     else if(i>1&&(s[i-2]>='a'&&s[i-2]<='z'||s[i-2]>='A'&&s[i-2]<='Z')) {cnt++;}break;
    18             case '(':flag++;maxlen=max(maxlen,len),len=0;break;
    19             case ')':flag--;if(s[i-2]>='a'&&s[i-2]<='z'||s[i-2]>='A'&&s[i-2]<='Z') {cnt++;}break;
    20             default:if(!flag) len++;
    21         }
    22     }
    23     maxlen=max(maxlen,len);
    24     printf("%d %d
    ",maxlen,cnt);
    25 }
    View Code

    C.

    对每一个<=m的数记录次数,然后要求的最大的最小值即为n/m

    遍历数组b,若b[i]<=m&&a[b[i]]>x||b[i]>m,那么遍历a,找到a[i]<x,然后处理,注意判断的顺序

    详情见代码

     1 #include<cstdio>
     2 #include<algorithm>
     3 #include<iostream>
     4 using namespace std;
     5 
     6 int n,m,x,a[2020],b[2020],cnt,num;
     7 
     8 int main()
     9 {
    10     scanf("%d %d",&n,&m);
    11     for(int i=1;i<=n;++i)
    12     {
    13         scanf("%d",b+i);
    14         if(b[i]<=m) a[b[i]]++;
    15     }
    16     x=n/m;
    17     for(int i=1;i<=n;++i) if(b[i]>m||b[i]<=m&&a[b[i]]>x)
    18     {
    19         //printf("b[%d]=%d
    ",i,b[i]);
    20         for(int j=1;j<=m;++j) if(a[j]<x)
    21         {
    22             //printf("a[%d]=%d
    ",j,a[j]); 
    23             if(b[i]<=m)a[b[i]]--;b[i]=j;a[j]++;cnt++;break;
    24         }
    25         //for(int i=1;i<=n;++i) printf("%d%c",b[i],i==n?'
    ':' ');
    26     }
    27     printf("%d %d
    ",x,cnt);
    28     for(int i=1;i<=n;++i) printf("%d%c",b[i],i==n?'
    ':' ');
    29 }
    View Code
  • 相关阅读:
    在静态工具类中需要注入mapper
    springboot整合mybatis之用外置服务器启动项目(二)
    基于java 的websocket的聊天功能,一开始初始化websocket,执行打开连接之后就直接关闭连接了。
    Lwip的相关资料
    轻量级的应用服务器基础框架
    libevent和基于libevent的网络编程
    protobuf的使用
    module graceful-fs for npm
    Filebeat命令参考
    Filebeat原理与简单配置入门
  • 原文地址:https://www.cnblogs.com/chendl111/p/5929825.html
Copyright © 2011-2022 走看看