洛谷P1220关路灯——区间DP
题目:https://www.luogu.org/problemnew/show/P1220
区间DP。
代码如下:
#include<iostream>
#include<cstdio>
using namespace std;
int n,c,pos[55],w[55],sum,s[55][55],dp[55][55][3],INF=10000006;
int main()
{
scanf("%d%d",&n,&c);
for(int i=1;i<=n;i++)
{
scanf("%d%d",&pos[i],&w[i]);
sum+=w[i];
if(i==c)
{
dp[i][i][0]=0;dp[i][i][1]=0;
}
else
{
dp[i][i][0]=INF;dp[i][i][1]=INF;
}
}
for(int i=1;i<=n;i++)
{
int tot=0;
for(int j=i;j<=n;j++)
{
tot+=w[j];
s[i][j]=tot;
}
}
for(int l=2;l<=n;l++)
for(int i=1;i<=n-l+1;i++)
{
int j=i+l-1;
dp[i][j][0]=min(dp[i+1][j][0]+(sum-s[i+1][j])*(pos[i+1]-pos[i]),
dp[i+1][j][1]+(sum-s[i+1][j])*(pos[j]-pos[i]));
dp[i][j][1]=min(dp[i][j-1][0]+(sum-s[i][j-1])*(pos[j]-pos[i]),
dp[i][j-1][1]+(sum-s[i][j-1])*(pos[j]-pos[j-1]));
}
printf("%d",min(dp[1][n][0],dp[1][n][1]));
return 0;
}
洛谷P1220关路灯——区间DP的更多相关文章
- 洛谷 P1220 关路灯 区间DP
题目描述 某一村庄在一条路线上安装了 n 盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关掉这些路灯. 为了 ...
- 洛谷P1220关路灯[区间DP]
题目描述 某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关掉这些路灯. 为了给村 ...
- 洛谷P1220关路灯[区间DP 提前计算代价]
题目描述 某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关掉这些路灯. 为了给村 ...
- 洛谷 P1220 关路灯 题解
Description 有 $n$ 盏路灯,每盏路灯有坐标(单位 $m$)和功率(单位 $J$).从第 $c$ 盏路灯开始,可以向左或向右关闭路灯.速度是 $1m/s$.求所有路灯的最少耗电.输入保证 ...
- 洛谷P1220 关路灯
洛谷1220 关路灯 题目描述 某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关 ...
- P1220 关路灯——区间dp
P1220 关路灯 题目描述 某一村庄在一条路线上安装了 \(n\) 盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一 ...
- 洛谷——P1220 关路灯
P1220 关路灯 题目描述 某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关掉 ...
- 洛谷P1220 关路灯 题解 区间DP
题目链接:https://www.luogu.com.cn/problem/P1220 本题涉及算法:区间DP. 我们一开始要做一些初始化操作,令: \(p[i]\) 表示第i个路灯的位置: \(w[ ...
- 洛谷P1220 关路灯【区间dp】
题目:https://www.luogu.org/problemnew/show/P1220 题意:给定n盏灯的位置和功率,初始时站在第c盏处. 关灯不需要时间,走的速度是1单位/秒.问把所有的灯关掉 ...
随机推荐
- mybatis的拦截器及分页机制
https://blog.csdn.net/ssuperlg/article/details/79847889
- 开源项目WebImageView载入图片
项目地址:https://github.com/ZaBlanc/WebImageView 作者对载入图片,以及图片的内存缓存和磁盘缓存做了封装. 代码量不多.可是可以满足一般的载入图片. 先看下项目结 ...
- VIM中保存编辑的只读文件
如何在VIM中保存编辑的只读文件 你是否会和我一样经常碰到这样的情景:在VIM中编辑了一个系统配置文件,当需要保存时才发现当前的用户对该文件没有写入的权限.如果已 经做了很多修改,放弃保存的确很懊恼, ...
- MySQL数据库的常见操作(七)
MySQL数据库的常见操作 1.创建数据库 2.创建重名的数据库以及如何查看警告信息 3.设置数据库的编码方式(默认为utf8) 4.修改和查看数据库的编码方式 5.删除数据库 6.6.删除已经删除了 ...
- Oracle的循环和Corsor
这两天啊有一个心的业务,是须要假设我批量改动数据的话,那么还有一张表的数据也须要改动.也是多条的改动,发现这个问题的时候.自然而然的想到了触发器,可是曾经都是简单的单条语句的跟新,没有过整个表的去做一 ...
- ASP.NET动态网站制作(4)--css(3)
前言:这节课主要运用前面所学的知识写三个例子,并且学习浏览器兼容性的解决方法. 内容: 例子1:一个关于列表的例子 html代码: <!DOCTYPE html PUBLIC "-// ...
- Ioc容器Autofac系列
1.http://blog.csdn.net/xingxing513234072/article/details/9211969 2.asp.net mvc中整合autofachttp://blog. ...
- 【题解】 P5021赛道修建
[题解]P5021 赛道修建 二分加贪心,轻松拿省一(我没有QAQ) 题干有提示: 输出格式: 输出共一行,包含一个整数,表示长度最小的赛道长度的最大值. 注意到没,最小的最大值,还要多明显? 那么我 ...
- java.lang.UnsupportedClassVersionError: org/openqa/selenium/WebDriver : Unsupported major.minor version 51.0
周一上班,正常打开myeclipse,随便写了一个main方法执行.发现报错了... 问题提示如下: java.lang.UnsupportedClassVersionError: org/openq ...
- Chart.js 动态图表的使用
一.相关资料 1. 简介 Chart.js 是一个基于 HTML5 的简单的面向对象的图表库,支持包括 IE7/8 和所有现代浏览器.支持六种图标:曲线图(Linecharts).柱状图(Barcha ...