题意:就是有N个人,有一个P值和一个S值,然后商店有一个K值,当这个人来的时候如果K和S相等,则进去,则总P加上该人的P值,每秒K可以+1或者-1或者不变。

思路:先按时间排序。d[i]表示第i个人进来总P值最大是多少。则d[i] = max(d[j], d[j]+p[i]) (t[i]-t[j] >= abs(S[i]-S[j])) ,这里要注意的就是初始化一开始所有人设为-1,d[0]=0;如果有的人不能到的话是不能更新后面的值的,不然的话初始化直接为0的话。

则比如:

T 2 3

S 3 4

如果直接为0的话,d[1]就可以更新d[2],但实际情况是不行的。

#include<cstdio>
#include<cstring>
#include<algorithm>
#define mem(name,value) memset(name,value,sizeof(name))
#define FOR(i,n) for(int i=1;i<=n;i++)
using namespace std;
const int maxn = 100+10;
struct People{
int t,p,s;
bool operator < (const People& rhs)const{
return t < rhs.t;
}
}p[maxn];
int d[maxn];
int main(){
int T,n,k,t;
scanf("%d",&T);
while(T--){
mem(d,-1);
d[0] = 0;
scanf("%d%d%d",&n,&k,&t);
p[0] = (People){0,0,0};
FOR(i,n) scanf("%d",&p[i].t);
FOR(i,n) scanf("%d",&p[i].p);
FOR(i,n) scanf("%d",&p[i].s);
sort(p+1,p+1+n);
for(int i=1;i<=n;i++){
for(int j=i-1;j>=0;j--){
if(d[j]==-1) continue;
if(p[i].t-p[j].t >= abs(p[i].s-p[j].s))
d[i] = max(d[i],d[j]+p[i].p);
}
}
int ans = 0;
for(int i=1;i<=n;i++) ans = max(ans,d[i]);
printf("%d\n",ans);
if(T) printf("\n");
}
return 0;
}

uva 672 Gangsters相关推荐

  1. uva 672 - Gangsters(dp)

    题目链接:uva 672 - Gangsters 题目大意:给出n,K,T,表示一个酒店将要有n位客人到来,然后给出每个客人的ti,表示在ti时刻第i位客人来到酒店,ti ≤ T:再给出pi,表示第i ...

  2. uva 672 Gangsters( dp )

    本文出自   http://blog.csdn.net/shuangde800 题目: 点击打开链接 题目大意: 有个酒店的门会改变尺寸,变化范围是[0,k],这个门每秒钟尺寸可以变大1,可以减小1, ...

  3. [搜索]UVa 129 困难的串

    题意:将一个包含两个相邻的重复子串的子串,称为"容易的串",其他为"困难的串". 输入正整数n和l,输出由前l个字符组成的,字典序第n小的困难的串. 输入样例: ...

  4. uva 401.Palindromes

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  5. Uva 3767 Dynamic len(set(a[L:R])) 树套树

    Dynamic len(set(a[L:R])) Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 https://uva.onlinejudge.org/in ...

  6. UVA 11752 超级幂

    UVA 11752 超级幂 Z - The Super Powers Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & ...

  7. UVa 11174 - Stand in a Line

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  8. UVa 10112 - Myacm Triangles

    UVa第一卷最后一题. 求内部不含点并且面积最大的三角形. 暴力. 代码如下: 1 #include<iostream> 2 #include<cstdio> 3 #inclu ...

  9. UVa 10180 - Rope Crisis in Ropeland!

    题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=41&pa ...

最新文章

  1. 为 PHP 应用提速、提速、再提速
  2. LeetCode实战:相同的树
  3. 【SRIO】4、Xilinx RapidIO核详解
  4. Redis事件管理(三)
  5. Go 空结构体的 3 种使用场景
  6. SpringBoot Jar包外部application文件
  7. React环境配置(第一个React项目)
  8. Vue webapp项目通过HBulider打包原生APP
  9. 模仿莫烦的PyCharm主题
  10. Teechart图表教程:Teechart的组成
  11. 134安装教程_最新市政造价教程
  12. Linux reboot全过程
  13. STM8S003 AWU休眠唤醒 寄存器和库函数2种做法
  14. qt中glMultiTexCoord2fARB报错
  15. laravel 简单聊聊singleton的实现过程
  16. python ccf题解 201412-3 集合竞价
  17. 模棱两可的生物学概念问题辨析1
  18. 天文学论文绘图注意事项
  19. 网络:TCP的滑动窗口与流量控制和拥塞控制
  20. 闲来没事学Dart(七)函数

热门文章

  1. 那些年UNIX教我们的事
  2. 10个常用的数据分析商业模型之价值链分析模型(三)
  3. 徐无忌MySQL笔记:索引的使用规则
  4. 关于召开“CIE2019第三届中国IT教育论坛”的通知
  5. mysql用户的创建、修改、删除与密码修改
  6. 《Domain Agnostic Learning with Disentangled Representations》代码
  7. 【笔记】29元microbit套装如何玩——套装硬件简介
  8. BLAST背后的知识(一点原理)
  9. 【雅思阅读】王希伟阅读P4(matching1)
  10. iTunes备份文件路径正确修改方法(亲测可用,2018.10.19更新)