题意:有N个地址,从中选一些开餐馆,要保证相邻餐馆的距离大于k。问最大利润。

解法:f[i]表示在前 i 个地址中选的最大利润。

 1 #include<cstdio>
2 #include<cstdlib>
3 #include<cstring>
4 #include<iostream>
5 using namespace std;
6
7 const int Maxn=110,Maxm=1000010;
8 int m[Maxn],p[Maxn];
9 int f[Maxn];
10
11 int mmax(int x,int y)
12 { return x>y?x:y; }
13 int main()
14 {
15 int T,n,w;
16 scanf("%d",&T);
17 while (T--)
18 {
19 scanf("%d%d",&n,&w);
20 for (int i=1;i<=n;i++) scanf("%d",&m[i]);
21 m[0]=-Maxm;
22 for (int i=1;i<=n;i++) scanf("%d",&p[i]);
23 f[0]=0;
24 for (int i=1;i<=n;i++)
25 {
26 f[i]=mmax(f[i-1],p[i]);//不选第i个和只选第i个
27 for (int j=1;j<i;j++)
28 {
29 if (m[i]-m[j]>w) f[i]=mmax(f[i],f[j]+p[i]);//上个选的为第j个
30 else break;//小心判断
31 }
32 }
33 printf("%d\n",f[n]);
34 }
35 return 0;
36 }

【noi 2.6_6045】开餐馆(DP)的更多相关文章

  1. noi 6045 开餐馆

    题目链接:http://noi.openjudge.cn/ch0206/6045/ 解题报告:参考了konjac 蒟蒻的. 题意: 有N个地址,从中选一些开餐馆,要保证相邻餐馆的距离大于k.问最大利润 ...

  2. 河南多校大一训练赛 E 开餐馆

    题目链接:http://acm.hust.edu.cn/vjudge/contest/125004#problem/E 密码:acm Description 北大信息学院的同学小明毕业之后打算创业开餐 ...

  3. POJ 4118 开餐馆

    Description 北大信息学院的同学小明毕业之后打算创业开餐馆.现在共有n 个地点可供选择.小明打算从中选择合适的位置开设一些餐馆.这 n 个地点排列在同一条直线上.我们用一个整数序列m1, m ...

  4. 7.11 NOI模拟赛 graph 生成函数 dp 多项式

    LINK:graph HDU题库里的原题 没做过自闭. 考虑dp 设\(f_{i,j}\)表示前i个点构成j个联通块是树的方案数. 对于一次询问答案即为\(\sum_{j}f_{n,j}j^k\) 考 ...

  5. Android开发之dp转像素,像素转换为dp工具类,详细代码,带有源文件下载地址。

    import android.content.Context; /** * @author 官网:http://blog.csdn.net/qq_21376985 * * David编写: 微博:ht ...

  6. NOI 动态规划题集

    noi 1996 登山 noi 8780 拦截导弹 noi 4977 怪盗基德的滑翔翼 noi 6045 开餐馆 noi 2718 移动路线 noi 2728 摘花生 noi 2985 数字组合 no ...

  7. 『战略游戏 最大利润 树形DP』

    通过两道简单的例题,我们来重新认识树形DP. 战略游戏(luoguP1026) Description Bob喜欢玩电脑游戏,特别是战略游戏.但是他经常无法找到快速玩过游戏的办法.现在他有个问题.他要 ...

  8. HDU 2836 (离散化DP+区间优化)

    Reference:http://www.cnblogs.com/wuyiqi/archive/2012/03/28/2420916.html 题目链接: http://acm.hdu.edu.cn/ ...

  9. poj1159 dp(滚动数组优化)

    H - 简单dp 例题扩展 Crawling in process... Crawling failed Time Limit:3000MS     Memory Limit:65536KB     ...

随机推荐

  1. CentOS 6安装Gitlab

    1. 保证CentOS 6能连接网络 . 2.安装依赖: sudo yum install -y curl policycoreutils-python openssh-server cronie s ...

  2. Laya Ts 简易对象池

    ts版本的简易对象池 ,目前主要支持3D的物体,也可以将其改成其他类型 要使用首先调用InitPool 方法 `/* 使用说明: 使用必须先调用 InitPool 方法将对象池初始化 然后 Deque ...

  3. appium识别工具介绍

  4. jQuery库 之 jquery slimscroll插件使用

    1.引入jQuery插件 <script type="text/javascript" src="jquery.min.js"></scrip ...

  5. python7、8章

    目录 第七章 用户输入和while循环 7.1 函数input()的工作原理 7.1.1 编写清晰的程序 7.1.2 使用int()来获取数值输入 分析: 结果: 7.1.3 求模运算符 7.1.4 ...

  6. Java流程控制与Scanner类的使用

    Java流程控制与Scanner类的使用 Scanner类 Scanner类可以使程序接受键盘输入,实现人机交互 一个完整的Scanner的使用例子: //创建一个扫描器对象,用于接收键盘数据 Sca ...

  7. JVM(五)手动解析.class文件

    一:不同进制之间的转换 二进制:逢2进1,数字0-1. 八进制:逢8进1,数字0-7.三位二进制表示一位八进制.三位二进制最大为111,最大为7. 十进制:逢10进1,数字0-9.四位二进制表示一位十 ...

  8. pytest:conftest.py文件

    一.fixture scope 为session 级别是可以跨 .py模块调用的,也就是当我们有多个 .py文件的用例时,如果多个用例只需调用一次fixture,可以将scope='session', ...

  9. Centos 安装postgreSQL9.4.3

    rpm -ivh http://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7.2-x86_64/pgdg-centos94-9.4-3 ...

  10. Linux性能监测(系统监测统计命令详解)

    通过这个命令,可以最简便的看出系统当前基本状态信息,这里面最有用是负载指标,如果你还想查看当前系统的CPU/内存以及相关的进程状态,可以使用TOP命令. TOP 通过TOP命令可以详细看出当前系统的C ...