小w、小j和小z
n个月没更了,现在学的东西很难,掌握不好,不敢更!
这个题目既不超范围又足够难想,反正我没想出来,很好的题目!
我发现noi.ac上的题目很不错!!!
-------------------------------------------------------------------------------------------------------------------
小z告诉小w了这样一道送分题。
在数轴上有n个小人,第ii个人现在在pi位置,速度是vi(速度的正负代表不同的方向)。如果某一时刻两个人在同一位置,那么就会发生碰撞。
如果现在小j可以使用能力,使得其中kk个人凭空消失,那么最多会有多长时间内,没有任何两个人会碰撞呢?
输入格式
一行两个整数 n和k。
接下来 n行,每行两个整数pi,vi,表示每个人的初始位置和速度。
输出格式
如果时间是无限长,输出Forever, 否则输出一个实数表示答案,答案误差小于10^−3即可。
样例一
input
4 1
1 1
3 -1
5 2
7 -2
output
1.00
样例二
input
4 2
1 1
3 -1
5 2
7 -2
output
Forever
数据范围和约定
本题采用捆绑测试,对于全部数据,1≤k≤n≤10^5;|pi|,|vi|≤10^9.
_________________________________________________________________________________________
碰撞,可以选择让他消失。肯定先碰撞就让他消失。同时维护那么多点的位置?肯定是按照时间进行二分。消失如何处理?那就让他不消失,位置交换以后就是逆序,只要求最长上升子序列就好了!!
说起来简单,想的时候真的想不到!!!
所以正解就是二分答案+最长上升子序列。
注意刚开始的预处理!!!
1 #include<bits/stdc++.h>
2 using namespace std;
3 const int maxn=100005;
4 int n,k;
5 struct node
6 {
7 int v,p;
8 }pt[maxn];
9 bool cmp(node a,node b)
10 {
11 if(a.p<b.p)return 1;
12 if(a.p==b.p && a.v>b.v)return 1;
13 return 0;
14 }
15 int f[maxn];
16 long double pos[maxn],low[maxn];
17 bool pd(long double x)
18 {
19 for(int i=1;i<=n;++i)pos[i]=pt[i].p+pt[i].v*x,low[i]=3e9;
20 int ans=1;
21 low[1]=pos[1];
22 for(int i=2;i<=n;++i)
23 {
24 if(low[ans]<pos[i])low[++ans]=pos[i];
25 else low[upper_bound(low+1,low+ans+1,pos[i])-low]=pos[i];
26 }
27 return n-ans<=k;
28 }
29 int main()
30 {
31 scanf("%d%d",&n,&k);
32 for(int i=1;i<=n;++i)scanf("%d%d",&pt[i].p,&pt[i].v);
33 sort(pt+1,pt+n+1,cmp);
34 int js=1;
35 for(int i=2;i<=n;++i)
36 {
37 if(pt[i].p==pt[js].p && pt[i].v==pt[js].v)k--;
38 else pt[++js]=pt[i];
39 }
40 n=js;
41 long double l=0,r=3e9,ans;
42 while(r-l>0.0000001)
43 {
44 long double mid=(l+r)/2;
45 if(pd(mid))l=ans=mid;
46 else r=mid;
47 }
48 if(ans>2.9e9)printf("Forever");
49 else printf("%.6lf",(double)ans);
50 return 0;
51 }
小w、小j和小z的更多相关文章
- 【XDOJ】小W的塔防
原题: 小W在成功拿到iPhone后,下载了一个塔防游戏.游戏的目标是阻止僵尸穿过地图. 地图可以看作一条长度为n的线段,这条线段被划分为n条单位长度的小线段.僵尸需要花费t秒才能通过一条小线段.在每 ...
- 【JZOJ6389】小w学图论
description 小w这学期选了门图论课,他在学习点着色的知识.他现在得到了一张无向图,并希望在这张图上使用最多n种颜色给每个节点染色,使得任意一条边关联的两个节点颜色不同. 小w获得一张n个节 ...
- 武汉科技大学ACM :1008: 小t和小w
Problem Description 小t最近学了C语言,他想要在女朋友小w面前展示一下自己的能力,小w喜欢如样例所示的图形, 想让小t写一个程序来输出这样的图形,小t拿到后感觉有点困难,小t不想在 ...
- bzoj4665小w的喜糖 dp+容斥
4665: 小w的喜糖 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 120 Solved: 72[Submit][Status][Discuss] ...
- bzoj4665 小w的喜糖(dp+容斥)
4665: 小w的喜糖 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 222 Solved: 130[Submit][Status][Discuss ...
- bzoj2441【中山市选】小W的问题
题目描述 有一天,小W找了一个笛卡尔坐标系,并在上面选取了N个整点.他发现通过这些整点能够画出很多个“W”出来.具体来说,对于五个不同的点(x1, y1), (x2, y2), (x3, y3), ( ...
- 【BZOJ 4665】 4665: 小w的喜糖 (DP+容斥)
4665: 小w的喜糖 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 94 Solved: 53 Description 废话不多说,反正小w要发喜 ...
- 【BZOJ4665】小w的喜糖 容斥+组合数
[BZOJ4665]小w的喜糖 Description 废话不多说,反正小w要发喜糖啦!! 小w一共买了n块喜糖,发给了n个人,每个喜糖有一个种类.这时,小w突发奇想,如果这n个人相互交换手中的糖,那 ...
- bzoj2441 [中山市选2011]小W的问题(debug中)
2441: [中山市选2011]小W的问题 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 487 Solved: 186[Submit][Statu ...
随机推荐
- 高性能、低成本的高防 IP 产品能现实吗?
DDoS 攻击是网络攻击最常用的方式之一,也是企业发展道路上的阻碍.作为业务发展的巨大隐形"地雷",企业想要自建 DDoS 防御的技术门槛很高,且建设周期不可控.这给予了安全厂商海 ...
- [标签] Java学习日报7.28
package minG;import java.util.*;public class MinG { public static void main(String[] args) { // TODO ...
- File类的特点?如何创建File类对象?Java中如何操作文件内容,什么是Io流Io流如何读取和写入文件?字节缓冲流使用原则?
重难点提示 学习目标 1.能够了解File类的特点(存在的意义,构造方法,常见方法) 2.能够了解什么是IO流以及分类(IO流的概述以及分类) 3.能够掌握字节输出流的使用(继承体系结构介绍以及常见的 ...
- lambda表达式之方法引用
/** * 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器.<br> * 与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码. ...
- 解决使用Navicat等工具进行连接登录mysql的1521错误,(mysql为8.0版本)
mysql 8.0的版本的加密方式和以前的不一样,因此使用Navicat等工具进行连接的时候,会报1521的异常. 解决方法如下: 登录mysql的命令行工具,输入如下代码: ALTER USER ' ...
- 基于E-PUCK 2.0多智能体自主协同 高频投影定位系统
群体智能机器人是一种国际前沿的人工智能研究项目,由多个小型机器人组成的集群式解决系统,灵感源于蚂蚁.蜜蜂.鱼等群体生物,在没有统一领导的情况下,也能合作执行大量复杂的任务,比如组建一个图形,再在此基础 ...
- maxmemory-policy
maxmemory-policy 配置的策略 noeviction: 不删除策略, 达到最大内存限制时, 如果需要更多内存, 直接返回错误信息.(默认值) allkeys-lru: 所有key通用; ...
- Beta冲刺——第九天
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 这个作业要求在哪里 https://edu.cnblogs.com/campus/fz ...
- wdCP V3.2
wdCP是什么?关于wdCP更多的介绍,可看http://www.wdlinux.cn/wdcp/安装前先去体验下,看演示站吧http://www.wdlinux.cn/bbs/thread-5285 ...
- Spring(2) --Bean相关
你对Spring中的bean了解吗?都有哪些作用域(Scope)? Spring 官方文档对 bean 的解释是: In Spring, the objects that form the backb ...