【noip 2016】 蚯蚓(earthworm)
100分程序,写了2天+1小时
→题目在这里←
大神就是厉害……写的程序居然看都看不懂,还有就是cena上过了但是luogu上一直是恶心的TLE
首先是考虑p=0时,数组大小开到了1100000,然后就是WA,改成了9100000之后终于坑到50分,然后开始考虑p≠0,经过神犇程序的一番洗脑,终于发现p=0和p≠0的区别就是不等于的时候需要处理时加上长的那一部分,处理完之后再减去,输出时再加上,写完之后有一种能AC的感觉,但是评测的时候发现非常尴尬,居然没有AC,然后开始一句一句的对比,发现忘记初始化了……
que_0,que_1,que_2是要初始化的,初始化为最小值,终于AC了,很开心的交到洛谷上,结果才90,两个TLE,后来才知道long long很浪费时间,所以要减少longlong的数量,就AC了
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using std::sort;
int head_0=1,head_1=1,head_2=1;
int tail_0,tail_1,tail_2;
long long que_0[9100000],que_1[9100000],que_2[9100000];
long long n,m,q,u,v,t;
int comp(long long ti,long long bi)
{
if(ti>bi) return 1;
return 0;
}
int max(long long a,long long b,long long c)
{
if(a<b)
if(b<c)
{
head_2++;
return c;
}
else
{
head_1++;
return b;
}
else
if(a>c)
{
head_0++;
return a;
}
else
{
head_2++;
return c;
}
}
int main()
{
freopen("earthworm.in","r",stdin);
freopen("earthworm.ans","w",stdout);
cin>>n>>m>>q>>u>>v>>t;
memset(que_0,128,sizeof(que_0));
memset(que_1,128,sizeof(que_1));
memset(que_2,128,sizeof(que_2));
tail_0=n;
for(int i=1;i<=n;i++)
scanf("%lld",&que_0[i]);
sort(que_0+1,que_0+n+1,comp);
for(int i=1;i<=m;i++)
{
long long x,x1,x2;
x=max(que_0[head_0],que_1[head_1],que_2[head_2]);
x+=(i-1)*q;
que_1[i]=x*u/v-i*q; //减去这段时间增长的部分
que_2[i]=x-x*u/v-i*q;
if(i%t==0)
printf("%lld ",x);
}
printf("\n");
for(int i=1,x;i<=n+m;i++)
{
x=max(que_0[head_0],que_1[head_1],que_2[head_2]);
if(i%t==0) printf("%d ",x+m*q); //x+m*q 加上增长的部分
}
return 0;
}
【noip 2016】 蚯蚓(earthworm)的更多相关文章
- NOIP 2016 蚯蚓 (luogu 2827 & uoj 264) - 鬼畜的优化
题目描述 本题中,我们将用符号\lfloor c \rfloor⌊c⌋表示对c向下取整,例如:\lfloor 3.0 \rfloor= \lfloor 3.1 \rfloor=\lfloor 3.9 ...
- [NOIP 2016] 蚯蚓
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4721 [算法] 首先,我们可以维护一个堆,堆中存放蚯蚓的长度,由于除当前蚯蚓其他的蚯 ...
- NOIP 2016 蚯蚓 题解
一道有趣的题目,首先想到合并果子,然而发现会超时,我们可以发现首先拿出来的切掉后比后拿出来切掉后还是还长,即满足单调递增,故建立三个队列即可. 代码 #include<bits/stdc++.h ...
- NOIP 2016 D2T2 蚯蚓](思维)
NOIP 2016 D2T2 蚯蚓 题目大意 本题中,我们将用符号 \(\lfloor c \rfloor⌊c⌋\) 表示对 \(c\) 向下取整,例如:\(\lfloor 3.0 \rfloor = ...
- NOIp 2016 总结
NOIp 2016 总结 -----YJSheep Day 0 对于考前的前一天,晚自习在复习图论的最短路和生成树,加深了图的理解.睡得比较早,养足精力明日再战. Day 1 拿到题目,先过一边,题目 ...
- 【NOIP 2016】斗地主
题意 NOIP 2016 斗地主 给你一些牌,按照斗地主的出牌方式,问最少多少次出完所有的牌. 分析 这道题的做法是DFS. 为了体现这道题的锻炼效果,我自己写了好多个代码. Ver1 直接暴力搞,加 ...
- [NOIP]2016天天爱跑步
[NOIP]2016天天爱跑步 标签: LCA 树上差分 NOIP Description 小C同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.<天天爱跑步>是 ...
- NOIP 2016 迟来的满贯
17-03-22,雨 17-03-22,一个特别重要的日子 在这一天,本蒻攻克了NOIP 2016最难的一题,D1T2——天天爱跑步 实现了NOIP 2016的AK! YAYAYAYAYAYAY 自然 ...
- 【noip 2016】 蚯蚓(50分)(earthworm)
50分小程序,写了2天- 题目在这里 一个单调队列,写的都是p=0的点,考试的时候要是弄到这些分的话--不说了-- 羡慕AC的神犇啊,54行的满分程序,而我-- #include <iostre ...
随机推荐
- xposed XDA记录
[OFFICIAL] Xposed for Lollipop/Marshmallow [Android 5.0/5.1/6.0, v86, 2016/10/31] http://forum.xda-d ...
- [转]阿里巴巴数据库连接池 druid配置详解
一.背景 java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池.数据库连接池有很多选择,c3p.dhcp.proxool等,druid作为一名后起之秀,凭借其出色 ...
- angularjs $broadcast $emit $on 事件触发controller间的值传递
如何在作用域之间通信呢? 1.创建一个单例服务,然后通过这个服务处理所有子作用域的通信. 2.通过作用域中的事件处理通信.但是这种方法有一些限制:例如,你并不能广泛的将事件传播到所有监控的作用域中.你 ...
- JAVA BigDecimal 小数点处理
1,保留两位小数 方法一:{ double c=3.154215; java.text.DecimalFormat myformat=new java.text.DecimalFormat(" ...
- CentOS系统常用基本命令&Centos 7 命令变化
一:查看cpu信息more /proc/cpuinfo | grep "model name" grep "model name" /proc/cpuinfo ...
- SVN需要忽略的文件类型
自己在用的,有问题的话欢迎指正,直接复制粘贴即可.(一般人我都不告诉他) *.lo,*.la,*.al,*.so,*.so.[0-9]*,*.pyc,*.pyo,*.rej,.*.swp,.DS_St ...
- 那些年,坑死自己的事之fread/fwrite
今天继续看牛人做过的东西,这个小程序并不大,加上相当多的注释行,才5000多行.这个小程序是在linux下实现的,之前自己也一直用vi来看并加以更加详细的注释,但是效率实在太低.于是将其转移到wind ...
- pk8和x509.pem转换成keystore
转自:http://www.cnblogs.com/platte/p/3511814.html 一 在github上下载工具 https://github.com/getfatday/keytool- ...
- Redis五种数据类型命令介绍(4)
1.string类型命令 设置值:set id 001 获取值:get id 删除键值:del id 验证键是否存在:exists id 显示所有的key:keys * incr .incrby指 ...
- 使用sublimehighlight 将文本 转化html
a = "aaa" b = "bbb" c = "ccc" final = a + b + c print final import sys ...