题解——洛谷P2827 NOIP提高组 2016 蚯蚓
队列模拟
详细题解待填坑
- #include <cstdio>
- #include <algorithm>
- #include <queue>
- #include <cmath>
- using namespace std;
- int n,m,q,u,v,t,addl=;
- int qx[][];
- int to[]={,,,},ta[]={};
- int add[]={},inq=;
- int mid[];
- double p;
- int ans[];
- bool cmp(int a,int b){
- if(a>b)
- return true;
- return false;
- }
- int main(){
- scanf("%d %d %d %d %d %d",&n,&m,&q,&u,&v,&t);
- p=(double)u/(double)v;
- for(ta[]=;ta[]<=n;ta[]++){
- scanf("%d",&mid[ta[]]);
- }
- --ta[];
- sort(mid+,mid++ta[],cmp);
- int tp;
- for(int i=;i<=m;i++){
- if(to[]>ta[]){
- if(qx[][to[]]>qx[][to[]])
- tp=qx[][to[]++];
- else
- tp=qx[][to[]++];
- }
- else if(mid[to[]]>=qx[][to[]]&&mid[to[]]>=qx[][to[]])
- tp=mid[to[]],++to[];
- else if(qx[][to[]]>=qx[][to[]]&&mid[to[]]<=qx[][to[]])
- tp=qx[][to[]],++to[];
- else
- tp=qx[][to[]],++to[];
- tp+=addl;
- int a1=floor(p*(double)tp);
- int a2=tp-a1;
- addl+=q;
- a1-=addl;
- a2-=addl;
- qx[][++ta[]]=a1;
- qx[][++ta[]]=a2;
- if(i%t==)
- printf("%d ",tp);
- }
- printf("\n");
- for(int i=to[];i<=ta[];i++)
- ans[++inq]=mid[i];
- for(int i=to[];i<=ta[];++i)
- ans[++inq]=qx[][i];
- for(int i=to[];i<=ta[];++i)
- ans[++inq]=qx[][i];
- sort(ans+,ans+inq+,cmp);
- for(int i=;i<=inq;++i){
- if(i%t==)
- printf("%d ",ans[i]+addl);
- }
- return ;
- }
题解——洛谷P2827 NOIP提高组 2016 蚯蚓的更多相关文章
- 题解——洛谷 P2680 NOIP提高组 2015 运输计划
树上差分加上二分答案 详细题解待填坑 #include <cstdio> #include <algorithm> #include <cstring> using ...
- 洛谷P1006 NOIP提高组2008 传纸条
P1006 传纸条 题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n 列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无 ...
- 【洛谷】NOIP提高组模拟赛Day1【组合数学】【贪心+背包】【网络流判断是否满流以及流量方案】
U41568 Agent1 题目背景 2018年11月17日,中国香港将会迎来一场XM大战,是世界各地的ENLIGHTENED与RESISTANCE开战的地点,某地 的ENLIGHTENED总部也想派 ...
- ⌈洛谷1312⌋⌈NOIP提高组2011⌋Mayan游戏【搜索】
感想 真的,感觉这道题目好坑爹,我这个蒟蒻调了好几个世纪才调出来. 重构代码千万遍,依旧只有-1输出. 正解 非常明显的一道搜索题目. 每一次记录上一级的状态,这样实现比较不容易出错. 然后考虑剪枝: ...
- 【洛谷】NOIP提高组模拟赛Day2【动态开节点/树状数组】【双头链表模拟】
U41571 Agent2 题目背景 炎炎夏日还没有过去,Agent们没有一个想出去外面搞事情的.每当ENLIGHTENED总部组织活动时,人人都说有空,结果到了活动日,却一个接着一个咕咕咕了.只有不 ...
- 洛谷P2827 [NOIP2016 提高组] 蚯蚓 (二叉堆/队列)
容易想到的是用二叉堆来解决,切断一条蚯蚓,其他的都要加上一个值,不妨用一个表示偏移量的delta. 1.取出最大的x,x+=delta: 2.算出切断后的两个新长度,都减去delta和q: 3.del ...
- 洛谷P1084 [NOIP2012提高组Day2T3]疫情控制
P1084 疫情控制 题目描述 H 国有 n 个城市,这 n 个城市用 n-1 条双向道路相互连通构成一棵树,1 号城市是首都,也是树中的根节点. H 国的首都爆发了一种危害性极高的传染病.当局为了控 ...
- 洛谷P1083 [NOIP2012提高组Day2T2]借教室
P1083 借教室 题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借 ...
- 洛谷P1312 [NOIP2011提高组Day1T3]Mayan游戏
Mayan游戏 题目描述 Mayan puzzle是最近流行起来的一个游戏.游戏界面是一个 7 行5 列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即方块必须放在最下面一行,或者放在其他方块之上.游 ...
随机推荐
- 09 查找列表中元素,移除每个元素的空格,并查找以a或A开头并且以c结尾的所有元素
li = ["alex"," aric","Alex","Tony","rain"]for i in ...
- html5-新增表单的小结details summary
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- JS实现document.ready
通常我们想要在页面内容加载完成后运行 JS 时,都会使用 window.onload 来处理,比如: window.onload = function(){ alert('Hello World!') ...
- Java 高级开发必修知识---内部类
摘自:http://www.cnblogs.com/lsy131479/p/8798912.html Java 内部类分为: 1)成员内部类 2)静态嵌套类 3)方法内部类 4)匿名内部类 内部类的共 ...
- 浏览器从输入URL到页面加载显示完成全过程解析
一 浏览器查找域名对应的 IP 地址(域名解析的过程,先进行缓存的查看): 1.在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用 ...
- bind的封装
1.bind.call.apply三者的区别: 1)bind的返回值是一个函数体,不会被立即调用 2)call.apply会立即调用,第一个参数都是用来改变this的指向,两者的区别是前者传递参数的时 ...
- node.js基本使用
1.引入http模块(node的核心模块) const http = require("http"); 2.createServer来创建服务器 http.createServer ...
- 大数据自学5-Python操作Hbase
在Hue环境中本身是可以直接操作Hbase数据库的,但是公司的环境不知道什么原因一直提示"Api Error:timed out",进度条一直在跑,却显示不出表. 但是在CDH后台 ...
- cms STW 的两个阶段
CMS在初始标记和重复标记阶段会停顿
- hibernate自动创建表报表不存在
在hibernate.cfg.xml配置了<property name="hibernate.hbm2ddl.auto">update</property> ...