USACO 2012 December ZQUOJ 24128 Wifi Setup(动态dp)
题意:给出在同一条直线上的n个点和两个数A,B,现在要在这条直线上放置若干个信号塔,每个信号塔有一个r值,假设它的位置是x,则它能覆盖的范围是x-r~x+r,放置一个信号塔的花费是A+B*r,问要覆盖所有的点最小的花费是多少。
分析:看了飞鸿哥的报告才明白的,DP神马的弱爆了=_=
dp[i]表示从点1到i最多放置i个信号塔的最小花费。先预处理[1,i]区间放置一个信号塔的花费,然后枚举最多放置2~n个信号塔求最小花费,最后dp[n]就是答案了。
状态转移方程:dp[i]=min(dp[i],dp[j]+a+(num[i]-num[j+1])*b/2.0)
这题的输出有点麻烦,有整数也有浮点数,所以要判断一下在输出。
AC代码:
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
double dp[];
int num[];
double min(double a,double b)
{
return a<b?a:b;
}
int main()
{
int n,a,b,i,j;
scanf("%d%d%d",&n,&a,&b);
for(i=;i<=n;i++)
scanf("%d",&num[i]);
sort(num+,num++n);
for(i=;i<=n;i++)
dp[i]=a+(num[i]-num[])/2.0*b;
for(i=;i<=n;i++)
for(j=;j<i;j++)
dp[i]=min(dp[i],a+(num[i]-num[j+])/2.0*b+dp[j]);
int ans=dp[n];
if(dp[n]>ans)
printf("%d.5\n",ans);
else
printf("%d\n",ans);
return ;
}
USACO 2012 December ZQUOJ 24128 Wifi Setup(动态dp)的更多相关文章
- USACO 2012 December ZQUOJ 24122 Scrambled Letters(二分)
题意:有一个字典序名单,现在把这些名单的顺序和名字的字符顺序扰乱了,要输出原先的名字在原来的名单中的最低和最高位置. 分析:先将所有的名字串按字典序从小到大和从大到小分别排序smin[]和smax[] ...
- USACO翻译:USACO 2012 FEB Silver三题
USACO 2012 FEB SILVER 一.题目概览 中文题目名称 矩形草地 奶牛IDs 搬家 英文题目名称 planting cowids relocate 可执行文件名 planting co ...
- USACO翻译:USACO 2012 JAN三题(2)
USACO 2012 JAN(题目二) 一.题目概览 中文题目名称 叠干草 分干草 奶牛联盟 英文题目名称 stacking baleshare cowrun 可执行文件名 stacking bale ...
- USACO翻译:USACO 2012 JAN三题(1)
USACO 2012 JAN(题目一) 一.题目概览 中文题目名称 礼物 配送路线 游戏组合技 英文题目名称 gifts delivery combos 可执行文件名 gifts delivery c ...
- 【USACO 2012 Open】Running Laps(树状数组)
53 奶牛赛跑 约翰有 N 头奶牛,他为这些奶牛准备了一个周长为 C 的环形跑牛场.所有奶牛从起点同时起跑,奶牛在比赛中总是以匀速前进的,第 i 头牛的速度为 Vi.只要有一头奶牛跑完 L 圈之后,比 ...
- NC24325 [USACO 2012 Mar S]Flowerpot
NC24325 [USACO 2012 Mar S]Flowerpot 题目 题目描述 Farmer John has been having trouble making his plants gr ...
- 动态DP之全局平衡二叉树
目录 前置知识 全局平衡二叉树 大致介绍 建图过程 修改过程 询问过程 时间复杂度的证明 板题 前置知识 在学习如何使用全局平衡二叉树之前,你首先要知道如何使用树链剖分解决动态DP问题.这里仅做一个简 ...
- Luogu P4643 【模板】动态dp
题目链接 Luogu P4643 题解 猫锟在WC2018讲的黑科技--动态DP,就是一个画风正常的DP问题再加上一个动态修改操作,就像这道题一样.(这道题也是PPT中的例题) 动态DP的一个套路是把 ...
- 动态dp学习笔记
我们经常会遇到一些问题,是一些dp的模型,但是加上了什么待修改强制在线之类的,十分毒瘤,如果能有一个模式化的东西解决这类问题就会非常好. 给定一棵n个点的树,点带点权. 有m次操作,每次操作给定x,y ...
随机推荐
- 常见的CSS属性和值CascadingStyleSheets
字体文本背景位置边框列表其他 CSS中修饰字体的属性 属 性 描 述 属 性 值 font-family 字体族科 任意字体族科名称都可以使用例如Times.serif等,而且多个族科 ...
- CentOS7下安装NVIDIA独立显卡驱动出现X service error问题解决方法
问题症状: 最近在CentOS7下安装NVIDIA独立显卡驱动的过程中出现X service error问题,如下图所示: 解决方法: 0.到NVIDIA 官网上下载驱动文件(.run 格式) : N ...
- css盒子模型(box-sizing)
盒子模型 关于CSS重要的一个概念就是CSS盒子模型.它控制着页面这些元素的高度和宽度.盒子模型多少会让人产生一些困惑,尤其当涉及到高度和宽度计算的时候.真正盒子的宽度(在页面呈现出来的宽度)和高度, ...
- P1821 [USACO07FEB]银牛派对Silver Cow Party
题目描述 One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is going to attend the b ...
- CAN总线学习系列之三——CAN控制器的选择
CAN总线学习系列之三——CAN控制器的选择 在进行CAN总线开发前,首先要选择好CAN总线控制器.下面就比较一些控制器的特点. 一些主要的CAN总线器件产品 制造商 产品型号 器件功能及特点 Int ...
- CAN-bus接口控制实验
CAN-bus接口控制实验 2016-04-12 20:38:41来源: eefocus 关键字:CAN bus 接口控制 收藏 评论(0) 分享到 微博 QQ 微信 LinkedIn 一.实 ...
- 删除方法odoo
##判断删除情况,不允许删除def unlink(self,cr,uid,ids,context=None): raise osv.except_osv(u'警告!',u'单据不允许删除' ...
- IDEA插件——lombok的简单使用
一.介绍 lombok是一个可以通过注解来简化许多繁琐的get.set以及构造函数等的工具.它可以让我们在代码编写的时候省去代码,而在编译生成的字节码中生成相应的字节码! 官网:https://pro ...
- python with原理
在python2.5+中可以用with来保证关闭打开的文件 with open('hello.txt') as f: do some file operations 为什么要引入with呢? 在之前如 ...
- Android开发——进程间通信之Bundle和文件
0. 前言 不论是Android还是其他操作系统,都会有自己的IPC机制,所谓IPC(Inter-Process Communication)即进程间通信.首先线程和进程是很不同的概念,线程是CPU ...