Post Office poj-1160

    题目大意:给你在数轴上的n个村庄,建立m个邮局,使得每一个村庄距离它最近的邮局的距离和最小,求距离最小和。

    注释:n<=300,m<=min(n,30)

      想法:一道DP题,超级有趣。变强中的我查了题解。是这样的:我们定义两个数组,分别是dp和sum。

        dp[i][j]表示从第一个村庄到第i个村庄建立j个邮局的最小和。

        sum[i][j]表示从第i个村庄到第j个村庄建立一个邮局的最小代价。

      然后,我们发现sum数组是可以预处理出来的。对于sum[i][j]来说,建立的邮局一定是i和j中间的那一个地方。可能是一个村庄,也可能是两个村庄之间。如果是两个村庄之间,显然对于sum[i][j]来说是没有影响的,但是对于sum[i][j+1]来说越靠近j+1越小,这是一定的,所以,我们可以非常简单的总结出sum[i][j]=sum[i][j-1]+pos[i]-pos[(i+j)/2]。这样,我们预处理出了sum数组,最重要的,我们期望处理dp数组。有了sum数组,我们对于dp[i][j]来讲可以枚举断点k,使得k+1到j只建立一个邮局,这样,我们就处理出了dp数组。

    最后,附上丑陋的代码... ...

 #include <iostream>
#include <cstdio>
#define N 310
using namespace std;
int sum[N][N],dp[N][N],pos[N];
int main()
{
int n,m;
while(~scanf("%d%d",&n,&m))
{
memset(sum,,sizeof(sum));
for(int i=;i<=n;i++)
{
scanf("%d",&pos[i]);
}
for(int i=;i<=n;i++)
{
for(int j=i+;j<=n;j++)
{
sum[i][j]=sum[i][j-]+pos[j]-pos[(i+j)/];
}
}
memset(dp,0x3f,sizeof(dp));
for(int i=;i<=n;i++)
{
dp[i][]=sum[][i];
}
for(int j=;j<=m;j++)//如果j=1的话是sum的事情,和dp数组无关
{
for(int i=j+;i<=n;i++)//枚举dp的左端点
{
for(int k=j-;k<i;k++)//枚举断点 显然断点是有范围的
{
dp[i][j]=min(dp[i][j],dp[k][j-]+sum[k+][i]);
}
}
}
printf("%d\n",dp[n][m]);
}
return ;
}

    小结:类似于RMQ的思想,我们必须将小范围的枚举在外面,因为之后会用到。在这里,我倒是有一个想法,就是卡内存。因为我们发现,我所用到的dp数组只有刚刚更新过的和正在更新的,所以,我们可以将dp数组的内存除以(n/2),这显然是极好的... ...

Post Office的更多相关文章

  1. .NET Core 首例 Office 开源跨平台组件(NPOI Core)

    前言 最近项目中,需要使用到 Excel 导出,找了一圈发现没有适用于 .NET Core的,不依赖Office和操作系统限制的 Office 组件,于是萌生了把 NPOI 适配并移植到 .NET C ...

  2. [.NET] 打造一个很简单的文档转换器 - 使用组件 Spire.Office

    打造一个很简单的文档转换器 - 使用组件 Spire.Office [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6024827.html 序 之前,& ...

  3. 高效而稳定的企业级.NET Office 组件Spire(.NET组件介绍之二)

    在项目开发中,尤其是企业的业务系统中,对文档的操作是非常多的,有时几乎给人一种错觉的是”这个系统似乎就是专门操作文档的“.毕竟现在的很多办公中大都是在PC端操作文档等软件,在这些庞大而繁重的业务中,单 ...

  4. 在禅道中实现WORD等OFFICE文档转换为PDF进行在线浏览

    条件: 安装好禅道的服务器 能直接浏览PDF的浏览器(或通过 安装插件实现 ) 文档转换服务程序(建议部署在另一台服务器上)     实现 原理: 修改禅道的文件预览功能(OFFICE文档其使用的是下 ...

  5. RMS:Microsoft Office检测到您的信息权限管理配置有问题。有关详细信息,请与管理员联系。(转)

    原文:https://zhidao.baidu.com/question/435088233.html RMS有两种方式: 1.使用微软的服务器,这个是连接到微软的服务器上面做权限控制,在今年5月份之 ...

  6. C#将Word转换成PDF方法总结(基于Office和WPS两种方案)

    有时候,我们需要在线上预览word文档,当然我们可以用NPOI抽出Word中的文字和表格,然后显示到网页上面,但是这样会丢失掉Word中原有的格式和图片.一个比较好的办法就是将word转换成pdf,然 ...

  7. 针对每种Windows Server 操作Excel、Word等Office组件遇到“ComException"、”80070005“等COM错误的解决方案大汇总

    以下所有Excel错误的解决方案,同样适用于Word.PowerPoint等Office产品. 以下解决方案中,如果出现"安装Excel组件",是适用于遇到Excel错误的.如果是 ...

  8. 解决NTKO Office中文文件名保存到服务器时出现乱码的问题

    再使用NTKO office控件时,在ntko往服务器提交文件时,中文文件名会出现乱码的问题! 其实解决这个问题可以换一种思路,在ntko往服务器提交文件时英文肯定是不会出现乱码的问题的! 那么想办法 ...

  9. office 2010 word每次启动都需要配置

    解决方式: 进入cmd,运行以下命令即可,如果提示已存在,选择Y覆盖就行了 reg add HKCU\Software\Microsoft\Office\14.0\Word\Options /v No ...

  10. 非域客户端的office使用RMS加密服务出现‘介绍“信息权限管理服务”’服务的提示

    环境:office2007,需要使用windows RMS服务,客户机处于工作组模式,如图: 出现这个说明客户机没有发现RMS服务,可以通过导入注册表解决,如下: Windows Registry E ...

随机推荐

  1. SQL语句查询时防止SQL语句注入的方法之一

    1.传参时有可能出现SQL语句注入 StringBuffer sb = new StringBuffer(); if(StringUtils.isNotBlank(areaCode)) { sb.ap ...

  2. 新工具︱微软Microsoft Visual Studio的R语言模块下载试用Ing...(尝鲜)

    笔者:前几天看到了以下的图片,着实一惊.作为R语言入门小菜鸟,还是觉得很好看,于是花了一点时间下载下来试用了一下,觉得还是挺高大上的. 就是英文不好是硬伤.下面贴给小白,我当时的下载步骤与遇见的问题. ...

  3. CentOS中配置SoftWareRaid磁盘冗余阵列

    (以vmware workstation为例) 1.关机添加一块硬盘 2.使用fdisk -l 可以看到 /dev/sdb硬盘设备 3.fdisk /dev/sdb配置磁盘分区,准备4个磁盘分区,用于 ...

  4. 你还在为如何区分ASCII编码、GB2312编码、Unicod、UTF-8编码而烦恼吗,一篇文章让你柳暗花明

    字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特 ...

  5. 简单bfs(hdu2612)

    #include<stdio.h>#include<string.h>#include<queue>#define INF 0x3f3f3f3fusing name ...

  6. 深究ASP.NET Session

    Session 本质 & 访问方法 Session 本质 是 HttpSessionState 类 link Session 访问方法 HttpContext.Session Page.Ses ...

  7. RobotFramework自动化测试框架-移动手机自动化测试Get Network Connection Status和Set Network Connection Status关键字的使用

    Get Network Connection Status关键字用来获取手机的网络连接状态.在获取到连接状态后,会返回不同的数字. Set Network Connection Status关键字用来 ...

  8. 【Luogu2444】病毒(AC自动机)

    [Luogu2444]病毒(AC自动机) 题面 洛谷 题解 如果存在一个无限长的串 证明可以在\(AC\)自动机上找到一个环 然后在上面可以无限跳 所以构建\(AC\)自动机 在上面跑\(dfs\)就 ...

  9. [BZOJ1006] [HNOI2008] 神奇的国度 (弦图)

    Description K国是一个热衷三角形的国度,连人的交往也只喜欢三角原则.他们认为三角关系:即AB相互认识,BC相互认识,CA相互认识,是简洁高效的.为了巩固三角关系,K国禁止四边关系,五边关系 ...

  10. [BZOJ1306] [CQOI2009] match循环赛 (搜索)

    Description Input 第一行包含一个正整数n,队伍的个数.第二行包含n个非负整数,即每支队伍的得分. Output 输出仅一行,即可能的分数表数目.保证至少存在一个可能的分数表. Sam ...