UESTC 1653 最小生成树?
来源:互联网 发布:python rpc java 编辑:程序博客网 时间:2024/05/18 18:03
题目链接:http://acm.uestc.edu.cn/#/problem/show/1653
题意:中文题面
解法:
#include <bits/stdc++.h>using namespace std;struct node{ int x,y;} p[1010];int n, dp[1010][1010], s[1010][1010];bool cmp(node a, node b){ if(a.x==b.x) return a.y>b.y; return a.x<b.x;}int main(){ while(~scanf("%d", &n)) { for(int i=1; i<=n; i++) scanf("%d %d", &p[i].x,&p[i].y); sort(p+1,p+n+1,cmp); memset(dp, 0x3f, sizeof(dp)); for(int i=1; i<=n; i++) s[i][i]=i,dp[i][i]=0; for(int len = 2; len <= n; len++) { for(int l = 1; l+len-1<=n; l++) { int r = l+len-1; for(int j=s[l][r-1]; j<=s[l+1][r]; j++) { if(j!=r) { if(dp[l][j]+dp[j+1][r]+p[j+1].x-p[l].x+p[j].y-p[r].y<dp[l][r]) { dp[l][r]=dp[l][j]+dp[j+1][r]+p[j+1].x-p[l].x+p[j].y-p[r].y; s[l][r]=j; } } } } } printf("%d\n", dp[1][n]); } return 0;}
阅读全文
0 0
- UESTC 1653 最小生成树?
- UESTC 1635 最大最小生成树
- UESTC 1146 秋实大哥与连锁快餐店 最小生成树、Prim
- UESTC 1641 此情无计可消除,才下眉头,却上心头。 最小生成树、Kruskal
- UESTC 1636 梦后楼台高锁,酒醒帘幕低垂 最小生成树Kruskal算法的扩展
- 最小比例 最小生成树
- 最小生成树&&次最小生成树
- 最小生成生成树计数
- 树+最小生成树
- 最小生成树
- 最小生成树 MST
- 最小生成树Kruskal
- kruskal 最小生成树
- 最小生成树
- 最小生成树
- 最小生成树
- 最小生成树
- 最小生成树 MST
- Thinkpad E420 将引导扇区转移到另一个硬盘上
- WEB和JAVA WEB
- windows server 2012 xampp 80 端口被占用
- python基础
- 多线程volatile与synchronized区别
- UESTC 1653 最小生成树?
- NYOJ:56-阶乘因式分解(一)
- python语法 --list,tuple, str格式化,iterable
- 创建war包和部署war包,以及实施相关的工具和unix命令
- JAVA-25.2-js提高篇、BOM编程、事件编程、DOM编程、js正则表达式、表单验证案例
- Drools结合maven
- Volley使用(1)
- css盒子模型
- 浏览器中常见bug的解决方法