NOIP模拟赛D2T1自己的解题思路
T1题目在此:
数轴上有n个球,每个球直径为1,第 ii 个球的左端点为pi即占据了数轴上[pi,pi+1][pi,pi+1])。在 P位置有一堵墙。
有q个操作,每次要么以x位置为左端点放一个新球(如果有了就不管),
要么把最左边的球往右推。一个球碰到另一个的时候,旧球停下来,新球继续滚。球碰到墙的时候就停下来。
最后你需要输出所有球的位置。
然后开始想:我的妈这不是一道水题么;然后用笔推算了一阵子,得出自己的结论:
链表可以快速插入一个元素;
为了快速放入元素,使用二分查找法,因为链表在未连接之前已排好序,找到之后插入;
操作2直接让其右端点等于下一个的左端点即可,在链表最后一位的必定撞墙
然后突然发现自己不会写链表QAQ,凉了
于是打暴力QAQ绝对不满分,还可能爆零的那种(\\\A\\\)
#include<iostream>
#include<algorithm>
using namespace std;
const int N=;
struct ball{
double l,r;
ball *next;
}b[N];
int n,q,p;
int pp=;
bool cmp(ball b1,ball b2);
void insertball(int l,int r,int x);
void simulate(); int main()
{
cin>>n>>q>>p;
for(int i=;i<=n;i++)
{
cin>>b[i].l;
b[i].r=b[i].l+;
} sort(b+,b++n,cmp);
for(int i=;i<=q;i++)
{
int t;
cin>>t;
switch(t)
{
case :
int x;
cin>>x;
pp++;
b[n+pp].l=x;
b[n+pp].r=x+;
sort(b+,b++n+pp,cmp);
break; case :
simulate();
break;
}
}
for(int i=;i<=n+pp;i++)
{
cout<<b[i].l<<" ";
}
cout<<endl;
return ;
}
bool cmp(ball b1,ball b2)
{
return b1.r<b2.r;
} void simulate()
{
for(int i=;i<=n+pp-;i++)
{
b[i].r=b[i+].l;
b[i].l=b[i].r-;
}
b[n+pp].r=p;
b[n+pp].l=p-;
}
等我找到了正解之后再扔上来QwQ
NOIP模拟赛D2T1自己的解题思路的更多相关文章
- 【HHHOJ】NOIP模拟赛 玖 解题报告
点此进入比赛 得分: \(100+20+100=220\)(还不错) 排名: \(Rank\ 16\) \(Rating\):\(+20\) \(T1\):[HHHOJ263]「NOIP模拟赛 玖」三 ...
- 【HHHOJ】NOIP模拟赛 捌 解题报告
点此进入比赛 得分: \(30+30+70=130\)(弱爆了) 排名: \(Rank\ 22\) \(Rating\):\(-31\) \(T1\):[HHHOJ260]「NOIP模拟赛 捌」Dig ...
- NOIP模拟赛-2018.11.6
NOIP模拟赛 今天想着反正高一高二都要考试,那么干脆跟着高二考吧,因为高二的比赛更有技术含量(我自己带的键盘放在这里). 今天考了一套英文题?发现阅读理解还是有一些困难的. T1:有$n$个点,$m ...
- Nescafe #29 NOIP模拟赛
Nescafe #29 NOIP模拟赛 不知道这种题发出来算不算侵权...毕竟有的题在$bz$上是权限题,但是在$vijos$似乎又有原题...如果这算是侵权的话请联系我,我会尽快删除,谢谢~ 今天开 ...
- NOI.AC NOIP模拟赛 第五场 游记
NOI.AC NOIP模拟赛 第五场 游记 count 题目大意: 长度为\(n+1(n\le10^5)\)的序列\(A\),其中的每个数都是不大于\(n\)的正整数,且\(n\)以内每个正整数至少出 ...
- NOI.AC NOIP模拟赛 第六场 游记
NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...
- NOI.AC NOIP模拟赛 第一场 补记
NOI.AC NOIP模拟赛 第一场 补记 candy 题目大意: 有两个超市,每个超市有\(n(n\le10^5)\)个糖,每个糖\(W\)元.每颗糖有一个愉悦度,其中,第一家商店中的第\(i\)颗 ...
- NOI.AC NOIP模拟赛 第四场 补记
NOI.AC NOIP模拟赛 第四场 补记 子图 题目大意: 一张\(n(n\le5\times10^5)\)个点,\(m(m\le5\times10^5)\)条边的无向图.删去第\(i\)条边需要\ ...
- NOI.AC NOIP模拟赛 第三场 补记
NOI.AC NOIP模拟赛 第三场 补记 列队 题目大意: 给定一个\(n\times m(n,m\le1000)\)的矩阵,每个格子上有一个数\(w_{i,j}\).保证\(w_{i,j}\)互不 ...
随机推荐
- sqlserver查询数据可编辑方法
原文:http://www.cnblogs.com/DaphneOdera/p/6418592.html 第一步.选中表右键,点击编辑前200行. 第二步.数据展示页面点击下图中红线框中的sql按钮 ...
- apply方法和call方法的详解2
1.apply和call的区别在哪里 2.什么情况下用apply,什么情况下用call 3.apply的其他巧妙用法(一般在什么情况下可以使用apply) 我首先从网上查到关于apply和call的定 ...
- day04之VUE痛悟
vue组件组件分为三部分
- 存储过程存储过程需要用两个'',先where再Group,再Order by
存储过程需要用两个'',先where再Group,再Order by 未完,待续
- SQL读取注册表值
最近写一个自动检查SQL Serve安全配置的检查脚本,需要查询注册表,下面是使用SQL查询注册表值的方法. ) ) ) ) --For Named instance --SET @Instance ...
- Hadoop配置文件详解
1 获取默认配置 配置hadoop,主要是配置core-site.xml,hdfs-site.xml,mapred-site.xml三个配置文件,默认下来,这些配置文件都是空的,所以很难知 ...
- Retrieving failed records after an SqlBulkCopy exception
Let me start by saying that the idea I used in this article is not originally mine, but since I have ...
- Tomcat服务时区设置
tomcat服务不设置时间,会自动取系统时间,根据项目部署服务器位置不同时间会有差别,统一设置tomcat服务集群时间为东八区时间,具体设置如下: 在tomcat目录的bin文件夹下,找到文件cata ...
- CATransaction:原子化操作、批量操作、整体设置、自动添加
Transactions are CoreAnimation's mechanism for batching multiple layer- tree operations into atomic ...
- TCP传输层协议的流程
http://blog.chinaunix.net/uid-24399976-id-77905.html 通过对互联网的认识,我们发现TCP传输层协议是网络进行工作的核心也是基础.它的重要性我们在此也 ...