题目链接:https://www.nowcoder.com/acm/contest/105/E

题意:给你美食种类和查询次数,告诉你美味度和价格,给你固定钱数,问你最多能吃到多少美味度的食物。(X真是对自己的表达能力感到悲伤啊)。

题解:乍一看其实用线段树是最优解。当时懒得敲板子,不想用线段树。类似于这种找最值的,其实可以用前缀数组维护最大差值。坑点就是啊二分啊。这里的二分就是找最接近的价格,从前缀数组里找到最优美味度的解。

 1 #include<iostream>
 2 #include<algorithm>
 3 using namespace std;
 4 #define Max 1000010
 5 int n,m;
 6 int pre[Max];
 7 struct Food{
 8     int d;
 9     int c;
10 };
11 Food food[Max];
12 bool cmp(Food a,Food b){
13     return a.d<b.d;
14 }
15
16 int find(int l,int r,int x){
17     int ans;
18     while(l <= r){
19         int mid = (l + r) / 2;
20         if(food[x].d <= x)
21             l=mid+1,ans = mid;
22         else
23             r = mid - 1;
24     }
25     return ans;
26
27 }
28 int main(){
29     int T;
30     scanf("%d",&T);
31     while(T--){
32         scanf("%d%d",&n,&m);
33         for(int i = 1 ;i <= n ;i++){
34             scanf("%d%d",&food[i].d,&food[i].c);
35         }
36         sort(food+1,food+n+1,cmp);
37
38         pre[0]=0;
39         for(int i = 1; i <= n; i++)
40             pre[i]=max(pre[i-1],food[i].c);
41         int t;
42         while(m--){
43             scanf("%d",&t);
44             int ans = find(1,n,t);
45             printf("%d\n",pre[ans]);
46         }
47     }
48
49
50     return 0;
51 }

View Code

转载于:https://www.cnblogs.com/Asumi/p/8987729.html

2018湘潭大学程序设计竞赛【E】相关推荐

  1. [2018 NUIST 程序设计竞赛] A. 竹鼠的命运

    [2018 NUIST 程序设计竞赛] A. 竹鼠的命运 原题: 题目描述 农华兄弟最近开始做直播,竹鼠们开始瑟瑟发抖,但它们除了吃和睡,其它什么都做不了.农华兄弟突发奇想,如果某只竹鼠最多一次连续吃 ...

  2. 2018年湘潭大学程序设计竞赛G又见斐波那契

    链接:https://www.nowcoder.com/acm/contest/105/G 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6553 ...

  3. 2018年湘潭大学程序设计竞赛 G又见斐波那契

    题目描述 这是一个加强版的斐波那契数列. 给定递推式 求F(n)的值,由于这个值可能太大,请对109+7取模. 输入描述: 第一行是一个整数T(1 ≤ T ≤ 1000),表示样例的个数.以后每个样例 ...

  4. 2019年湘潭大学程序设计竞赛

    Problem A Who's better? https://ac.nowcoder.com/acm/contest/893/A 题意:模拟ACM比赛计分规则 题解:模拟 C++版本一 /* *@A ...

  5. 2019年湘潭大学程序设计竞赛(重现赛)F.Truthman or Fakeman(并查集)

    链接:https://ac.nowcoder.com/acm/problem/25579 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  6. 2019年湘潭大学程序设计竞赛(重现赛)补题:F.Black White(尺取法)

    链接:https://ac.nowcoder.com/acm/contest/893/F 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  7. 2019年湘潭大学程序设计竞赛(重现赛)补题:H.Chat(分组背包)

    链接:https://ac.nowcoder.com/acm/problem/25581 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  8. 2019年湘潭大学程序设计竞赛(重现赛)

    没有准时参加比赛,在比赛中只AC3题,主要是我太菜了!!! A,B两题送分题. C题: (搞得差不多了比赛却结束了??) C Math Problem https://ac.nowcoder.com/ ...

  9. [2018 NUIST 程序设计竞赛] P1553 抑郁的竹鼠

    题目描述 一只竹鼠正处在由 N × M 个房间组成的矩阵迷宫中,它需要尽快逃出去,否则可能会变得抑郁,然后被农华兄弟吃掉. 为了描述方便,我们把左上角的房间的坐标定为 (0, 0),右下角房间的坐标定 ...

  10. 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 H题 Rock Paper Scissors Lizard Spock.(FFT字符串匹配)...

    2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...

最新文章

  1. ext2.2打造全新功能grid系列--仅仅动态生成GridPanel
  2. 怎么自学python编程-怎么能学习好python编程?有自学的方法吗?
  3. 序列号生成的另一种玩法
  4. 选择 Reac​​tJS 的五大理由
  5. Redis AOF带来的问题
  6. AaronYang WCF教程目录
  7. 微计算机最常用的输入法,输入无极限 最常用五款拼音输入法横评
  8. 让cajviewer记住正在浏览的文献,下次启动时自动打开上次浏览的文献
  9. 一些生物信息学常用的分析法的介绍
  10. 西安华为 java研发工程师_【华为西安研究所工资】研发工程师待遇-看准网
  11. 重标极差分析法matlab,重标极差(RS)分析法估计Hurst指数的有效性检验.doc
  12. HMC7044调试说明
  13. Framebuffer应用开发
  14. 图书馆管理系统 13-架构设计
  15. 众多Android 开源项目推荐
  16. 魔众文库系统 v2.1.0 页面SEO优化,系统升级调整
  17. 电脑上导表显示服务器不能创建对象6,win10系统提示automation服务器不能创建对象的还原办法...
  18. 数据库备份之热备,冷备,温备
  19. 无盘系统及服务器,无盘系统服务器的配置
  20. ORACLE简繁转换函数

热门文章

  1. 总和生育率模型matlab,中国人口增长预测 灰色模型——全国数学建模大赛
  2. Android安全测试框架Drozer(安装篇)
  3. 常见算法工程师面试题总结(机器学习,深度学习)
  4. java斗地主比大小_斗地主算法的设计与实现–如何比较两手牌的大小
  5. java计算机毕业设计高校多媒体设备报修管理系统源码+mysql数据库+系统+lw文档+部署
  6. Java技术栈(跳槽,面试必备)
  7. python共享单车数据分析_利用python分析共享单车项目
  8. 内网渗透-Earthworm的简单使用(内网穿透工具)
  9. 特征选择+++分裂大法好
  10. 计算机右键管理是什么软件,右键管理工具打不开怎么办【图文】