背包。

首先考虑将所有询问离线按照$m$从小到大排序,然后把所有物品按照$a$从小到大排序,对于每一个询问不断加入物品。

设$f_i$表示在组成容量为$i$的背包的所有方案中$b$最小的一个物品的最大$b$是多少,对于物品$i$和容量$j$,有转移$f_j = max(f_j, min(f_{j - c_i}, b_i))$。

时间复杂度$O(MaxK * n)$,感觉非常紧,实际上还行。

Code:

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;const int N = 1005;
const int M = 1e6 + 5;
const int Maxm = 1e5;
const int inf = 1 << 30;int n, qn, f[Maxm + 5];
bool ans[M];struct Item {int sa, sb, sc;friend bool operator < (const Item &x, const Item &y) {return x.sa < y.sa;}} a[N];struct Querys {int m, k, s, id;friend bool operator < (const Querys &x, const Querys &y) {return x.m < y.m;    }} q[M];inline void read(int &X) {X = 0; char ch = 0; int op = 1;for(; ch > '9' || ch < '0'; ch = getchar())if(ch == '-') op = -1;for(; ch >= '0' && ch <= '9'; ch = getchar())X = (X << 3) + (X << 1) + ch - 48;X *= op;
}inline int min(int x, int y) {return x > y ? y : x;
}inline void chkMax(int &x, int y) {if(y > x) x = y;
}int main() {read(n);for(int i = 1; i <= n; i++) read(a[i].sc), read(a[i].sa), read(a[i].sb);read(qn);for(int i = 1; i <= qn; i++) {read(q[i].m), read(q[i].k), read(q[i].s);q[i].id = i;}sort(a + 1, a + 1 + n), sort(q + 1, q + 1 + qn);f[0] = inf;for(int j = 1, i = 1; i <= qn; i++) {for(; j <= n && a[j].sa <= q[i].m; ++j) {for(int k = Maxm; k >= a[j].sc; k--)chkMax(f[k], min(f[k - a[j].sc], a[j].sb));}if(f[q[i].k] > q[i].m + q[i].s) ans[q[i].id] = 1;}for(int i = 1; i <= qn; i++)puts(ans[i] ? "TAK" : "NIE");return 0;
}  

View Code

转载于:https://www.cnblogs.com/CzxingcHen/p/9896045.html

Luogu 3537 [POI2012]SZA-Cloakroom相关推荐

  1. luogu P1549 棋盘问题(2) 题解

    luogu P1549 棋盘问题(2) 题解 题目描述 在\(N * N\)的棋盘上\((1≤N≤10)\),填入\(1,2,-,N^2\)共\(N^2\)个数,使得任意两个相邻的数之和为素数. 例如 ...

  2. [Luogu] 选学霸

    https://www.luogu.org/problemnew/show/P2170 并查集+DP #include <iostream> #include <cstring> ...

  3. Luogu 2470 [SCOI2007]压缩

    和Luogu 4302 [SCOI2003]字符串折叠 差不多的想法,区间dp 为了计算方便,我们可以假设区间[l, r]的前面放了一个M,设$f_{i, j, 0/1}$表示区间$[i, j]$中是 ...

  4. 【Luogu】P1613 跑路

    [Luogu]P1613 跑路 一.题目 题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资 ...

  5. Luogu P6055 [RC-02] GCD(莫比乌斯反演,杜教筛)(这题乐死我了,真就图一乐呗)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Weblink https://www.luogu.com.cn/problem/P6055 Prob ...

  6. Luogu P3177 [HAOI2015] 树上染色(树上背包)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Luogu P3177 [HAOI2015] 树上染色 有一棵点数为 NNN 的树,树边有边权.给你一 ...

  7. Luogu P4178 Tree (点分治 + 树状数组)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Weblink https://www.luogu.com.cn/problem/P4178 Prob ...

  8. Luogu P4336 [SHOI2016]黑暗前的幻想乡(容斥,矩阵树定理,子集反演)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Luogu P4336 [SHOI2016]黑暗前的幻想乡(容斥,矩阵树定理) Problem n≤1 ...

  9. BZOJ 2154 [国家集训队]Crash的数字表格 / JZPTAB(莫比乌斯反演,经典好题)(Luogu P1829)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P1829 [国家集训队]Crash的数字表格 / JZPTAB(反演,经典好题) Problem S ...

  10. luogu P3306 [SDOI2013] 随机数生成器(BSGS,数列求通项,毒瘤特判)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 发个水题的 题解证明我还在() luogu P3306 [SDOI2013] 随机数生成器 Webli ...

最新文章

  1. bat脚本调用函数 简单列子
  2. Netty解决粘包和拆包问题的四种方案
  3. 网关流控利器:结合 AHAS 实现 Ingress/Nginx 流量控制
  4. springMVC获取异步请求的参数,返回异步请求数据(json),跨域访问简单了解,文件上传,与Restful风格
  5. FreeMarker快速上手
  6. C语言试题四之计算并输出3到n之间所有素数的平方根之和
  7. 记一次坑爹报错之旅 -bash: /etc/profile: line 11: syntax error near unexpected token
  8. UITextField 和 UITextView实现字数限制 输入若干字以后就无法继续输入的功能
  9. 移动微技(Mobile Widget)应用开发权威指南
  10. MATLAB深度学习工具箱文档——trainingOptions函数的参数设置
  11. mp4视频文件截图--h264解码成yuv再转存为bmp图片
  12. 明星危机公关应该怎么做?
  13. 牛腩老师讲B/S开发小结 触发器 主键 外键
  14. Axure实战——实现登录注册功能
  15. 银河麒麟V10(Kylin Linux V10)之DBeaver安装
  16. java.sql.SQLException: Access denied for user ''@'localhost' (using password: YES)出现原因及解决方法
  17. 离散数学-图论-欧拉图、哈密顿图、二部图、平面图(14)
  18. 标签系统mysql设计_关于tag标签系统的实现
  19. hive插件 ranger_Ranger Hive-HDFS ACL同步
  20. 贝尔机:带你领略编码的魅力

热门文章

  1. 忘记电脑开机密码怎么办
  2. php 客服工单分配问题,最全客服工单系统功能介绍
  3. 传统数据处理技术如何与大数据处理技术有机结合
  4. 笔记本计算机怎么进入安全模式启动,笔记本怎么进入安全模式,详细教您联想笔记本怎么进入安全模式...
  5. ADL SDK V10.2 中文文档
  6. c++11:nlohmann::json进阶使用(二)应用adl_serializer解决第三方数据类型(such as uri)的序列化和反序列化
  7. edgy trees_在Ubuntu Edgy上安装TrueCrypt
  8. mysql relay_mysql relay log参数汇总
  9. 学习软件测试必备的网站清单,建议收藏!
  10. 软件测试之如何测试数据?