【bzoj4721】[Noip2016]蚯蚓 乱搞
题目描述
输入
输出
样例输入
3 7 1 1 3 1
3 3 2
样例输出
3 4 4 4 5 5 6
6 6 6 5 5 4 4 3 2 2
题解
队列乱搞题
由于先切的两段一定大于等于后切的对应的两段,
于是可以用两个队列分别存储[px]段和x-[px]段,还有一个存储原始长度。
每次把所有没切的长度+q,相当于把切了的长度-q,然后查找时再一起加上。
注意除法需要long long。
还有,在bzoj上,可能会PE无数次,只能按照样例格式输出,不能多任何的空格和换行。
#include <cstdio>
#include <algorithm>
#define inf 0x7fffffff
using namespace std;
int q[3][8000001] , l[3] , r[3] = {-1 , -1 , -1} , a[100001];
bool cmp(int a , int b)
{
return a > b;
}
int getmax()
{
int k = -inf , ans = 0;
if(l[0] <= r[0] && q[0][l[0]] > k) k = q[0][l[0]] , ans = 0;
if(l[1] <= r[1] && q[1][l[1]] > k) k = q[1][l[1]] , ans = 1;
if(l[2] <= r[2] && q[2][l[2]] > k) k = q[2][l[2]] , ans = 2;
return ans;
}
int main()
{
int n , m , g , u , v , t , i , p , c;
scanf("%d%d%d%d%d%d" , &n , &m , &g , &u , &v , &t);
for(i = 0 ; i < n ; i ++ )
scanf("%d" , &a[i]);
sort(a , a + n , cmp);
for(i = 0 ; i < n ; i ++ )
q[0][++r[0]] = a[i];
for(i = 1 ; i <= m ; i ++ )
{
p = getmax();
c = q[p][l[p]++] + g * (i - 1);
if(i % t == 0)
{
if(i != t)
printf(" ");
printf("%d" , c);
}
q[1][++r[1]] = (int)((long long)c * u / v) - g * i;
q[2][++r[2]] = c - (int)((long long)c * u / v) - g * i;
}
printf("\n");
for(i = 1 ; i <= m + n ; i ++ )
{
p = getmax();
c = q[p][l[p]++] + g * m;
if(i % t == 0)
{
if(i != t)
printf(" ");
printf("%d" , c);
}
}
printf("\n");
return 0;
}
【bzoj4721】[Noip2016]蚯蚓 乱搞的更多相关文章
- BZOJ4721 [Noip2016]蚯蚓
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...
- 【bzoj4721】[Noip2016]蚯蚓
题目描述 本题中,我们将用符号[c]表示对c向下取整,例如:[3.0」= [3.1」=[3.9」=3.蛐蛐国最近蚯蚓成灾了!隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓.蛐 ...
- URAL 1827 Indigenous Wars(排序、乱搞)
题意:给一个长度为n数组{a[i]}.有m个操作Ti,Si,Li表示找以Ti值结束,以Si值开始,长度为Li的连续子串.找到后,将区间的答案值设为1.一开始答案值全部为0.最后输出n个答案值. 好久没 ...
- [Noip2016]蚯蚓 D2 T2 队列
[Noip2016]蚯蚓 D2 T2 Description 本题中,我们将用符号[c]表示对c向下取整,例如:[3.0」= [3.1」=[3.9」=3.蛐蛐国最近蚯蚓成灾了!隔壁跳 蚤国的跳蚤也拿蚯 ...
- UVA 11853 [dfs乱搞]
/* 大连热身E题 不要低头,不要放弃,不要气馁,不要慌张 题意: 在1000×1000的格子内有很多个炮弹中心,半径给定. 为某人能否从西部边界出发,从东部边界走出. 不能输出不能,能的话输出最北边 ...
- Codeforces 732e [贪心][stl乱搞]
/* 不要低头,不要放弃,不要气馁,不要慌张 题意: 给n个插座,m个电脑.每个插座都有一个电压,每个电脑都有需求电压. 每个插座可以接若干变压器,每个变压器可以使得电压变为x/2上取整. 有无限个变 ...
- 【BZOJ-4692】Beautiful Spacing 二分答案 + 乱搞(DP?)
4692: Beautiful Spacing Time Limit: 15 Sec Memory Limit: 128 MBSubmit: 46 Solved: 21[Submit][Statu ...
- 【BZOJ-3578】GTY的人类基因组计划2 set + map + Hash 乱搞
3578: GTY的人类基因组计划2 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 367 Solved: 159[Submit][Status][ ...
- 【BZOJ-2937】建造酿酒厂 前缀和 + 展环为链 + 乱搞
2937: [Poi2000]建造酿酒厂 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 70 Solved: 24[Submit][Status][D ...
随机推荐
- 优步UBER司机全国各地奖励政策汇总 (2月8日-2月14日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- CF 1027 F. Session in BSU
F. Session in BSU https://codeforces.com/contest/1027/problem/F 题意: n场考试,每场可以安排在第ai天或者第bi天,问n场考完最少需要 ...
- spl_autoload_register()函数
一.__autoload 这是一个自动加载函数,在PHP5中,当我们实例化一个未定义的类时,就会触发此函数.看下面例子: printit.class.php <?php class PRINTI ...
- join_tab计算代价
此路不通,还是需要按照顺序进行计算
- 围绕DOM元素节点的增删改查
HTML 文档中的所有内容都是节点: 整个文档是一个文档节点 document 每个 HTML 元素是元素节点 element HTML 元素内的文本是文本节点 每个 HTML 属性是属性节点 注释是 ...
- MySQL☞having子句
having子句:是跟group by结合使用,对分组以后的数据再次进行过滤,经常跟聚合函数结合使用 格式: select 列名/聚合函数 from 表名 where 条件 group by ...
- 第三篇 JavaScript基础
知识预览 BOM对象 DOM对象(DHTML) 实例练习 转:https://www.cnblogs.com/yuanchenqi/articles/5980312.html#_label2 一.Ja ...
- 第六模块:WEB框架开发 第1章·Django框架开发88~128
88-Ajax简介 89-Ajax的简单实现 90-基于Ajax的传递数据 91-基于Ajax的登录验证 92-基于Form表单的文件上传 93-请求头之contentType 94-Ajax传递js ...
- 利用爬虫、SMTP和树莓派3B发送邮件(爬取墨迹天气预报信息)
-----------------------------------------学无止境----------------------------------------- 前言:大家好,欢迎来到誉雪 ...
- [CodeForce431C]k-tree
Quite recently a creative student Lesha had a lecture on trees. After the lecture Lesha was inspired ...