题目大意: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相关推荐

  1. 一句话题解(20170801~20170125)

    8.1 bzoj 4720 noip2016 换教室 floyd预处理+期望(薛定谔的猫) bzoj 4318 OSU! 三次函数期望值 从一次.二次推得 8.2 bzoj 1076 状压+期望DP ...

  2. Bzoj3060 [Poi2012]Tour de Byteotia

    3060: [Poi2012]Tour de Byteotia Time Limit: 30 Sec  Memory Limit: 256 MB Submit: 251  Solved: 161 De ...

  3. 洛谷 P3539 [POI2012]ROZ-Fibonacci Representation 解题报告

    P3539 [POI2012]ROZ-Fibonacci Representation 题意:给一个数,问最少可以用几个斐波那契数加加减减凑出来 多组数据10 数据范围1e17 第一次瞬间yy出做法, ...

  4. BZOJ 2788[Poi2012]Festival

    题面: 2788: [Poi2012]Festival Time Limit: 30 Sec  Memory Limit: 64 MB Submit: 418  Solved: 190 [Submit ...

  5. 【BZOJ2797】[Poi2012]Squarks 暴力乱搞

    [BZOJ2797][Poi2012]Squarks Description 设有n个互不相同的正整数{X1,X2,...Xn},任取两个Xi,Xj(i≠j),能算出Xi+Xj. 现在所有取法共n*( ...

  6. 【BZOJ2791】[Poi2012]Rendezvous 倍增

    [BZOJ2791][Poi2012]Rendezvous Description 给定一个n个顶点的有向图,每个顶点有且仅有一条出边. 对于顶点i,记它的出边为(i, a[i]). 再给出q组询问, ...

  7. bzoj 2803: [Poi2012]Prefixuffix(双Hash)

    2803: [Poi2012]Prefixuffix Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 413  Solved: 167 [Submit] ...

  8. P3540 [POI2012]SQU-Squarks

    题目传送门:P3540 [POI2012]SQU-Squarks 题面解释的非常不清楚,总之就是有 nnn 个数,x[]x[]x[],它们两两组合,对每一对求和,放到 a[]a[]a[] 里,此时 a ...

  9. [BZOJ2796][Poi2012]Fibonacci Representation

    由于是斐波那契数列,所以$x_i+x_j<=x_k,i<j<k$ 所以猜测可以贪心选择两边近的数处理. 1 #include<cstdio> 2 #include< ...

  10. BZOJ 2793: [Poi2012]Vouchers(调和级数)

    Time Limit: 20 Sec  Memory Limit: 64 MB Submit: 582  Solved: 250 [Submit][Status][Discuss] Descripti ...

最新文章

  1. Java 读写文件大全
  2. 页面怎么把关键字保留下来_怎么做seo优化,以及网站SEO优化计划!
  3. Linux android studio :'tools.jar' seems to be not in Android Studio classpath.
  4. 【WebRTC---入门篇】(十九)TURN协议
  5. CentOS7.0下Hadoop2.7.3的集群搭建
  6. linux shell 执行目录,bash shell脚本执行的几种方法
  7. WEB超链分析算法纵览
  8. 微信淘宝客小程序APP公众号京东客外卖cps分销系统网站源码开发
  9. 微信8.0下载(可抓包)
  10. c++ opencv的简单数字识别
  11. eaxsinbx_高等数学导数与微分练习题
  12. window.onload和DOMContentLoaded的区别
  13. VMWare 虚拟机网络共享给宿主机
  14. Java实验:教练和运动员案例
  15. iOS安全攻防(二十):越狱检测的攻与防
  16. 常用的RGB值和颜色对照表
  17. 在土豆传的第一篇视频
  18. 后缀数组(倍增)学习记录,我尽可能详细的讲了
  19. datawindow技巧
  20. 洗衣机挂墙上?大宇这款产品天猫618增长364%的秘诀是…

热门文章

  1. linux中gimp命令截图,Linux利用GIMP截图
  2. NLP自然语言处理系列-词汇挖掘与实体识别
  3. vue3.0之Router的使用
  4. 学习Mybatis框架(一)
  5. 分享一个软件测试工程师的年终总结
  6. 计算机的无线安全类型在哪里设置,在电脑上设置无线热点的方法
  7. 高中生如何才能快速提高高二数学成绩
  8. BZOJ 4816(莫比乌斯反演
  9. Ring Buffer介绍
  10. fd开发website小技巧