BZOJ2794: [Poi2012]Cloakroom
题目大意:n个物品有三个属性a,b,c,q个询问每次给出m,k,s,问能不能在物品中选出一些使得每个的a≤m,b>m+s,c的和正好等于k
看完题感觉无从下手....
然后就去翻了题解,感觉还是挺水的....
先离线,把询问按m排序,物品按a排序,这样就相当于每次添加物品,问能不能在正好凑出c的情况下让最小的b大于m+s
这就可以直接背包了....
时间复杂度O(QlogQ+N*10^5)
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define N 1000010
using namespace std;
struct object{int a,b,c;}a[N];
struct query{int m,k,s,num;}b[N];
bool cmpo(object x,object y){return x.a<y.a;}
bool cmpq(query x,query y){return x.m<y.m;}
int f[N];
bool ans[N];
int main()
{int n,q;scanf("%d",&n);int i,j,k,x,y;for(i=1;i<=n;i++)scanf("%d%d%d",&a[i].c,&a[i].a,&a[i].b);scanf("%d",&q);for(i=1;i<=q;i++){scanf("%d%d%d",&b[i].m,&b[i].k,&b[i].s);b[i].num=i;}sort(b+1,b+q+1,cmpq);sort(a+1,a+n+1,cmpo);j=1;f[0]=1e9;for(i=1;i<=q;i++){while(a[j].a<=b[i].m&&j<=n){for(k=100000;k>=a[j].c;k--)f[k]=max(f[k],min(f[k-a[j].c],a[j].b));j++;}if(f[b[i].k]>b[i].m+b[i].s) ans[b[i].num]=true;}for(i=1;i<=q;i++)if(ans[i]) puts("TAK");else puts("NIE");
}
BZOJ2794: [Poi2012]Cloakroom相关推荐
- 一句话题解(20170801~20170125)
8.1 bzoj 4720 noip2016 换教室 floyd预处理+期望(薛定谔的猫) bzoj 4318 OSU! 三次函数期望值 从一次.二次推得 8.2 bzoj 1076 状压+期望DP ...
- Bzoj3060 [Poi2012]Tour de Byteotia
3060: [Poi2012]Tour de Byteotia Time Limit: 30 Sec Memory Limit: 256 MB Submit: 251 Solved: 161 De ...
- 洛谷 P3539 [POI2012]ROZ-Fibonacci Representation 解题报告
P3539 [POI2012]ROZ-Fibonacci Representation 题意:给一个数,问最少可以用几个斐波那契数加加减减凑出来 多组数据10 数据范围1e17 第一次瞬间yy出做法, ...
- BZOJ 2788[Poi2012]Festival
题面: 2788: [Poi2012]Festival Time Limit: 30 Sec Memory Limit: 64 MB Submit: 418 Solved: 190 [Submit ...
- 【BZOJ2797】[Poi2012]Squarks 暴力乱搞
[BZOJ2797][Poi2012]Squarks Description 设有n个互不相同的正整数{X1,X2,...Xn},任取两个Xi,Xj(i≠j),能算出Xi+Xj. 现在所有取法共n*( ...
- 【BZOJ2791】[Poi2012]Rendezvous 倍增
[BZOJ2791][Poi2012]Rendezvous Description 给定一个n个顶点的有向图,每个顶点有且仅有一条出边. 对于顶点i,记它的出边为(i, a[i]). 再给出q组询问, ...
- bzoj 2803: [Poi2012]Prefixuffix(双Hash)
2803: [Poi2012]Prefixuffix Time Limit: 10 Sec Memory Limit: 64 MB Submit: 413 Solved: 167 [Submit] ...
- P3540 [POI2012]SQU-Squarks
题目传送门:P3540 [POI2012]SQU-Squarks 题面解释的非常不清楚,总之就是有 nnn 个数,x[]x[]x[],它们两两组合,对每一对求和,放到 a[]a[]a[] 里,此时 a ...
- [BZOJ2796][Poi2012]Fibonacci Representation
由于是斐波那契数列,所以$x_i+x_j<=x_k,i<j<k$ 所以猜测可以贪心选择两边近的数处理. 1 #include<cstdio> 2 #include< ...
- BZOJ 2793: [Poi2012]Vouchers(调和级数)
Time Limit: 20 Sec Memory Limit: 64 MB Submit: 582 Solved: 250 [Submit][Status][Discuss] Descripti ...
最新文章
- Java 读写文件大全
- 页面怎么把关键字保留下来_怎么做seo优化,以及网站SEO优化计划!
- Linux android studio :'tools.jar' seems to be not in Android Studio classpath.
- 【WebRTC---入门篇】(十九)TURN协议
- CentOS7.0下Hadoop2.7.3的集群搭建
- linux shell 执行目录,bash shell脚本执行的几种方法
- WEB超链分析算法纵览
- 微信淘宝客小程序APP公众号京东客外卖cps分销系统网站源码开发
- 微信8.0下载(可抓包)
- c++ opencv的简单数字识别
- eaxsinbx_高等数学导数与微分练习题
- window.onload和DOMContentLoaded的区别
- VMWare 虚拟机网络共享给宿主机
- Java实验:教练和运动员案例
- iOS安全攻防(二十):越狱检测的攻与防
- 常用的RGB值和颜色对照表
- 在土豆传的第一篇视频
- 后缀数组(倍增)学习记录,我尽可能详细的讲了
- datawindow技巧
- 洗衣机挂墙上?大宇这款产品天猫618增长364%的秘诀是…