~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;
}

好像差点事。。。

最新文章

  1. C/C++头文件区别
  2. Redis运维的一些常用的命令总结
  3. struts2 radio标签 单选按钮
  4. 实例分析ELF文件动态链接
  5. opencv绘制灰度直方图
  6. Android数据的四种存储方式之SQLite数据库
  7. 一步一步自定义SpringMVC参数解析器
  8. 基于 Bootstrap 的扁平化 UI 开发包
  9. 取得ASKII码值和汉语拼音
  10. 浮点数的陷阱--double i != 10 基本都是对的,不管怎么赋值
  11. CentOS 引导 Win10 启动项
  12. 常用类-API文档-Integer
  13. Feature Extractor[inception v2 v3]
  14. C# AutoResetEvent 使用整理
  15. Unreal Engine 4 反射机制的实现
  16. HTML利用posotion属性定位 小技巧
  17. VB开发ActiveX控件的一些记录
  18. day18 分页+form验证+中间件
  19. OCR
  20. shrio 权限管理filterChainDefinitions过滤器配置

热门文章

  1. 本地Linux虚拟机内网穿透,服务器文件下载到本地磁盘
  2. Maven的scope属性作用域范围
  3. 如何把您现有的流程系统数据迁徙到驰骋BPM上?
  4. C++输出中文字符
  5. RestTemplate工具类根据服务名发送请求
  6. ant编译solr源码生成eclipse项目,解决一直resolve,一直[ivy:retrieve]的问题
  7. Android Studio 学习笔记(一)环境搭建、文件目录等相关说明
  8. C语言寒假大作战04
  9. CodeIgniter框架使用总结
  10. 几个点认识Nginx服务器