NOIP2016 DAY2 T2蚯蚓
传送门
Description
Input
Output
Sample Input
3 3 2
Sample Output
6 6 6 5 5 4 4 3 2 2
#include<cstdio>
#include<algorithm>
#define N 20000900
using namespace std; int que[][N],head[],tail[]; int cmp(const int &a,const int &b){
return a > b;
} int read(){
int x = ;
char ch = getchar();
while(ch < '' || ch > '')ch = getchar();
while(ch >= '' && ch <= ''){
x = x * + ch -'';
ch = getchar();
}
return x;
} int main(){
int n = read(),m = read(),q = read(),u = read(),v = read(),t = read();
double p = 1.0*u/v;
for(int i = ; i <= n; i++)que[][i] = read();
sort(que[]+,que[]+n+,cmp);
int first = ,len = ;
head[] = head[] = head[] = ;
tail[] = n,tail[] = tail[] = ;
for(int i = ; i <= m; i++){
long long mx = -,pos = ;
for(int j = ; j <= ; j++)
if(head[j] <= tail[j] && que[j][head[j]] > mx){
mx = que[j][head[j]];
pos = j;
}
head[pos]++;
mx += len;
if(i % t == ){
if(first)first = ;
else printf(" ");
printf("%d",mx);
}
int x1 = (int)(mx*u/v);
int x2 = mx - x1;
que[][++tail[]] = x1 - len-q;
que[][++tail[]] = x2 - len-q;
len += q; }
printf("\n");
first = ;
for(int i = ; i <= n + m; i++){
long long mx = -,pos = ; //mx要设小一点,不然会爆
for(int j = ; j <= ; j++)
if(head[j] <= tail[j] && que[j][head[j]] > mx){
mx = que[j][head[j]];
pos = j;
}
head[pos]++;
mx += len;
if(i % t == ){
if(first)first = ;
else printf(" ");
printf("%lld",mx);
}
}
printf("\n");
return ;
}
NOIP2016 DAY2 T2蚯蚓的更多相关文章
- 【NOIP2016提高组】 Day2 T2 蚯蚓
题目传送门:https://www.luogu.org/problemnew/show/P2827 自测时被题面所误导...,题面中说逢t的倍数才输出答案,以为有什么玄妙的方法直接将m次操作变成了m/ ...
- 【BZOJ 4517】【SDOI 2016 Round1 Day2 T2】排列计数
本蒟蒻第一次没看题解A的题竟然是省选$Round1$ $Day2$ $T2$ 这道组合数学题. 考试时一开始以为是莫队,后来想到自己不会组合数的一些公式,便弃疗了去做第三题,,, 做完第三题后再回来看 ...
- [NOIP2016 DAY1 T2]天天爱跑步-[差分+线段树合并][解题报告]
[NOIP2016 DAY1 T2]天天爱跑步 题面: B[NOIP2016 DAY1]天天爱跑步 时间限制 : - MS 空间限制 : 565536 KB 评测说明 : 2s Description ...
- NOIP2014 day2 t2 寻找道路
寻找道路 NOIP2014 day2 t2 描述 在有向图 G 中,每条边的长度均为 1,现给定起点和终点,请你在图中找一条从起点到 终点的路径,该路径满足以下条件: 1.路径上的所有点的出边所指向的 ...
- 【NOIP2016提高组day2】蚯蚓
那么我们开三个不上升队列, 第一个记录原来的蚯蚓, 第二个记录乘以p的蚯蚓 第三个记录乘以(1-p)的蚯蚓, 在记录每条就要入队列的时间,就可以求出增加的长度 每次比较三个队列的队首,取最大的值x的切 ...
- NKOJ4241 蚯蚓 (【NOIP2016 DAY2】)
问题描述 输入格式 第一行包含六个整数n,m,q,u,v,t,其中:n,m,q的意义见问题描述: u,v,t均为正整数:你需要自己计算p=u/v(保证0<u<v)t是输出参数,其含义将会在 ...
- Noip2016 提高组 蚯蚓
刚看到这道题:这题直接用堆+模拟不就可以了(并没有认真算时间复杂度) 于是用priority_queue水到了85分-- (STL大法好) 天真的我还以为是常数问题,于是疯狂卡常--(我是ZZ) 直到 ...
- Luogu P1600[NOIP2016]day1 T2天天爱跑步
号称是noip2016最恶心的题 基本上用了一天来搞明白+给sy讲明白(可能还没讲明白 具体思路是真的不想写了(快吐了 如果要看,参见洛谷P1600 天天爱跑步--题解 虽然这样不好但我真的不想写了 ...
- 洛谷P2827 [NOIP2016 提高组] 蚯蚓 (二叉堆/队列)
容易想到的是用二叉堆来解决,切断一条蚯蚓,其他的都要加上一个值,不妨用一个表示偏移量的delta. 1.取出最大的x,x+=delta: 2.算出切断后的两个新长度,都减去delta和q: 3.del ...
随机推荐
- Android --------- 自己定义VIew
package com.example.coustomviewdemo; import android.R.interpolator; import android.content.Context; ...
- SpringMVC案例2----基于spring2.5的注解实现
和上一篇一样,首先看一下项目结构和jar包 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmVuamFtaW5fd2h4/font/5a6L5L2T/fo ...
- qml
用qt非常久了.可是一直没有注意到一个叫做qml的东西.今天google了一下,总结一下我的理解. 从表面上看qml就是用css javascript那一套来做软件的GUI,和原来的C++的widge ...
- javaweb项目中获取项目名称
request.getServletContext().getContextPath() 增加项目名称是test.那么上面的结果就是/test
- 试试pypy
pypy是一个python的解释器和JIT编译器.能够在不改动不论什么代码的情况下大幅提升python代码的性能. 使用超级简单,在官网下载编译好的二进制包进行安装,然后然后执行代码的时候指定这个解释 ...
- Homebrew 命令
安装(需要 Ruby):ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" 搜索 ...
- Appium + python -always_allows弹窗
from appium import webdriverfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.web ...
- Docker 常用命令和命令集结
常用命令 查看版本 docker version 查看系统信息 docker info 显示 Docker 系统信息,包括镜像和容器数. 搜索镜像 docker search keyword 从 Do ...
- Django day05 虚拟环境 django 2.0和django 1.0 路由层区别
一:虚拟环境 创建虚拟环境一般有三种方式: 1) File--->New Project--> 出现如下图,点击Project Interpreter:New Virtualenv e ...
- 如何对HTMLTestRunner 进行输出print 进行修改
在 HTMLTestRunner 模块中,在运行代码后,在输入的html页面值出现了特别简单的一个页面,那么现在如何将HTML页面中输出的更多print 在 HTMLTestRunner.py文件中查 ...