BZOJ 1108: [POI2007]天然气管道Gaz
来源:互联网 发布:广州软件开发培训 编辑:程序博客网 时间:2024/04/25 04:33
1108: [POI2007]天然气管道Gaz代码
Description
Mary试图控制成都的天然气市场。专家已经标示出了最好的天然气井和中转站在成都的地图。现在需要将中转
站和天然气井连接起来。每个中转站必须被连接到正好一个钻油井,反之亦然。 Mary特别指名,建设的天然气管
道必须从某个天然气井开始,向南或者向东建设。Mary想知道怎么连接每个天然气井和中转站,使得需要的天然气
管道的总长度最小。
Input
第一行为一个正整数n(2<=n<=50000),表示天然气井的数量(中转站的数量与之相等)。接下来n行,每行两
个整数xi和yi(0<=xi,yi<=100000),表示天然气井的坐标。向东走则x坐标增加,向北走则y坐标增加。接下来n
行,每行两个数xj'和yj'(0<=xj',yj'<=100000),表示中转站的坐标。
Output
第一行包含一个数,表示最短的连接管道长度。
Sample Input
3
3 5
1 2
4 3
6 3
5 2
2 1
3 5
1 2
4 3
6 3
5 2
2 1
Sample Output
9
HINT
好吧 题目保证有解 也就是 每个黑点都会有白点和他匹配
我一直在纠结能不能全部匹配......
第一眼 好像是最小匹配
但是天然气管道只能南或者向东建设
也就是曼哈顿距离 1s变水题。。。。
假设存在两个点 黑点A(x1,y1) 白点B(x2,y2)
距离为 (x2-x1)+(y1-y2)
不管黑白点怎么匹配 黑点总是 -x +y
白点总是 +x -y
所以 统计一下ans就好了
1 #include <cstdio> 2 #include <cctype> 3 4 typedef long long LL; 5 6 int n; 7 8 LL ans; 9 10 inline void read(int&x) {11 int f=1;register char c=getchar();12 for(x=0;!isdigit(c);c=='-'&&(f=-1),c=getchar());13 for(;isdigit(c);x=x*10+c-48,c=getchar());14 x=x*f;15 }16 17 int hh() {18 read(n);19 for(int x,y,i=1;i<=n;++i) read(x),read(y),ans-=x,ans+=y;20 for(int x,y,i=1;i<=n;++i) read(x),read(y),ans+=x,ans-=y;21 printf("%lld\n",ans);22 return 0;23 }24 25 int sb=hh();26 int main(int argc,char**argv) {;}
阅读全文
0 0
- BZOJ 1108 POI2007 天然气管道Gaz
- BZOJ 1108: [POI2007]天然气管道Gaz
- 1108: [POI2007]天然气管道Gaz
- 1108: [POI2007]天然气管道Gaz 思路题
- BZOJ1108 [POI2007]天然气管道Gaz
- [BZOJ1108] [POI2007]天然气管道Gaz
- BZOJ1108 [POI2007]天然气管道Gaz
- bzoj1108[POI2007]天然气管道Gaz
- 【BZOJ】【P1108】【POI2007】【天然气管道Gaz】【题解】【数学】
- bzoj 1101: [POI2007]Zap
- BZOJ 1101: [POI2007]Zap
- 【BZOJ 1101】 [POI2007]Zap
- bzoj 1101: [POI2007]Zap
- BZOJ 1101: [POI2007]Zap
- BZOJ 1101 [POI2007] Zap
- BZOJ 1101 [POI2007]Zap
- [BZOJ]1101: [POI2007]Zap
- [bzoj 1101--Poi2007]Zap
- Hdu 5776 sum
- JS入门练习(1)50个div逢5换行 多个div排V字
- dp
- POJ 3061 Subsequence
- P3047 [USACO12FEB]附近的牛Nearby Cows
- BZOJ 1108: [POI2007]天然气管道Gaz
- 1441 士兵的数字游戏
- LOJ #2037. 「SHOI2015」脑洞治疗仪
- 洛谷 U3348 A2-回文数
- [USACO07DEC]观光奶牛Sightseeing Cows
- 1076 2条不相交的路径
- 1435 位数阶乘
- 51Nod 1445 变色DNA
- 1060 最复杂的数