poj 1160 Post Office(DP)

POJ 1160 Post Office(经典DP) 题目链接:点击打开链接 题意:一条高速公路,有N个村庄,每个村庄均有一个唯一的坐标,选择P个村庄建邮局,问怎么选择,才能使每个村庄到其最近邮局的距离和最小?最后打印这个最小值。 思路:典型的DP问题。 当我们在v个村庄中只建一个邮局,可以推导出,只有邮局位于中间位置,距离和才最小;有一个特殊情况是,当村庄数为偶数,中间位置有两个村庄,经过计算,两个村庄的距离和相等,所以俩位置均可。 可以联 阅读详情

首先要知道一个定理就是在一个区间内如果要设置一个邮局的话,最优位置一定是最中间的村子,而且如果村子数是偶数的话,中间的两个点是等价的。

知道了这个之后,就可以N^2处理出来任一一个区间中只设置一个邮局的最小距离和。cost[i][j]表示区间村子i到村子j。


dp[i][j]表示前i个村庄中设置j个邮局之后的最小距离和。

那么转移就是dp[i][j]=min(dp[i-1][k]+cost[k+1][j]) (枚举k且k<j)


代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;
int V,P;
int Abs(int n){
	return n>0?n:(-n);
}
int dp[40][305];
int p[305];
int cost[305][305];
int Get(int i,int j){
    int mid=(i+j)/2;
    int sum=0;

    for(int k=i;k<=j;k++){
		sum+=Abs(p[k]-p[mid]);
    }
    return sum;
}
int main(){

	while(~scanf("%d%d",&V,&P)){
		memset(dp,0x3f,sizeof(dp));
		for(int i=1;i<=V;i++){
			scanf("%d",&p[i]);
		}
		for(int i=1;i<=V;i++){
			for(int j=i;j<=V;j++){
				cost[i][j]=Get(i,j);
				//cout<<cost[i][j]<<endl;
			}
		}
		for(int i=1;i<=V;i++){
			dp[1][i]=cost[1][i];
		}
		for(int i=2;i<=P;i++){
			for(int j=i;j<=V;j++){
				for(int k=1;k<j;k++){
					dp[i][j]=min(dp[i][j],dp[i-1][k]+cost[k+1][j]);
				}
			}
		}
		cout<<dp[P][V]<<endl;
		
	}
	return 0;
}


POJ 1160:Post Office 邮局经典DP Post Office Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 17168   Accepted: 9270 Description There is a straight highway with villages alongside the high 阅读详情

相关推荐

poj1160DP(POST OFFICE 邮局问题)

题目链接: /*poj1160 题意:用数轴描述一条高速公路,有V个村庄,每一个村庄坐落在数轴的某个点上, 需要选择P个村庄在其中建立邮局,要求每个村庄到最近邮局的距离和最小。 状态:d[i][j]:前i个村庄建j个邮局的最小花费 转移方程:d[i][j] = min(d[i][j], dp[k][j-1]+ dis[k+1][i]); dis[i][j]表示村庄i到村庄j之间建一个邮局的花费

no pains,no gains 1422

POJ 1160 Post Office(区间DP)

poj 1160 Post Office Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 21315   Accepted: 11522 Description There is a straight highway with villages alongside the highway...

Kruskal的博客 650

dp四边形优化 poj 1160 Post Office题解

累加器传送门:http://blog.youkuaiyun.com/NOIAu/article/details/71775000题目传送门:https://cn.vjudge.net/problem/POJ-1160四边形优化算法讲解:http://blog.youkuaiyun.com/NOIAu/article/details/72514812题目:There is a straight highway with vi

Monica 1384

POJ 1160Post Office【DP】

Description There is a straight highway with villages alongside the highway. The highway is represented as an integer axis, and the position of each village is identified with a single integer c...

dianxuanzhi1019的博客 226

CPU也能跑大模型?手把手教你用vLLM离线部署Qwen2.5-7B-Instruct(附性能优化技巧)

本文详细介绍了如何在CPU服务器上高效部署Qwen2.5-7B-Instruct模型,通过vLLM框架和一系列优化技巧实现离线推理。内容包括环境配置、模型加载优化、性能调优及生产环境部署方案,帮助开发者在资源有限的情况下也能运行大语言模型。

weixin_28691741的博客 494

HAL库硬件SPI驱动ST7735 TFT屏幕:从零实现高效刷屏与图形绘制

本文详细介绍了如何使用STM32的HAL库硬件SPI驱动ST7735 TFT屏幕,从硬件连接到SPI配置优化,再到图形绘制与文本显示的实现。重点分享了DMA传输、局部刷新等高级优化技巧,显著提升刷屏效率,帮助开发者快速掌握屏幕驱动技术并应用于实际项目。

pink的博客 741

DP 【POJ1160】POST OFFICE 邮局问题

题意:在一个坐标轴上有n个村庄,每个村庄有一个坐标a[i],现在要在这n个村庄之间建立m个邮局,求每个村庄到距离它最近的邮局的距离之和。 其中n 【题目分析】:经典DP 1、考虑在V个村庄中只建立【一个】邮局的情况,显然可以知道,将邮局建立在中间的那个村庄即可。也就是在a到b间建立一个邮局,若使消耗最小,则应该将邮局建立在(a+b)/2这个村庄上(可以通过画图知道)。

liuyanfeier的专栏 1493

Windows本地部署Qwen3-14B实战指南:Ollama+Open WebUI零Docker方案

大语言模型本地部署是AI工程化落地的关键环节,其核心在于推理框架兼容性、硬件加速适配性与端到端稳定性。Ollama作为轻量级模型运行时,原生支持Windows DirectML与CUDA,规避了Docker/WSL2虚拟化开销和llama.cpp编译风险;Qwen3-14B则凭借128K上下文、Tool Calling原生支持及中文长文本结构化能力,成为政务、金融等场景首选。本文聚焦Windows平台真实约束——显存阈值、驱动版本匹配、路径编码兼容、离线知识库集成(RAG)等工程细节,提供经63台Windo

weixin_32136203的博客 413

poj 1160 Post Office 区间DP

在v个村庄中建立p个邮局,求所有村庄到它最近的邮局的距离和,村庄在一条直线上,邮局建在村庄上。 思路:首先求出在连续的几个村庄上建立一个邮局的最短距离,用数组dis[i][j]表示在第i个村庄和第j个村庄之间建一个邮局的最短距。 !!!!!!!!!dis[i][j]=dis[i][j-1]+x[j]-x[(i+j)/2]; (村庄位置为x[i]) 用数组dp[i][j]表示在前i个...

baichuan9723的博客 217

PID不够用?试试给PID加上‘预言’能力:史密斯预测器(SP)在温控、液位控制中的实战配置

本文深入探讨了史密斯预测器(SP)在温控和液位控制中的应用,特别针对大滞后系统的PID控制难题。通过详细解析SP的核心组件、参数整定技巧及进阶应用FSP,结合西门子PLC的实战配置方案,帮助工程师有效提升控制精度和系统稳定性。文章还提供了S7-1200的完整实现步骤和调试技巧,为工业自动化控制提供了实用解决方案。

weixin_33686714的博客 469

YOLO26剪枝 lamp剪枝测试精度仅掉0.7个点,速度提高11.8fps!

针对没有如何去选择剪枝的内容LAMP是层自适应幅度调整剪枝,无需任何参数,通过算法内部自己计算每个层的重要程度进行剪枝。基于权重重要程度和该层权重大小关系,权重越大表明该层越重要的思想进行优化。这个跟我前面说的非结构化全局剪枝是一个解法(MP),也就是lamp是在我前面那个非结构化剪枝的基础上进行优化的。但是这个逐层进行非结构剪枝目前还没有一个清晰的概念,确定每个层要剪枝多少。LAMP得分是一个平方权重大小,由层中所有“幸存权重”的总和归一化。

m0_64661770的博客 673

POJ1160 Post Office(经典DP)

题目点我点我点我 题目大意:在V个村庄建立P个邮局,求每个村庄到邮局的最短距离总和。 解题思路:经典DP问题。 DP问题经常是从子问题推及到父问题,此题也如此。 假设现有m个村庄V1、V2、V3……Vm,要建立n个邮局,P1、P2……Pm, 先考虑建立有个邮局的情况,假设第k+1个村庄到第m个村庄只有一个邮局, 那么,剩下的n-1个邮局都在V1到Vk村庄中,所以: sum[i

blanKey的博客 714

MongoDB分布式事务实现:两阶段提交、日志复制与冲突解决

MongoDB分布式事务机制解析 本文深入剖析了MongoDB 4.0+版本的分布式事务实现原理,重点分析了其在跨文档/跨集合/跨分片场景下的数据一致性解决方案。核心内容包括: 底层机制:采用改进的两阶段提交协议,通过oplog日志复制实现无中心协调器的事务管理,结合WiredTiger存储引擎和锁机制保障ACID特性。 创新设计:将传统2PC的中心协调功能分散到Primary节点,利用oplog作为事务状态记录,实现自动故障恢复和60秒超时回滚机制。 性能优化:针对大事务、写冲突等常见问题,提出拆分微事务

数据知道的博客 1261

poj 1160 Post Office (区间DP)

Post Office Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 15966   Accepted: 8671 Description There is a straight highway with villages alongside the high

Coding A World 4069

SAP使用XCO框架创建RAP所有对象

通过XCO框架自动生成SAP ABAP开发对象。

DeveloperMrMeng的博客 551

快速卷积结构FIR数字滤波器的设计与ARM平台实现

本文提出了一种基于快速卷积结构的FIR数字滤波器设计与实现方案。通过Matlab设计了满足特定指标的低通FIR滤波器,采用重叠-保存法和重叠-相加法两种快速卷积算法,将计算复杂度从O(N·M)降低到O(NlogN)。详细介绍了滤波器系数生成、性能验证流程,并提供了ARM平台C语言实现的关键技术,包括定点量化处理。实验结果表明,该方法能有效滤除混合信号中的高频干扰,保留目标1kHz正弦信号,验证了设计方案的有效性。

huanghm88的专栏 125

poj-1160 post office (dp)

题意:  根据每个村庄的距离,在这些村庄里建一些office使得每个村庄到最近的office距离和最短。 分析:  如果此题建一个office,那么很容易得到,只要建在中间,就一定是最小的。这就是中值最小法,而这题是建立多个office,那么应该区间dp。 设dp[i][j]在前j个村庄也建立了i个office。对于每个区间i到j,取中间的作为建立点。用dis记录每个区间最短距离。 那么

ZXLS-ZMR的专栏 746

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Poj-1160 Post Office(经典dp

Post Office Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 15258   Accepted: 8266 Description There is a straight highway with villages alongside the high

今天天气不错 960

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

poj 1160 Post Office(dp)

Post Office Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 16131   Accepted: 8757 Description There is a straight highway with villages alongside the highway.

madaidao的专栏 417

poj1160Post Office(DP)

http://poj.org/problem?id=1160 算水过的吧 四重循环没优化 CZ说爆可过 就爆了 dp[i][j] = min(dp[i][j],dp[i-1][g]-s) 第i个点建在第j个村庄上 s 是这个点比上个点少的距离 1 #include <iostream> 2 #include<cstdio> 3 #include&lt...

weixin_30781631的博客 67

poj 1160 Post Office(经典dp)

题目:http://poj.org/problem?id=1160 Post Office Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 17378   Accepted: 9364 Description There is a straight hig

theArcticOcean 848

Post Office POJ - 1160(DP)

There is a straight highway with villages alongside the highway. The highway is represented as an integer axis, and the position of each village is identified with a single integer coordinate. There a...

tomjobs的博客 508

Post Office (poj1160)区间DP

Post OfficeTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 20756 Accepted: 11236DescriptionThere is a straight highway with villages alongside the highway. The highway is represented as an i...

qq_38665638的博客 226

POJ 1160 Post Office (经典dp)

Post Office Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 13973   Accepted: 7536 Description There is a straight highway with villages alongside the highway.

Hadis_yuki 892

POJ 1160 Post Office DP

题意:在一条直线上,有N个村庄,给出每个村庄的坐标。

leodestiny 582

poj 1160 Post Office(wqs 二分 | 思维dp)

wqs二分入门题,这题可以直接 dp,且复杂度不会比 wqs 二分高。 问题具有一个性质:限制你建 m 个 post office,但是显然建的越多代价越少,代价和建的 post office 的数量在二维平面上是一个上凸包的形状。 考虑在给每个 post office 加一个代价 xxx ,每建一个 post office 都要付出额外 xxx 的代价,显然 xxx 越大,最优解建的 pos...

qq_41997978的博客 355
上一篇: poj 1014 Dividing(多重背包可行性解)
下一篇: hdu 4770 Lights Against Dudely(暴力搜索)
Baoli1008
博客等级 码龄12年 70粉丝 293原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值