解题:POI 2012 Cloakroom
2024-08-31 14:16:47
首先,单独处理每个询问复杂度显然不可承受,还是考虑通过排序使得限制更容易达到:按照$a$将物品排序,按照$m$将询问排序,这样肯定是要不断添加物品才能达到要求,顺着做一遍就行了
然后发现$b$的限制仍然不好满足,但是我们的可行性dp的数组只记录了是否可行,还有利用的余地,那么以$dp[i]$记录达到$i$的所有方案中最小的$b$的最大值,查询的时候就可以判定了
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=,M=,K=,inf=1e9;
struct a{int cc,aa,bb;}obj[N];
struct b{int m,k,s,id;}qry[M];
int n,T,last,dp[K],outp[M];
bool cmp1(a x,a y)
{
return x.aa<y.aa;
}
bool cmp2(b x,b y)
{
return x.m<y.m;
}
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d%d%d",&obj[i].cc,&obj[i].aa,&obj[i].bb);
scanf("%d",&T);
for(int i=;i<=T;i++)
scanf("%d%d%d",&qry[i].m,&qry[i].k,&qry[i].s),qry[i].id=i;
sort(obj+,obj++n,cmp1),sort(qry+,qry++T,cmp2); dp[]=inf,last=;
for(int i=;i<=T;i++)
{
while(last<=n&&obj[last].aa<=qry[i].m)
{
for(int j=K-;j>=obj[last].cc;j--)
dp[j]=max(dp[j],min(dp[j-obj[last].cc],obj[last].bb));
last++;
}
outp[qry[i].id]=(dp[qry[i].k]>qry[i].m+qry[i].s);
}
for(int i=;i<=T;i++)
outp[i]?printf("TAK\n"):printf("NIE\n");
return ;
}
最新文章
- storm集群部署和配置过程详解
- android toast几种使用方法
- 第44讲:Scala中View Bounds代码实战及其在Spark中的应用源码解析
- Android——状态栏通知栏Notification
- c-参数(argument)
- 14.4.3.1 The InnoDB Buffer Pool
- ios应用接入微信开放平台
- split和join函数的比较
- C#里调用 MysqlDB
- 笔记:Maven 项目基本配置
- 报错:[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop&#39;s value. Prop bei
- C#验证ip地址的代码
- ID 生成器
- 初学UML之-------用例图
- 使用Typescript写的Vue初学者Hello World实例(实现按需加载、跨域调试、await/async)
- 1. dubbo概述
- js修改table中Td的值(定义td的单击事件)
- 转:无监督特征学习——Unsupervised feature learning and deep learning
- hibernate最佳实践
- namp命令详解
热门文章
- perf + 火焰图用法 小结
- spring cloud 入门系列七:基于Git存储的分布式配置中心--Spring Cloud Config
- CentOS7.3部署镜像仓库Harbor
- python—退出ipython3的help()
- Kafka安装之三 spring-kafka实践
- 使用PYTHON解析Wireshark的PCAP文件
- 王者荣耀交流协会--第2次Scrum会议
- ";群英队";电梯演讲
- Improving the Safety, Scalability, and Efficiency of Network Function State Transfers
- CSS中px和em属性的特点与区别