2018湘潭大学程序设计竞赛【E】
2024-10-07 18:30:09
题目链接: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 ;
}
最新文章
- Linux系统的理解及学习Linux内核的心得
- 使用Executor管理线程
- java1234教程系列笔记 S1 Java SE 02 eclipse初步使用、注释、标识符
- hadoop1.2.1伪分布模式配置
- jquery-焦点定位追加内容
- Python学习笔记-Day1-Python基础
- delphi 2010 资源文件使用
- C# IO操作(五)文件的递归加载
- [Reactive Programming] Async requests and responses in RxJS
- int? 类型数据
- Mobiscroll日期插件使用
- 解决vagrant up启动失败,停留在Booting VM...过程的方法
- 读阿里巴巴Java开发手册v1.2.0之编程规约有感【架构篇】
- LeetCode 105. Construct Binary Tree from Preorder and Inorder Traversal (用先序和中序树遍历来建立二叉树)
- Vue基础进阶 之 自定义指令
- format()的简单实用 笔记
- No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <;plugin-prefix>;:<;goal>; or <;plugin-group-id>;:<;plugin-artifact-id>;[:<;plugin-version>;]:<;goal
- Daily Scrum NO.7
- ACID、Data Replication、CAP与BASE
- 最大连续子序列 -- hdu -- 1231
热门文章
- nginx 配置反向代理和静态资源
- 数据概览神器pandas_profiling
- Spring学习笔记(1)——初识Spring
- buuctf zip伪加密
- 不用 PS 和 AI,5个网站能做出更好看的设计
- koa2实现登录注册功能(ejs+mongodb版)
- 在idea 上springboot 1.5.6集成jsp页面
- 2017 ACM/ICPC Asia Regional Shenyang Online 12 card card card
- centos7 nodejs二进制安装
- pygame游戏框架