[Noip模拟赛] Power

POWER

源程序名 POWER.??? (PAS,C,CPP)

可执行文件名   POWER.EXE

输入文件名     POWER.IN

输出文件名     POWER.OUT

 

多瑞卡得到了一份有趣而高薪的工作。每天早晨他必须关掉他所在村庄的街灯。所有的街灯都被设置在一条直路的同一侧。

多瑞卡每晚到早晨5点钟都在晚会上,然后他开始关灯。开始时,他站在某一盏路灯的旁边。

每盏灯都有一个给定功率的电灯泡,因为多端卡有着自觉的节能意识,他希望在耗能总数最少的情况下将所有的灯关掉。

多端卡因为太累了,所以只能以1m/s的速度行走。关灯不需要花费额外的时间,因为当他通过时就能将灯关掉。

编写程序,计算在给定路灯设置,灯泡功率以及多端卡的起始位置的情况下关掉所有的灯需耗费的最小能量。

 

输入

输入文件的第一行包含一个整数N,2≤N≤1000,表示该村庄路灯的数量。

第二行包含一个整数V,1≤V≤N,表示多瑞卡开始关灯的路灯号码。

接下来的N行中,每行包含两个用空格隔开的整数D和W,用来描述每盏灯的参数,其中0≤D≤1000,0≤W≤1000。D表示该路灯与村庄开始处的距离(用米为单位来表示),W表示灯泡的功率,即在每秒种该灯泡所消耗的能量数。路灯是按顺序给定的。

 

输出

输出文件的第一行即唯一的一行应包含一个整数,即消耗能量之和的最小值。注意结果小超过1,000,000,000。

 

样例

POWER.IN

4

3

2 2

5 8

6 1

8 7

 

POWER.OUT

56

【题解】

有点难,需要好好想想

f[i,j]表示关闭[i,j]且停在i的min
g[i,j]表示关闭[i,j]且停在j的min
h[i,j]表示除了[i,j]其他功率

那么就可以转移了

f[i][j]=min(f[i+1][j]+h[i+1][j]*(d[i+1]-d[i]),g[i+1][j]+h[i+1][j]*(d[j]-d[i]));
g[i][j]=min(f[i][j-1]+h[i][j-1]*(d[j]-d[i]),g[i][j-1]+h[i][j-1]*(d[j]-d[j-1]));

 

 1 #include <stdio.h>
 2 #include <string.h>
 3 using namespace std;
 4 long long f[1010][1010],g[1010][1010],h[1010][1010],d[1010],w[1010],p[1010];
 5 // f i,j表示关闭[i,j]且停在i的min
 6 // g i,j表示关闭[i,j]且停在j的min
 7 // h i,j表示除了[i,j]其他功率 
 8 int n,st; 
 9 inline void IO() {
10     freopen("power.in","r",stdin);
11     freopen("power.out","w",stdout);
12 }
13 inline int min(int a,int b) {return a<b?a:b;}
14 inline void RS() {
15     scanf("%d%d",&n,&st);
16     for (int i=1;i<=n;++i) {
17         scanf("%d%d",&d[i],&w[i]);
18         p[i]=p[i-1]+w[i];    
19     }
20     for (int i=1;i<=n;++i)
21         for (int j=i;j<=n;++j) 
22              h[i][j]=p[n]+p[i-1]-p[j];
23     for (int i=1;i<=n;++i) for (int j=1;j<=n;++j) {
24         f[i][j]=g[i][j]=2333333333333;
25     }
26     f[st][st]=g[st][st]=0;
27     for (int j=st;j<=n;++j)
28         for (int i=j-1;i>=1;--i) {
29             f[i][j]=min(f[i+1][j]+h[i+1][j]*(d[i+1]-d[i]),g[i+1][j]+h[i+1][j]*(d[j]-d[i]));
30             g[i][j]=min(f[i][j-1]+h[i][j-1]*(d[j]-d[i]),g[i][j-1]+h[i][j-1]*(d[j]-d[j-1]));
31         }            
32     printf("%lld\n",min(f[1][n],g[1][n]));
33 }
34 int main() {
35     IO(),
36     RS();
37     return 0;
38 }
View Code

 

转载于:https://www.cnblogs.com/TonyNeal/p/noip_power.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358606.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux逆向工程反汇编,Kali Linux 逆向工程工具 Jad 教程

日期&#xff1a;2017年12月21日观看&#xff1a; 1,895 C 次用法&#xff1a;jad [option(s)] jad [选项(s)] 选项&#xff1a;-a - 生成JVM指令作为注释(注释)-af - 注释时输出完全限定的名称-b - 生成冗余大括号(大括号)-clear - 清除所有的前缀&#xff0c;包括默认的前缀-…

任意文件读取及删除漏洞

任意文件读取漏洞及危害 通过提交专门设计的输入&#xff0c;攻击者就可以在被访问的文件系统中读取或写入任意内容&#xff0c;往往能够使攻击者从服务器上获取敏感信息文件&#xff0c;正常读取的文件没有经过校验或者不严格&#xff0c;用户可以控制这个变量读取任意文件。…

微信小程序微信支付安卓手机可以,苹果手机支付失败。

问题截图: 解决办法有3种可能性,请按照对应的情况排查: 1.wx.request 无法发起网络请求,提示没有权限,域名已经配置过了,证书检测也是正确没问题的? 测试ios和安卓,假如有一方可以,一方不行,则是证书问题,请选用受认可的证书 检测地址:https://www.qcloud.co…

从JS敏感信息泄露到GETSHELL

前言 小弟新手&#xff0c;大佬勿喷&#xff0c;文章有何不妥&#xff0c;还望大佬们斧正。 正文 前端时间打HW&#xff0c;拿到一个IP&#xff0c;先在FOFA上搜一下 发现这个IP现在开放了三个端口&#xff0c;分别是86&#xff0c;83&#xff0c;82对应不同的后台管理系统 …

中专计算机专业学c语言吗,中专计算机专业学什么 有哪些课程

计算机原理、计算机应用基础、计算机网络基础、CAD辅助设计、三维动画设计、VBSIC语言及程序设计PHOTOSHOP、Windows、网页设计、Office办公自动化、多媒体、计算机系统安装及维护管理、计算机病毒原理防范等。计算机专业就业前景计算机专业就业前景很好。随着现代经济和科技的…

实战|全程分析js到getshell

本篇转载于https://forum.butian.net/share/260 看到望海师傅的山理证书真滴好看&#xff0c;真想搞一本&#xff0c;刚刚入edusrc的时候收集了一波山理的子域资产&#xff0c;全部看了一遍都被大佬挖的干干净净了。没有内网VPN基本上挖不到&#xff0c;然后我就去公众号看了一…

多家防火墙设备存在信息泄露漏洞

概述 漏洞名称多家防火墙设备存在信息泄露漏洞安全通告发布日期2021-06-16受影响产品及版本胜鑫塔下一代防火墙XT6000-A-FW-1.0.0-0-2778 利谱第二代防火墙6164-1.5.2 任子行下一代防火墙SURF-NGSA-V-3000 中科网威下一代防火墙F6600L-1.5.2 任子行网络安全审计系统内置报表 网…

教你玩转CSS 轮廓(outline)属性

目录 CSS 轮廓&#xff08;outline&#xff09; 所有CSS 轮廓&#xff08;outline&#xff09;属性 CSS 轮廓&#xff08;outline&#xff09; 轮廓&#xff08;outline&#xff09;是绘制于元素周围的一条线&#xff0c;位于边框边缘的外围&#xff0c;可起到突出元素的作用…

Web安全-伪静态网页

初步认识 “伪静态”顾名思义就是一种表面上看似是静态网页&#xff08;以.html、.htm等结尾&#xff09;&#xff0c;不存在任何的数据交互&#xff0c;却其实是动态网页&#xff0c;存在数据交互的网站&#xff0c;具有这种特性的网页被称为“伪静态网页”。我们看到的伪静态…

php双引号解析漏洞

1|0前言 在PHP语言中&#xff0c;单引号和双引号都可以表示一个字符串&#xff0c;但是对于双引号来说&#xff0c;可能会对引号内的内容进行二次解释&#xff0c;这就可能会出现安全问题。 条件&#xff1a;php版本>5.5 2|0正文 举个简单例子 <?php $a 1; $b 2; ec…

c语言用整数 寻址,132-寻址运算符-C语言教程2020年 - 视频教程 - 北盟网校 - 专注原创教学第一站...

寻址运算符&输出其操作数的内存地址。前面使用了寻址运算符&&#xff0c;它广泛用在scanf()函数。&放在变量前面&#xff0c;scanf需要用到这个变量的地址。scanf内部可以利用这个地址 去修改对应的哪个变量的值。看看下面的例子#includeint main(void){/* 定义一些…

教你玩转CSS padding(填充)

padding(填充) 当元素的 padding(填充)内边距被清除时,所释放的区域将会受到元素背景颜色的填充。 单独使用 padding 属性可以改变上下左右的填充。 可能的值 填充- 单边内边距属性 在CSS中,它可以指定不同的侧面不同的填充: padding-top:25px; padding-bottom:25px…

代码审计之SQL注入:BlueCMSv1.6 sp1

这是一篇纪录关于BlueCMSv1.6 sp1两个SQL注入的审计过程&#xff0c;原文来自代码审计之SQL注入&#xff1a;BlueCMSv1.6 sp1 &#xff0c;主要纪录一下个人在参考博文复现这两个漏洞经过。 href"https://www.ichunqiu.com/course/406" target"_blank">…

记一次无意间发现某学校图书检索系统的变量覆盖漏洞

这是汇文OPAC很早就存在的一个严重漏洞 补充漏洞信息参考来源https://www.seebug.org/vuldb/ssvid-90722 1. 利用存在该漏洞参数的链接&#xff0c;访问存在漏洞文件&#xff0c;并覆盖 session 值 http://*******/opac/openlink_ebk.php?_SESSION[ADMIN_USER]opac_admin 2.…

教你玩转CSS 尺寸 (Dimension)

目录 所有CSS 尺寸 (Dimension)属性 CSS 尺寸 (Dimension) 属性允许你控制元素的高度和宽度。同样&#xff0c;它允许你增加行间距。 所有CSS 尺寸 (Dimension)属性

目录扫描工具dirsearch用法

目录扫描工具-dirsearch 1.下载dirsearch#git clone https://github.com/maurosoria/dirsearch2. 进入dirsearch目录&#xff0c;进行扫描 每一列的含义分别是&#xff1a;扫描时间&#xff0c;状态码&#xff0c;大小&#xff0c;扫描的目录&#xff0c;重定向的地址 参数列…

html dd自动换行,为什么我的dd里面的内容没有自动换行呢

2-6图文混排*{margin: 0;padding: 0;}.clear{clear: both;}.content{width: 1000px;margin: 0 auto;}.word{font-family: "微软雅黑";font-weight: bolder;font-size: 20px;padding-top: 10px;padding-bottom: 10px;text-align: center;}.content .pic-word dl{width…

Java 9抢先体验:与JShell的动手实践– Java REPL

从今天开始如何开始使用Java 9最酷的功能之一&#xff1f; 上周末&#xff0c;我终于开始尝试使用Java 9的早期访问版本了。第一站是JShell&#xff0c;它也被称为Project Kulla。 首先让我鼓起勇气尝试早期访问Java版本的原因。 那就对了。 Java 9的正式发布日期当前设置为2…

JWT攻击手册

JSON Web Token&#xff08;JWT&#xff09;对于渗透测试人员而言可能是一种非常吸引人的攻击途径&#xff0c;因为它们不仅是让你获得无限访问权限的关键&#xff0c;而且还被视为隐藏了通往以下特权的途径&#xff1a;特权升级&#xff0c;信息泄露&#xff0c;SQLi&#xff…

DIV+CSS 入门

玩一小会儿前csdn什么时候&#xff0c;页面上的加qq而微博&#xff0c;我认为这是美好的。牛腩完成。运营商也开始了他真正的学习B/S之旅。刚開始的时候&#xff0c;我不知道<div>是什么 也不清楚CSS用来干什么的&#xff0c;敲完了回过头来再看&#xff0c;好像明确了一…