Description

一只带着先进设备和药物的医疗团队来到了埃博拉病毒疫区的某个非洲国家。这个国家有n个村庄,均坐落在该国唯一的一条公路旁,n个村庄依次标号为1,2,…n。第i个村庄有a_i个埃博拉感染者。
到来后的第一天早晨,医疗团队在第1个村庄。每天他们可以选择治疗所在村庄的村民,这样所有感染者都会痊愈;他们也可以选择前往相邻的一个村庄,路程需要1天。每天结束时,如果第i个村庄的a_i个感染者没有痊愈,那么他们会死去,同时会有另外a_i个人被感染。也就是说,如果第i个村庄没有被治疗,那么每天这个村庄会死去a_i个人。
医疗团队在经过村庄i时,可能选择不治疗这个村庄而前往下一个村庄i+1。但为了不让村民失去希望,如果医疗团队在村庄j决定往回走时,则他们要治疗村庄j之前所有没有被治疗的村庄,同时在返回的过程中,如果经过没有接受治疗的村庄,他们需要停下来进行治疗。
医疗团队最终会治愈所有村民。作为团队的领导人,你需要得出在合理规划行程下最少的死亡人数。
 
 

Input

第一行为一个正整数n,表示村庄的个数。接下来一行是n个正整数a_i(1<=a_i<=10^9),为每个村庄的感染人数

Output

输出一个整数,表示在治愈所有村民前最少的死亡人数。

Sample Input

6
40 200 1 300 2
10

Sample Output

1950

HINT

100%的数据,n<=3000

题解:
设g[i][j]表示从j开始走,走到i,然后回头到j,i到j之间的村子的最小死亡人数
显然g[i][i]=0
考虑j这个村子一开始是治疗还是被跳过
所以g[i][j]=g[i][j+1]+sum[j+1,i]+min((i-j)*3*a[j],sum[j+1,i])
然后设f[i]表示走到i,且前面的都治好了的情况下,总共的最小死亡人数
转移就是枚举j,考虑从j+1出发到i,然后回头到j+1,再回头到i
即f[i]=min{f[j]+g[i][j+1]+sum[i+1,n]*((i-j)*4-2)}
复杂度O(n2)
PS:这也是jsoi2016R2D2T1
code:
 #include<cstdio>
#include<iostream>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long int64;
char ch;
bool ok;
void read(int &x){
for (ok=,ch=getchar();!isdigit(ch);ch=getchar()) if (ch=='-') ok=;
for (x=;isdigit(ch);x=x*+ch-'',ch=getchar());
if (ok) x=-x;
}
void read(int64 &x){
for (ok=,ch=getchar();!isdigit(ch);ch=getchar()) if (ch=='-') ok=;
for (x=;isdigit(ch);x=x*+ch-'',ch=getchar());
if (ok) x=-x;
}
const int maxn=;
int n;
int64 a[maxn],sum[maxn],g[maxn][maxn],f[maxn];
inline int64 s(int l,int r){return sum[r]-sum[l-];}
int main(){
read(n);
for (int i=;i<=n;i++) read(a[i]);
for (int i=;i<=n;i++) sum[i]=sum[i-]+a[i];
for (int i=;i<=n;i++){
g[i][i]=;
for (int j=i-;j>=;j--) g[i][j]=g[i][j+]+s(j+,i)+min(3LL*(i-j)*a[j],s(j+,i));
}
memset(f,,sizeof(f));
f[]=;
for (int i=;i<=n;i++) for (int j=;j<i;j++) f[i]=min(f[i],f[j]+g[i][j+]+s(i+,n)*(4LL*(i-j)-));
printf("%lld\n",f[n]);
return ;
}

bzoj4038: 医疗援助的更多相关文章

  1. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

  2. 智软科技医疗器械GSP监管软件通过多省市药监局检查

    提供医疗器械GSP监管软件,通过多省市药监局检查,符合2016年最新GSP监管条例的要求. 企业客户列表 温岭市万悦医疗器械有限公司 杭州市上善医疗器械有限公司 武汉明德生物科技股份有限公司 http ...

  3. 系统建设 > 医疗集团CRM系统建设步骤与分析

    概述 医院客户关系管理系统(Customer Relationship Management,简称CRM)是一个完善的“以病人为中心”的管理系统,为集团/医院/总院分院/管理机构提供院前.院中.院后的 ...

  4. 数据中心第三方服务、金融IT外包服务、社保医疗信息化解决方案,这三类业务是什么关系,区别在哪?

    这个话题很大,牵扯很多,试着回答一下,算是胡扯了. 三类业务的关系,都是IT外包,至于外包的内容很杂.DC的外包,多半是基建和建维,一般不牵扯到软件开发,网站建设类的.金融IT外包就复杂多了,信息系统 ...

  5. 在GMIC听“移动互联网+医疗”的感受 2015-04-29

    “互联网+”这个词挺火的,基本格式是“互联网+传统行业”,比如医疗.教育.交通等等.就更别说电子商务.金融这些领域了,相比已经和互联网分不 开了.在我看来,互联网+的背后,是信息化.智能化.信息沟通的 ...

  6. 《100种过度医疗大公开》:转译自日文版,日文版依据的是美国的“Choosing Wisely”项目。三星推荐

    本书转译自日文,日文版则是在美国的“Choosing Wisely”项目中选择了100个相对常见的过度医疗项目做解说.Choosing Wisely项目,是由美国多个专业医学组织发起的列出过度医疗项目 ...

  7. 044医疗项目-模块四:采购单模块—采购单保存(Dao,Service,Action三层)

    我们上上一篇文章(042医疗项目-模块四:采购单模块-采购单明细添加查询,并且把数据添加到数据库中)做的工作是把数据插入到了数据库,我们这篇文章做的是042医疗项目-模块四:采购单模块-采购单明细添加 ...

  8. 005医疗项目-模块一:用户的查找:1.用户表查询的sql语句

    这是医疗项目的第一个模块:做一个用户的查询,可以根据用户的账号,用户的名称,单位的名称,用户的类型去查询.要求效果如下:

  9. K2 BPM医疗行业EMS解决方案

    EMS,即Event Management System,K2医疗行业EMS解决方案包括四方面的内容. 详情链接:http://www.k2software.cn/zh-hans/ems-soluti ...

随机推荐

  1. JSLink to render the list to show people detail info with picture

    I  create a custom list, and create a poeple column to store poeple detail info with picture in this ...

  2. INSTALL_FAILED_VERSION_DOWNGRADE报错

    error: INSTALL_FAILED_VERSION_DOWNGRADE 原因:模拟器或者实际的device中已经安装了同名的app,且本次的版本并不高 解决:在模拟器中卸载此同名应用,之后再运 ...

  3. java float、double精度研究(转)

    在java中运行一下代码System.out.println(2.00-1.10);输出的结果是:0.8999999999999999很奇怪,并不是我们想要的值0.9 再运行如下代码:System.o ...

  4. PHP正值表达式

    一个正值表达式是有四部分组成分别是 1.定界符 //是最常用的定界符 其实除了数组字母下划线以外其他的什么都可以作为定界符 2.原子:最小的一个匹配单位 放在定界符中  在一个正值表达式中至少要有一个 ...

  5. WPF Command命令模式

    //定义接口 public interface IView { bool IsChanged { get; set; } void SetBinding(); void Clear(); } //定义 ...

  6. Zookeeper简介与安装

    Zookeeper:A Distributed Coordination Service for Distributed Applications. 一.Zookeeper简介 众所周知,协同服务是分 ...

  7. 通过ApplicationContextAwareSpring实现手工加载配置的javabean

    在做一个多线程的数据采集器实现的过程中,由于框架是集成srping,因此希望统一使用原有的数据库配置信息,但是需要手工获取数据库配置bean.我们可以通过继承ApplicationContextAwa ...

  8. 用USB安装Linux系统(centos7)

    网上关于CentOS 7 的安装教程挺多的,但在前期的引导配置上很多都没有写清楚,让人很郁闷,以致于昨天安装的时候总是到不了安装界面.经过一番胡乱倒腾,终于找到了妥妥的解决方案(鸟哥的书功不可没啊^_ ...

  9. Canvas实现曲线运动

    前言 Html5添加的最受欢迎的功能就是<canvas>元素,它负责在页面中设定一个区域,然后在里面可以通过javascript动态地在其内绘制图形. 主流浏览器,IE9+,手机端都是支持 ...

  10. 学习笔记6_Java_day11_JSP_基础和入门(1、2)

    主要内容:1. JSP基础2. Cookie3. HttpSession ================================ JSP基础 1. jsp的作用: * Servlet: &g ...