zstu4273 玩具
来源:互联网 发布:常用的数据分析算法 编辑:程序博客网 时间:2024/04/27 14:51
4273: 玩具
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 700 Solved: 129
Description
商店有n个玩具,第i个玩具有价格a[i]和快乐值b[i]。有一天,小王来到商店想买一些玩具,商店老板告诉他,如果他买的所有玩具的位置是连续的,那么老板答应小王购买的所有玩具中某一个可以免费。小王接受老板的提议,他现在有零花钱k可以用来买玩具,那么他能获得的最大的快乐值是多少。
Input
第一行给测试总数T(T <= 100),接下来有T组测试数据。
每组测试数据第一行有两个数字n(1 <= n <= 5000)和k(0 <= k <= 1000000000)。
第二行有n个数字,第i个数字表示第i个玩具的价格a[i](1 <= a[i] <= 1000000)。
第三行有n个数字,第i个数字表示第i个玩具的快乐值b[i](1 <= b[i] <= 1000000)。
Output
每组测试输出小王能获得的最大快乐值。
Sample Input
35 141 2 3 4 55 4 3 2 13 1100 1000 10000100 1000 100001 010000001000000
Sample Output
15100001000000
——————————————————————————————
题目的意思是在n个物品对应不同的价格和价值,选取一段连续的区间减去区间最大值后在给出的范围内的最大价值
算出区间的最大值,RMQ处理,然后计算出每段区间的价值去最大,可以用尺取发做
#include<map>#include<set>#include<ctime>#include<cmath>#include<queue>#include<bitset>#include<string>#include<vector>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<functional>using namespace std;#define inf 0x3f3f3f3fint v[5000],w[5005];int d[5000][30];int n;int m;void init(){ for(int i=0; i<n; i++) d[i][0]=w[i]; for(int i=1; (1<<i)<=n; i++) for(int j=0; j+(1<<i)-1<n; j++) d[j][i]=max(d[j][i-1],d[j+(1<<(i-1))][i-1]);}int query(int L,int R){ int k=0; while((1<<(k+1))<=R-L+1) k++; return max(d[L][k],d[R-(1<<k)+1][k]);}int main(){ int T; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&m); memset(w,0,sizeof w); memset(v,0,sizeof v); memset(d,0,sizeof d); for(int i=0; i<n; i++) scanf("%d",&w[i]); for(int i=0; i<n; i++) scanf("%d",&v[i]); init(); int L=0; int R=0; int sum=0; int ans=0; int mx=-1; while(L<n&&R<n) { int x=sum+w[R]-query(L,R); if(x<=m) { sum+=w[R]; ans+=v[R]; mx=max(mx,ans); R++; } else { sum-=w[L]; ans-=v[L]; L++; } } printf("%d\n",mx); } return 0;}
0 0
- zstu4273 玩具
- 我不是玩具
- 新玩具
- 小玩具
- 玩具机器人
- 网络玩具
- 玩具装箱
- 玩具宏
- 1307: 玩具
- 玩具工厂
- 玩具工厂
- 4273: 玩具
- bzoj1307: 玩具
- 儿童玩具,办公室玩具,居室玩具
- [东方宽频]玩具设计师的另类玩具
- 收集一些小玩具
- 孩子与玩具
- 玩具订购热线
- windows上通过vnc连接Centos的远程桌面
- 京东轮播图JS 原生代码
- iOS,页面内button防止同时点击的解决方案
- Java线程:线程的同步与锁
- TCP协议建立连接的三次握手
- zstu4273 玩具
- 悲观锁与乐观锁
- 第一篇博客,随便写点东西纪念一下吧哈哈~
- 5-5 修理牧场 (25分)
- sql 获取当前系统时间
- [Python]项目打包:5步将py文件打包成exe文件
- Thumbnailator生成缩略图--封装笔记
- 欢迎使用CSDN-markdown编辑器
- 【蓝鸥智能团】选择哪种网络课程能学到东西