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. android自定义View之仿通讯录侧边栏滑动,实现A-Z字母检索

    我们的手机通讯录一般都有这样的效果,如下图: OK,这种效果大家都见得多了,基本上所有的android手机通讯录都有这样的效果.那我们今天就来看看这个效果该怎么实现. 一.概述 1.页面功能分析 整体 ...

  2. jquery mobile跳转到指定id时怎样传递参数

    在jquery mobile 中,每一个页面都是一个page,当我们需要从一个页面跳转到另一个页面时,可以在href中指定id,可是该怎么把一个page中的参数传递到另外一个page中,几经琢磨,发现 ...

  3. Java实现折半(二分)插入排序

    /*折半插入查找思想:每趟将一个带排序的元素作为关键字插入到已经排好的部分序列的适当位置上,查找适当位置的方法用折半查找法 * 适合记录数较多的场景 * 在查找插入位置时节省了时间 * 在记录移动次数 ...

  4. magento 产品列表排序、分页功能

    我们以 catalog_category_layered 控制器为例说明 在catalog.xml 找到catalog_category_layered配置段 <catalog_category ...

  5. HTML5 PC、Mobile调用摄像头(navigator.getUserMedia)

    废话少说,先贴上代码 html: <div id="main" class="masthead"> <div id="face_sc ...

  6. tableview刷新某个区域(section)或者某一行(row)

    //一个section刷新 NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:2]; [tableview reloadSections:in ...

  7. javascript BOM对象 第15节

    <html> <head> <title>浏览器对象</title> <script type="text/javascript&quo ...

  8. 在jsp中选中checkbox后 将该记录的多个数据获取,然后传到Action类中进行后台处理 双主键情况下 *.hbm.xml中的写法

    在jsp中选中checkbox后 将该记录的多个数据获取,然后传到Action类中进行后台处理 双主键情况下 *.hbm.xml中的写法   ==========方法1: --------1. 选相应 ...

  9. jQuery如何阻止子元素继承父元素事件?

    <a> <b></b> </a> $("a").click(...); 这种绑定的话,b也会响应一次事件,如何只对a元素绑定事件,而 ...

  10. Solr集群的搭建以及使用(内涵zookeeper集群的搭建指南)

    1   什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候 ...