~ieowjf~~

真的只有老邱在支持我吗(雾

#622 T1

此题做法显然,但是,不知为何,就是会评测机有小问题。。。无语

SingerCoder 的码,不知为何,我的码风总是毒瘤

#include<cstdio>
using namespace std;
inline void solve()
{
    int a[4];
    scanf("%d %d %d",&a[1],&a[2],&a[3]);
    int ans=0;

    for(int i=1;i<=3;++i)if(a[i]>0)a[i]--,ans++;//

    bool flag=0;
    for(int i=1;i<=3;++i)//
    {
        if(a[i]>=2)
        {
            flag=1;

            int id[3],in=0;

            for(int j=1;j<=3;++j)if(i!=j && a[j]>0){ans++,a[i]--,a[j]--;id[++in]=j;}

            if(in>=2 && a[id[1]]>0 && a[id[2]]>0)a[id[1]]--,a[id[2]]--,ans++;

            break;
        }
    }

    if(!flag)
    {
        for(int i=1;i<=3;++i)
            for(int j=i+1;j<=3;++j)if(a[i]>0 && a[j]>0)
            {
                ans++;a[i]--;a[j]--;
            }
    }

    if(a[1]>0 && a[2]>0 && a[3]>0)++ans;

    printf("%d\n",ans);
}
int main()
{
//  freopen("in.txt","r",stdin);
    int t;
    scanf("%d",&t);
    for(int i=1;i<=t;++i)solve();
    return 0;
}

所以,他码风更毒瘤(逃。

#622 T2

此题,拿笔推推样例,结论显然,因为前两轮没有同一名的。。

/* make by ltao */
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <math.h>
#include <string.h>
#include <time.h>
#include <fstream>
#include <queue>
#include <deque>
#include <stack>
#include <list>
#include <map>
#include <vector>
#include <algorithm>
#define fake int
#define get() getchar()
using namespace std;
fake read(){
    fake x=0;bool f=0;
    char ch=get();
    while(ch<'0'||ch>'9'){
        if(ch=='-') f=1;
        ch=get();
    }
    while(ch<='9'&&ch>='0'){
        x=(x<<1)+(x<<3)+(ch-'0');
        ch=get();
    }
    return f?-x:x;
}

int t,n,x,y;
int main(){
    //freopen("ee.in","r",stdin);
    scanf("%d",&t);
    while(t--){
        n=read();x=read();y=read();
        if(x==n&&y==n){
            printf("%d %d\n",n,n);
            continue;
        }
        if(x==1&&y==1){
            printf("1 1\n");
            continue;
        }
        int k=x+y+1-n;
        printf("%d ",max(k,1));
        printf("%d\n",min(n,(x+y-1)));
    }
    return 0;
}

本人代码,因为人丑,常数都略大。。

其实,CF的题真的没什么好说的,真的是全靠分析,有时豁然开朗,想不到就很尴尬,对于我这种蒟蒻来说,还是多看看吧。。

大部分的题都有 \(O(n)\) 做法

#622 T3

此题,我发现性质,故而只需考虑在函数上的极值

#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
const int Maxn=550000;
typedef long long ll;
ll t,a[Maxn],h[Maxn];
long long count(ll i){
    long long ans1=a[i];
    ll max1=a[i];
    for(int j=i-1;j>=1;j--){
        max1=min(max1,a[j]);
        ans1+=max1;
    }
    max1=a[i];
    for(int j=i+1;j<=t;j++){
        max1=min(max1,a[j]);
        ans1+=max1;
    }
    return ans1;
}
int main(){
    //freopen("ee.in","r",stdin);
    scanf("%lld",&t);
    long long ans=0;int k;
    for(int i=1;i<=t;i++) scanf("%lld",&a[i]);
    for(int i=1;i<=t;i++){
        if(a[i-1]<=a[i]&&a[i]>=a[i+1]){
            ll lans=count(i);
            if(lans>ans){
                ans=lans;
                k=i;
            }
        }
    }
    h[k]=a[k];
    for(int i=k-1;i>=0;i--){
        h[i]=min(h[i+1],a[i]);
    }
    for(int i=k+1;i<=t;i++){
        h[i]=min(h[i-1],a[i]);
    }
    for(int i=1;i<=t;i++) printf("%lld ",h[i]);
    return 0;
}

好像差点事。。。

CF #622 div.2的更多相关文章

  1. CF #376 (Div. 2) C. dfs

    1.CF #376 (Div. 2)    C. Socks       dfs 2.题意:给袜子上色,使n天左右脚袜子都同样颜色. 3.总结:一开始用链表存图,一直TLE test 6 (1)如果需 ...

  2. CF #375 (Div. 2) D. bfs

    1.CF #375 (Div. 2)  D. Lakes in Berland 2.总结:麻烦的bfs,但其实很水.. 3.题意:n*m的陆地与水泽,水泽在边界表示连通海洋.最后要剩k个湖,总要填掉多 ...

  3. CF #374 (Div. 2) D. 贪心,优先队列或set

    1.CF #374 (Div. 2)   D. Maxim and Array 2.总结:按绝对值最小贪心下去即可 3.题意:对n个数进行+x或-x的k次操作,要使操作之后的n个数乘积最小. (1)优 ...

  4. CF #374 (Div. 2) C. Journey dp

    1.CF #374 (Div. 2)    C.  Journey 2.总结:好题,这一道题,WA,MLE,TLE,RE,各种姿势都来了一遍.. 3.题意:有向无环图,找出第1个点到第n个点的一条路径 ...

  5. CF #371 (Div. 2) C、map标记

    1.CF #371 (Div. 2)   C. Sonya and Queries  map应用,也可用trie 2.总结:一开始直接用数组遍历,果断T了一发 题意:t个数,奇变1,偶变0,然后与问的 ...

  6. CF #365 (Div. 2) D - Mishka and Interesting sum 离线树状数组

    题目链接:CF #365 (Div. 2) D - Mishka and Interesting sum 题意:给出n个数和m个询问,(1 ≤ n, m ≤ 1 000 000) ,问在每个区间里所有 ...

  7. CF #365 (Div. 2) D - Mishka and Interesting sum 离线树状数组(转)

    转载自:http://www.cnblogs.com/icode-girl/p/5744409.html 题目链接:CF #365 (Div. 2) D - Mishka and Interestin ...

  8. Codeforces Round #622 (Div. 2) C2. Skyscrapers (hard version)(单调栈,递推)

    Codeforces Round #622 (Div. 2) C2. Skyscrapers (hard version) 题意: 你是一名建筑工程师,现给出 n 幢建筑的预计建设高度,你想建成峰状, ...

  9. Codeforces Round #622 (Div. 2) B. Different Rules(数学)

    Codeforces Round #622 (Div. 2) B. Different Rules 题意: 你在参加一个比赛,最终按两场分赛的排名之和排名,每场分赛中不存在名次并列,给出参赛人数 n ...

随机推荐

  1. 【Nginx入门系列】第三章 通过端口号区分虚拟主机

    1.配置虚拟主机 (1)连接Nginx所在的服务器(我使用的是putty) (2)切换到nginx.conf 配置文件所在的目录,我目录是/usr/local/nginx/conf (3)增加一个虚拟 ...

  2. Arduino系列之智能家居蓝牙语音遥控灯(四)

    用到的材料 Arduino uno hc-05   蓝牙模块 安卓手机 安卓APP AMR—voice 通过安卓手机连接Arduino的蓝牙模块Hc-05,通过语音识别软件AMR-voice识别语音, ...

  3. C#系列之Convert类型转换(三)

    知识点一: 类型如果相兼容的两个变量,可以使用自动类型转化或者强制类型转换,但是,如果两个变量不兼容,比如说String和int或者String和Double类型,这个时候我们就需要一种名叫conve ...

  4. nginx适用哪些场景

    1.静态资源服务 通过本地文件系统提供服务 2.反向代理服务 ningx的强大性能 缓存 负载均衡 3.API服务 openresty

  5. Bayesian Non-Exhaustive Classification A case study:online name disambiguation using temporal record streams

    一 摘要: name entity disambiguation:将对应多个人的记录进行分组,使得每个组的记录对应一个人. 现有的方法多为批处理方式,需要将所有的记录输入给算法. 现实环境需要1:以o ...

  6. 使用Apache服务器实现Nginx反向代理

    实验环境:centos7 注:因为本次实验在同一台服务器上,Apache与Nginx同为80端口,所以改Apache端口为60 1 配置Nginx服务器: 编辑Nginx配置文件,写入以下内容 loc ...

  7. sublime 快捷键 【转】

    Sublime Text 3 快捷键精华版   备用,方便查询 Ctrl+Shift+P:打开命令面板Ctrl+P:搜索项目中的文件Ctrl+G:跳转到第几行Ctrl+W:关闭当前打开文件Ctrl+S ...

  8. 一文读懂什么是一致性hash算法

    Hash,一般翻译做散列.杂凑,或音译为哈希,是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入值的空间,不同的输入可能会 ...

  9. Go语言实现:【剑指offer】矩阵覆盖

    该题目来源于牛客网<剑指offer>专题. 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形.请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 先放21,则f(n ...

  10. oracle怎么建立本地连接

    sqlplus连接oracle数据库(连接本地oracle数据库和连接远程的oracle数据库) 虽然我们现在平时都是使用PLSQL Developer这个软件工具了,但是我们还是要了解sqlplus ...