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

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

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

 #include<iostream>
#include<algorithm>
using namespace std;
#define Max 1000010
int n,m;
int pre[Max];
struct Food{
int d;
int c;
};
Food food[Max];
bool cmp(Food a,Food b){
return a.d<b.d;
} int find(int l,int r,int x){
int ans;
while(l <= r){
int mid = (l + r) / ;
if(food[x].d <= x)
l=mid+,ans = mid;
else
r = mid - ;
}
return ans; }
int main(){
int T;
scanf("%d",&T);
while(T--){
scanf("%d%d",&n,&m);
for(int i = ;i <= n ;i++){
scanf("%d%d",&food[i].d,&food[i].c);
}
sort(food+,food+n+,cmp); pre[]=;
for(int i = ; i <= n; i++)
pre[i]=max(pre[i-],food[i].c);
int t;
while(m--){
scanf("%d",&t);
int ans = find(,n,t);
printf("%d\n",pre[ans]);
}
} return ;
}

2018湘潭大学程序设计竞赛【E】的更多相关文章

  1. 2018湘潭大学程序设计竞赛【A】

    题目链接:https://www.nowcoder.com/acm/contest/105/A 题意:给你起始和结束的天时分,让你算总秒数. 题解:输入格式.注意long long.签到题. #inc ...

  2. 2018湘潭大学程序设计竞赛【H】

    题目链接:https://www.nowcoder.com/acm/contest/105/H 题意:两个操作,一个在[l,r]区间放颜色为c的球,一个统计在[l,r]里有多少不同颜色的球. 题解:哎 ...

  3. 2018湘潭大学程序设计竞赛【D】

    题目链接:https://www.nowcoder.com/acm/contest/105/D 题意:就是数的fib表示方法.按权展开,又按二进制算出结果输出. 题解:贪心和数论吧.找到跟数最接近的f ...

  4. 2018湘潭大学程序设计竞赛【C】

    题目链接:https://www.nowcoder.com/acm/contest/105/C 题意:给你几个矩形的左上角和右下角的坐标,让你算有几个矩形相交. 题解: 每次都暴力标记一下炸弹区域里的 ...

  5. 2018湘潭大学程序设计竞赛【B】

    题目链接: https://www.nowcoder.com/acm/contest/105/B 题意: 给你一个字母矩阵,和测试组数,让你统计字符串的字符累计出现的次数,然后让你找出需要找的字符,这 ...

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

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

  7. 牛客网-2018年湘潭大学程序设计竞赛-F

    题目链接:https://www.nowcoder.com/acm/contest/105/F 解题思路:这道题第一眼直接思路就是搜索,但想了半天没想到有什么好办法搜,然后就转成最短路写了, 因为多入 ...

  8. 2018年湘潭大学程序设计竞赛 H统计颜色

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

  9. 2018年湘潭大学程序设计竞赛 F - maze

    把点抽出来 跑个最短路就好啦. #include<bits/stdc++.h> #define LL long long #define pii pair<int,int> # ...

随机推荐

  1. leetcode.数组.667优美的排列II-Java

    1. 具体题目 给定两个整数 n 和 k,你需要实现一个数组,这个数组包含从 1 到 n 的 n 个不同整数,同时满足以下条件:① 如果这个数组是 [a1, a2, a3, ... , an] ,那么 ...

  2. __user表示是一个user mode的pointer,所以kernel不可能直接使用。

    __user表示是一个用户空间的指针,所以kernel不可能直接使用. #ifdef __CHECKER__# define __user __attribute__((noderef, addres ...

  3. join(long)方法和sleep(long)方法的比较

    join(long)方法的源代码 public final synchronized void join(long millis) throws InterruptedException { long ...

  4. 案例- CSS 三角加强

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. LeetCode Array Easy169. Majority Element

    Description Given an array of size n, find the majority element. The majority element is the element ...

  6. 利用ARIMA算法建立短期预测模型

    周五福利日活动是电信为回馈老用户而做的活动,其主要回馈老用户的方式是让用户免费领取对应的优惠券,意在提升老用户的忠诚度和活跃度.今日,为保证仓库备货优惠券资源充足,特别是5元话费券等,需要对该类优惠券 ...

  7. Copying Books

    Copying Books 给出一个长度为m的序列\(\{a_i\}\),将其划分成k个区间,求区间和的最大值的最小值对应的方案,多种方案,则按从左到右的区间长度尽可能小(也就是从左到右区间长度构成的 ...

  8. vue生命周期-标注

    作者:FlyDragon 出处:http://www.cnblogs.com/fly_dragon/ 关于作者:专注于微软平台项目架构.管理和企业解决方案.如有问题或建议,请多多赐教! 本文版权归作者 ...

  9. h5开发与pc开发的差异性

    1. viewport 将layout viewport 设置成ideal viewport . width=device-width,也可以设置 initial-scale=1,最好两者都有. wi ...

  10. K8S集群安装部署

    K8S集群安装部署   参考地址:https://www.cnblogs.com/xkops/p/6169034.html 1. 确保系统已经安装epel-release源 # yum -y inst ...