BZOJ 1555 KD之死
贪心,按t+w排序维护不一定放到拖车上的大根堆。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#define maxn 600500
using namespace std;
struct GC
{
int w,t,flag;
}p[maxn];
int n,m,maxv,cnt=,sum=,x;
priority_queue <int> q;
bool cmp(GC x,GC y)
{
return x.w+x.t<y.w+y.t;
}
int main()
{
scanf("%d%d%d",&n,&m,&maxv);
for (int i=;i<=n;i++)
{
scanf("%d%d",&p[i].w,&p[i].t);
p[i].flag=;
}
for (int i=;i<=m;i++)
{
scanf("%d",&x);
p[x].flag=;
}
p[n+].w=;p[n+].t=maxv;p[n+].flag=;
sort(p+,p+n+,cmp);
for (int i=;i<=n+;i++)
{
if (p[i].flag)
{
while ((sum>p[i].t) && (q.size()))
{
sum-=q.top();
cnt--;q.pop();
}
if (!q.size() || (sum>p[i].t))
{
printf("Foolish SD!");
return ;
}
sum+=p[i].w;cnt++;
}
else
{
if (p[i].t>=sum)
{
sum+=p[i].w;cnt++;
q.push(p[i].w);
}
else
{
if (q.size() && p[i].t>=sum-q.top() && q.top()>p[i].w)
{
sum-=q.top();sum+=p[i].w;
q.pop();q.push(p[i].w);
}
}
}
}
printf("%d\n",cnt-);
return ;
}
BZOJ 1555 KD之死的更多相关文章
- bzoj1555 KD之死 贪心+堆优化
1555: KD之死 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 124 Solved: 54[Submit][Status][Discuss] D ...
- BZOJ1555 KD之死
如果没有必选的限制条件,就是水题了... 只要按照w + t排序就可以了,然后搞个堆来维护 于是有了限制条件,还是水题... 到了必选的时候强制选上,不加入堆中即可. /*************** ...
- BZOJ - 3489 KD树 范围计数 空间思维转换
题意:给定数列\(a[1...n]\),\(Q\)次查询\([L,R]\)中只出现一次的最大值 这道题的做法比较劲.. 对每个元素构造三维空间的点\((i,pre[i],next[i])\),查询\( ...
- BZOJ - 4066 KD树 范围计数 暴力重构
题意:单点更新,大矩阵(\(n*n,n≤10^5\))求和 二维的KD树能使最坏情况不高于\(O(N\sqrt{N})\) 核心在于query时判断当前子树维护的区间是否有交集/当前子节点是否在块中, ...
- BZOJ - 2648 KD树 最近点查询
省赛后躺尸几天又回来更新了,内容是说好的KD树.. 具体操作从代码中感受一下 感觉已经把KD树尽量封装好了(虽然全局的D看着极不顺眼) 需要注意的是估值函数的判断条件 #include<bits ...
- bzoj AC倒序
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
- bzoj 3489: A simple rmq problem k-d树思想大暴力
3489: A simple rmq problem Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 551 Solved: 170[Submit][ ...
- bzoj 3053 HDU 4347 : The Closest M Points kd树
bzoj 3053 HDU 4347 : The Closest M Points kd树 题目大意:求k维空间内某点的前k近的点. 就是一般的kd树,根据实测发现,kd树的两种建树方式,即按照方差 ...
- bzoj 2648 SJY摆棋子 kd树
题目链接 初始的时候有一些棋子, 然后给两种操作, 一种是往上面放棋子. 另一种是给出一个棋子的位置, 问你离它最近的棋子的曼哈顿距离是多少. 写了指针版本的kd树, 感觉这个版本很好理解. #inc ...
随机推荐
- C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\Team Foundation\4.0\Cache\VersionControl.config is not valid and cannot be loaded.
Recently, we experienced a strange problem with TFS 2010. We spent a few days before we figured it o ...
- CAP定理与RDBMS的ACID
一.分布式领域CAP理论 CAP定理指在设计分布式系统时,一致性(Consistent).可用性(Availability).可靠性(分区容忍性Partition Tolerance)三个属性不可能同 ...
- ZOJ3238 Water Ring(计算几何)
题意:给你一个圆形和很多个矩形,然后要你求圆形的圆周有多少被矩形覆盖. 思路:比赛的时候是有思路的了,不过一直在调别的题,最后剩下30分钟肯定来不及敲.想法是这样的,要是我们可以求出每个矩形覆盖了圆周 ...
- iOS-CALayer实现简单进度条
/** * 用CALayer定制下载进度条控件 * 1.单独创建出CALayer * 2.直接修改CALayer的frame值,执行隐式动画,实现进度条效果 * 3.用定时器(NSTimer) ...
- java Timer类
java.util 类 Timer java.lang.Object java.util.Timer public class Timerextends Object 一种工具,线程用其安排以后在后台 ...
- CodeIgniter 错误: In order to use the Session class you are required to set an encryption key
CodeIgniter SESSION 第一次用 session 遇到这个错误 , 说是要加一个密钥才可以使用,加就加吧, 打开 config.php 找到以下代码 /*|------------- ...
- 最近在看 ASP.NET 5,有关官方实现的 OAuth 2 包
有了官方实现的 OAuth 2 包,再扩展到国内就方便多了(懒得找第三方). 官方实现的有关授权和验证的包:https://github.com/aspnet/Security 根据这些,我就扩展了几 ...
- 妙味课堂——HTML+CSS(第一课)
一句话,还记忆不如烂笔头,何况还这么笨,记下笔记,也是记录这一路学习的过程. 妙味课堂第一课并未一味地先讲HTML,而是穿插着CSS讲解,这一点不同于一些其他视频,这一点挺特别的!所以这一课涉及到HT ...
- SSH 使用JUnit测试
前提是引入两个包:org.springframework.test-3.1.3.RELEASE和JUnit4. package com.qk.test; import javax.annotation ...
- React事件函数简介
一.事件汇总 二.例子 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset= ...