二分枚举答案,问题转化为计算至少取到一定体积,价格最少是多少,显然是贪心取最小,用线段树维护,然后因为要判断答案,所以可持久化一下即可。

 1 #include<bits/stdc++.h>
2 using namespace std;
3 #define N 100005
4 #define mid (l+r>>1)
5 #define ll long long
6 struct ji{
7 int d,p,l;
8 bool operator < (const ji &a)const{
9 return d>a.d;
10 }
11 }a[N];
12 int V,n,m,r[N],ls[N*20],rs[N*20];
13 ll x,y,sz[N*20],f[N*20];
14 void update(int k1,int &k2,int l,int r,int x,int y){
15 k2=++V;
16 if (l==r){
17 sz[k2]=sz[k1]+y;
18 f[k2]=f[k1]+1LL*y*l;
19 return;
20 }
21 ls[k2]=ls[k1];
22 rs[k2]=rs[k1];
23 if (x<=mid)update(ls[k1],ls[k2],l,mid,x,y);
24 else update(rs[k1],rs[k2],mid+1,r,x,y);
25 sz[k2]=sz[ls[k2]]+sz[rs[k2]];
26 f[k2]=f[ls[k2]]+f[rs[k2]];
27 }
28 ll query(int k,int l,int r,ll x){
29 if (l==r)return l*x;
30 if (x<sz[ls[k]])return query(ls[k],l,mid,x);
31 return query(rs[k],mid+1,r,x-sz[ls[k]])+f[ls[k]];
32 }
33 int main(){
34 scanf("%d%d",&n,&m);
35 for(int i=1;i<=n;i++)scanf("%d%d%d",&a[i].d,&a[i].p,&a[i].l);
36 sort(a+1,a+n+1);
37 for(int i=1;i<=n;i++)update(r[i-1],r[i],1,N-5,a[i].p,a[i].l);
38 for(int i=1;i<=m;i++){
39 scanf("%lld%lld",&x,&y);
40 if ((y>sz[r[n]])||(query(r[n],1,N-5,y)>x)){
41 printf("-1\n");
42 continue;
43 }
44 int l=1,rr=n;
45 while (l<rr){
46 int t=(l+rr>>1);
47 if ((y>sz[r[t]])||(query(r[t],1,N-5,y)>x))l=t+1;
48 else rr=t;
49 }
50 printf("%d\n",a[l].d);
51 }
52 }

最新文章

  1. Failed deleting my ephemeral node
  2. CentOs安装Scrapy出现error: Setup script exited with error: command ‘gcc’ failed with exit status 1错误解决方案
  3. 两款HTTP流量分析工具HttpWatch与Fiddler的比较(转)
  4. 那么如何添加网站favicon.ico图标
  5. 原生JS取代一些JQuery方法
  6. Netcat for Windows
  7. Python之路第六天,基础(8)-反射
  8. QT IP输入框正则表达式(使用QLineEdit的setValidator函数)
  9. BZOJ 1631: [Usaco2007 Feb]Cow Party
  10. iOS 常用到的宏#define
  11. [Java] zjdbcping:JDBC数据库连接测试工具
  12. Storm的部署
  13. [转载]css3的一个控制背景的属性,background-size可以缩放大小啦
  14. ie6 PNG图片透明
  15. 实现项目WC
  16. [转]xshell实现端口转发
  17. Elasticsearch 基础理论 &amp; 配置调优
  18. express 默认模板引擎
  19. Huawei E1750 Asterisk
  20. git忽略特殊文件或文件夹

热门文章

  1. 浅谈一手MYSQL设计规范
  2. codeforces316E3 Summer Homework(线段树,斐波那契数列)
  3. 2020.10.23-vj个人赛补题
  4. 【UE4 设计模式】抽象工厂模式 Abstract Factory Pattern
  5. Matlab/Modelsim图像联合仿真平台
  6. UltraSoft - Beta - Scrum Meeting 2
  7. STM32定时器学习---基本定时器
  8. 微软认真聆听了开源 .NET 开发社区的炮轰: 通过CLI 支持 Hot Reload 功能
  9. 0x04
  10. 『与善仁』Appium基础 — 5、常用ADB命令(二)