看到这道题目,数据范围,心凉了一大截

这是没开O2的

而这是开了O2的

emm……本蒟蒻也无言以对呀

好了,回归正题,看到题目的标签,高性能,自然而然地想到了快读

相信做这题的大佬们一定知道吧!

快读,从字面上来理解就是____

答案:快速读入

我们都知道,读入一个字符比读入一个整数要快得多。

那么这就好办了!我们又知道,每一个字符都有它自己的ASCII码,那么,我们是不是只要将输入的字符减去字符0的ASCII码48就可以了呢?

显然是这样。

下面放出快读的代码,有注释,不懂的还可以问问老师和同学。

int read(){//快读,read
    ,f=;//r为计数器,f为标志,看是整数还是负数
    char c=getchar();//读入c
    ')&&c!='-')//读入非数字、负号的字符
        c=getchar();
    if(c=='-')//特判c,若c为负号则f置-1,即为负数
        f=-,c=getchar();
    ')//正式读入数字
        r=r*+c-',c=getchar();//r由c-0的ASCII码组成
    return r*f;//若f为1则为负数,f为-1则为负数
}

很简单吧?

下面,关键代码!要认真哟就是干货

大家看到题面,千万不要想当然地认为就是1~n整个加两遍

睁大眼睛,咦?每回 2 ~ n - 1加了两遍,而 1 和 n 只加了一遍

这就是问题所在! 本蒟蒻一开始就错了这个地方

所以,核心代码重磅来袭

){
    ;i<=n&&m>;i++,m-=k)//在for循环中可以有多个条件语句
        a[i]+=min(m,k);//上面中间意思是说i≤n且m>0时做后面的条件
    ;i>=&&m>;i--,m-=k)//后面意思是说在i减1的同时m减k
        a[i]+=min(m,k);//为什么用min?因为当m不足k时应减m而不是k
}

这里 for 循环有一点儿难,好好理解

其实,弄清 for 循环的结构也就不难了:

很简单吧?这样解释上面的结构就不成问题了

其实说是橙题,但我觉得实际的难度是绿题

好吧,下面放出代码最终版!

相信听了我解释的同学们都弄懂了吧!

代码来喽!

// luogu-judger-enable-o2
//这是必须得开的,不然,目之所及尽是TLE
#include<cstdio>
#include<queue>
#define maxn 200010//定义maxn为200010
using namespace std;//本蒟蒻代码中不可或缺的成分
int n,k,m,a[maxn],i;
int read(){//快读
    ,f=;
    char c=getchar();
    ')&&c!='-')
        c=getchar();
    if(c=='-')
        f=-,c=getchar();
    ')
        r=r*+c-',c=getchar();
    return r*f;
}
int main(){
    n=read(),k=read(),m=read();//read()的正确使用,get一下
    ){//核心代码
        ;i<=n&&m>;i++,m-=k)
            a[i]+=min(m,k);
        ;i>=&&m>;i--,m-=k)
            a[i]+=min(m,k);
    }
    ;i<=n;i++)//输出a数组
        printf("%d ",a[i]);//别忘了空格!
    ;
}

OI加油!洛谷冲鸭!

题解 P5051 【[COCI2017-2018#7] Timovi】的更多相关文章

  1. COCI2017/2018 CONTEST #7

    Prosjek 显然,越大的数应该越后参与平均数的计算,这样受较小数的影响就小一些 那我们就排个序,贪心的从最小的数开始往大的计算平均数即可 时间复杂度\(O(nlogn)\) Timovi 把分组分 ...

  2. Week One

    2018.11.21: 1.[BZOJ 4868][SHOI 2017] 从后往前枚举最后位置即可,如果$A<B$,用尽可能多的$A$替换$B$操作 Tip:很大的$C$可能爆$longlong ...

  3. TSOJ--2018 江苏省省赛

    [2018 江苏省大学生程序设计大赛] K. 2018 (测试数据范围有扩大) Problem Given a, b, c, d, find out the number of pairs of int ...

  4. 记 2019蓝桥杯校内预选赛(JAVA组) 赛后总结

    引言 好像博客好久没更新了 哈哈哈哈哈 趁现在有空更新一波 不知道还有没有人看 确实该记录一下每天做了什么了 不然感觉有些浑浑噩噩了 比赛介绍 全称: 蓝桥杯全国软件和信息技术专业人才大赛 蓝桥杯 实 ...

  5. NOIP赛前集训备忘录(含每日总结)(日更?。。。)

    NOIP赛前集训备忘录(含每日考试总结) 标签: 有用的东西~(≧▽≦)/~啦啦啦 阅读体验:https://zybuluo.com/Junlier/note/1279194 考试每日总结(这个东西是 ...

  6. 20190719-FirstZero

    这也许也是一个成就吧? First Zero 考试 第一次 爆0 好了好了. T1 你永远不知道你在想什么. 我仿佛想出一个$\Theta(NM\log^2 N)$的$dfs$??? 蒟蒻原地爆炸 T ...

  7. 2018 ACM-ICPC Asia Beijing Regional Contest (部分题解)

    摘要 本文主要给出了2018 ACM-ICPC Asia Beijing Regional Contest的部分题解,意即熟悉区域赛题型,保持比赛感觉. Jin Yong’s Wukong Ranki ...

  8. The 2018 ACM-ICPC Asia Qingdao Regional Contest(部分题解)

    摘要: 本文是The 2018 ACM-ICPC Asia Qingdao Regional Contest(青岛现场赛)的部分解题报告,给出了出题率较高的几道题的题解,希望熟悉区域赛的题型,进而对其 ...

  9. WC 2018 题解

    WC 2018 题解 一些感受.jpg 题目难度相较前些年会相对简单一点?(FAKE.jpg 平均码量符合WC风格?(甚至更多一点 出题人良心! [WC2018] 通道 一个不知道对不对的$\log ...

随机推荐

  1. 实现prim算法

    如下找出该图的最小生成树 prim算法是求解该类问题的一种经典算法 Prim算法的基本思路:将图中的所有的顶点分为两类:树顶点(已经被选入生成树的顶点)和非树顶点(还未被选入生成树的顶点).首先选择任 ...

  2. Kth Largest Element in a Stream

    Design a class to find the kth largest element in a stream. Note that it is the kth largest element ...

  3. Keras AttributeError 'NoneType' object has no attribute '_inbound_nodes'

    问题说明: 首先呢,报这个错误的代码是这行代码: model = Model(inputs=input, outputs=output) 报错: AttributeError 'NoneType' o ...

  4. HDU 6003 Problem Buyer【小根堆】

    任意k个都可以,也可以看做把不行的都选了,再随便选一个可以的要选的数量 把区间和m个值都排序,区间按l一序r二序排,枚举m个值,小根堆维护能帮韩当前枚举值的区间的右端点,这样方便删除区间,然后剩下的就 ...

  5. MySQL最佳客户端工具 -- SQLyog 13.1.1.0 安装与注册

    一.前言 SQLyog是一个易于使用的.快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理你的数据库!SQLyog是业界著名的 Webyog 公司出品的一款简洁高效.功能强大的图 ...

  6. 【TIDB】3、数据库的发展历史、现在、未来

    1.从单机数据库说起(Mysql.Oracle.PostgreSQL) 关系型数据库起源自1970年代,其最基本的功能有两个: 把数据存下来: 满足用户对数据的计算需求. 第一点是最基本的要求,如果一 ...

  7. axios发送两次请求原因及解决方法

    axios发送两次请求原因及解决方法 最近Vue项目中使用axios组件,在页面交互中发现axios会发送两次请求,一种请求方式为OPTIONS,另外一种为自己设置的. 如图: 什么是CORS通信? ...

  8. 7.Python初窥门径(数据类型补充,操作及注意事项)

    python(数据类型补充,转换及注意事项) 数据类型补充 str str.capitalize() 首字母大写 str.title() 每个单词首字母大写 str.count() 统计元素在str中 ...

  9. layui实现下拉分类多级

    Layui tree 下拉菜单树   1.效果: 2.html  代码: <!DOCTYPE html> <html> <head> <meta charse ...

  10. 程序员/开发人员的真实生活 (Gif 多图)

    往工作环境上传东西的时候: 没保存,就关了 IDE 的时候: 凌晨三点调代码的时候: 正则表达式返回了了预期结果的时候: 当老板告诉我,我那一直负责的模块失效了的时候: 刚修复了Bug,我给老板演示的 ...