NOI热身赛A. 小w、小j和小z
$n \leq 100000$个点在数轴上运动,给初始位置和速度。能删$k$个点,问最晚什么时候发生第一次碰撞。
这个贪心题有点惊。。
首先肯定二分答案,然后就是判断怎么删这$k$个点。我想可以把有冲突的点连条边,虽然是平方的但可能可以用数据结构优化,实际上就是求这个图的。。最大独立集?还要一般图匹配????
结果题解告诉我,算出起点和终点,$s_i>s_j$时必须$t_i>t_j$,相当于以$s$为关键字排序找最长上升子序列。
智商-- HP--
#include<iostream>
#include<cstring>
#include<cstdio>
//#include<math.h>
//#include<set>
//#include<queue>
//#include<bitset>
//#include<vector>
#include<algorithm>
#include<stdlib.h>
using namespace std; #define LL long long
int qread()
{
char c; int s=,f=; while ((c=getchar())<'' || c>'') (c=='-') && (f=-);
do s=s*+c-''; while ((c=getchar())>='' && c<=''); return s*f;
} //Pay attention to '-' , LL and double of qread!!!! int n,K;
#define maxn 100011
struct BIT
{
int a[maxn],n;
void clear(int N) {n=N; memset(a,,sizeof(a));}
void add(int x,int v) {for (;x<=n;x+=x&-x) a[x]=max(a[x],v);}
int query(int x) {int ans=; for (;x;x-=x&-x) ans=max(ans,a[x]); return ans;}
}t; struct Point{int s,t,v; bool operator < (const Point &b) const {return s<b.s;} }p[maxn];
struct TT{int id; double v; bool operator < (const TT &b) const {return v<b.v;} }tt[maxn];
int f[maxn];
bool check(double T)
{
t.clear(n);
for (int i=;i<=n;i++) tt[tt[i].id=i].v=p[i].s+p[i].v*T;
sort(tt+,tt++n); for (int i=;i<=n;i++) p[tt[i].id].t=i;
int ans=;
for (int i=;i<=n;i++)
{
f[i]=t.query(p[i].t-)+;
t.add(p[i].t,f[i]);
ans=max(ans,f[i]);
}
// cout<<T<<endl;
// for (int i=1;i<=n;i++) cout<<f[i]<<' ';cout<<endl;
return n-ans<=K;
} int main()
{
n=qread(); K=qread();
for (int i=;i<=n;i++) {p[i].s=qread(); p[i].v=qread();}
sort(p+,p++n); double L=,R=1e9;
while (R-L>1e-)
{
double mid=(L+R)/.;
if (check(mid)) L=mid; else R=mid;
}
printf(L>1e9-?"Forever":"%.4lf\n",L);
return ;
}
NOI热身赛A. 小w、小j和小z的更多相关文章
- 小w、小j和小z
n个月没更了,现在学的东西很难,掌握不好,不敢更! 这个题目既不超范围又足够难想,反正我没想出来,很好的题目! 我发现noi.ac上的题目很不错!!! ------------------------ ...
- 武汉科技大学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 ...
- 小w的喜糖(candy)
小w的喜糖(candy) 题目描述 废话不多说,反正小w要发喜糖啦!! 小w一共买了n块喜糖,发给了n个人,每个喜糖有一个种类.这时,小w突发奇想,如果这n个人相互交换手中的糖,那会有多少种方案使得每 ...
- hnust 不爱学习的小w
问题 C: 不爱学习的小W 时间限制: 2 Sec 内存限制: 64 MB提交: 1431 解决: 102[提交][状态][讨论版] 题目描述 “叮铃铃”上课了,同学们都及时到了教室坐到了座位上, ...
随机推荐
- Git下的gitignore规则介绍
匹配模式前/代表项目根目录 匹配模式最后加/代表是目录 匹配模式前加!代表取反 (忽略文件夹,但不忽略文件夹下的某个文件) *代表任意个字符 ? 匹配任意一个字符 **匹配多级目录 node_modu ...
- PHP redis使用命令
很有用;以下是redis官方提供的命令使用技巧: 下载地址如下: https://github.com/owlient/phpredis(支持redis 2.0.4) Redis::__constru ...
- python中字符串的一些用法
一.字符串的拼接: a=‘123’ b=‘abc’ d=‘hello world’ 1.print(a+b) 2.print(a,b) 3. c=‘ ’.join((a ...
- Anaconda的安装、使用以及与PyCharm的链接
初学Python的盆友们是否有这样的疑惑: 选择Python2还是Python3呢?(后者并不完全兼容前者) 听说两者可以同时安装,那怎么管理呢? Python那么丰富的第三方库,一个一个装太麻烦啦 ...
- graph-bfs-八数码问题
这个看起来是童年回忆:) 大体思路是,将每个排列状态看成图中的一个点,状态之间转换说明有边.然后用bfs,如果遍历完之后还是没有找到目标状态, 则说明是无解的,否则输出步数.具体想法写在代码里吧,多多 ...
- 在Unix系统上,从源文件、目标文件、可执行文件的编译过程
是由“编译器驱动”(compiler driver)完成的: unix> gcc -o hello hello.c 在这里,gcc的编译器驱动程序读取源文件hello.c, #include & ...
- LeetCode(166) Fraction to Recurring Decimal
题目 Given two integers representing the numerator and denominator of a fraction, return the fraction ...
- 关于C#Debug和Release
在程序调试时的debug和release 网上有如下的描述:Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进行了各种优化,使 ...
- Centos7重启网卡失败解决方法
service Network-Manager stop 执行命令解决,如果执行命令还是失败,则是配置文件内容的问题,检查配置文件
- hierarchy viewer不能获取userbuild手机版本的UI布局
步骤很详细:http://maider.blog.sohu.com/255485243.html 其中的第7步命令需要更改为: java -jar smali-2.0.3.jar ./out -o c ...