题意

二维平面上有\(n(2 \le n \le 1000000)\)个点,可以花费\(w_i\)交换第\(i\)个点的横纵坐标。求在满足能覆盖所有点的最小矩阵周长最短的情况下花费最小。

分析

这题太神了。有一个结论是,所有点都会交换到\(y=x\)线的同一侧。

题解

所以我们暴力就行辣。

#include <bits/stdc++.h>
using namespace std;
inline int getint() {int x=0, c=getchar();for(; c<48||c>57; c=getchar());for(; c>47&&c<58; x=x*10+c-48, c=getchar());return x;
}
const int N=1000005;
bool ok[N], vi[N];
int n, x[N], y[N], w[N], ans=~0u>>1;
void go(int lx, int rx, int ly, int ry) {int temp=0;for(int i=1; i<=n; ++i) {if(lx<=x[i] && x[i]<=rx && ly<=y[i] && y[i]<=ry) {vi[i]=0;}else if(lx<=y[i] && y[i]<=rx && ly<=x[i] && x[i]<=ry) {vi[i]=1;temp+=w[i];}else {return;}}if(temp<ans) {ans=temp;memcpy(ok, vi, sizeof(bool)*(n+1));}
}
int main() {n=getint();int lx=~0u>>1, ly=lx, rx=-lx, ry=rx;for(int i=1; i<=n; ++i) {x[i]=getint(), y[i]=getint(), w[i]=getint();int a=min(x[i], y[i]), b=max(x[i], y[i]);lx=min(lx, a);rx=max(rx, a);ly=min(ly, b);ry=max(ry, b);}printf("%lld ", 2ll*(rx-lx+ry-ly));go(lx, rx, ly, ry);go(lx, ry, ly, rx);go(ly, rx, lx, ry);go(ly, ry, lx, rx);printf("%d\n", ans);for(int i=1; i<=n; ++i) {putchar('0'+ok[i]);}return 0;
}

【BZOJ】1105: [POI2007]石头花园SKA相关推荐

  1. BZOJ.1109.[POI2007]堆积木Klo(DP LIS)

    BZOJ 二维\(DP\)显然.尝试换成一维,令\(f[i]\)表示,强制把\(i\)放到\(a_i\)位置去,现在能匹配的最多数目. 那么\(f[i]=\max\{f[j]\}+1\),其中\(j& ...

  2. [BZOJ 1098] [POI2007] 办公楼biu 【链表优化BFS】

    题目链接:BZOJ - 1098 题目分析 只有两个点之间有边的时候它们才能在不同的楼内,那么就是说如果两个点之间没有边它们就一定在同一座楼内. 那么要求的就是求原图的补图的连通块. 然而原图的补图的 ...

  3. BZOJ 1101: [POI2007]Zap

    题目 1101: [POI2007]Zap Time Limit: 10 Sec  Memory Limit: 162 MB Description FGD正在破解一段密码,他需要回答很多类似的问题: ...

  4. BZOJ 1101: [POI2007]Zap( 莫比乌斯反演 )

    求 answer = ∑ [gcd(x, y) = d] (1 <= x <= a, 1 <= y <= b) . 令a' = a / d, b' = b / d, 化简一下得 ...

  5. BZOJ 1108: [POI2007]天然气管道Gaz

    1108: [POI2007]天然气管道Gaz Description Mary试图控制成都的天然气市场.专家已经标示出了最好的天然气井和中转站在成都的地图.现在需要将中转 站和天然气井连接起来.每个 ...

  6. BZOJ 1103: [POI2007]大都市meg [DFS序 树状数组]

    1103: [POI2007]大都市meg Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 2221  Solved: 1179 [Submit][S ...

  7. bzoj 1109: [POI2007]堆积木Klo(二维偏序)

    1109: [POI2007]堆积木Klo Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1139  Solved: 423 [Submit][St ...

  8. 莫比乌斯函数(bzoj 1101: [POI2007]Zap)

    莫比乌斯反演: http://blog.csdn.net/acdreamers/article/details/8542292 课件:https://wenku.baidu.com/view/fbec ...

  9. bzoj 1106: [POI2007]立方体大作战tet(贪心+树状数组)

    1106: [POI2007]立方体大作战tet Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 785  Solved: 574 [Submit][ ...

最新文章

  1. 公司间STO的Invoice处理
  2. 快速打开unity manual的方式
  3. 弗吉尼亚理工大学(Virginia Tech)NCR校区招收计算机硕士学位研究生
  4. 为什么函数式语言会火
  5. skipping incompatible
  6. zepto中的tap穿透
  7. Bootstrap3 带提示的进度条
  8. ajax跨域原理以及jsonp使用
  9. VMWARE:NAT模式连接外网
  10. bzero和memset函数
  11. 安装谷歌json格式转换插件
  12. idea破解版下载 + 最常用快捷键记录
  13. STM32利用DCMI对并口ADC高速数据采样
  14. 这40个自学网站,一年让你“白捡”十几万,快点收藏
  15. ijkplayer视频秒开优化指北
  16. 嵌入式OTA升级实现原理
  17. 如何使用MDK建立STM32H7双核编译工程
  18. 第三方支付躺赚的好日子结束:银行直连模式瓦解
  19. javacv开发详解之19:如何使用批量的多张图片制作apng动态图,再也不用担心不会制作动态图了
  20. 新手如何做网站?成都网站建设达人浅析——网站制作新手教程

热门文章

  1. 无言的鞭策:日本20年19人获自然科学诺奖
  2. 【GNN】一份完全解读:是什么使神经网络变成图神经网络?
  3. 前沿地带:从量子计算到量子互联网
  4. 阿里云发布三大人工智能产品:推动AI产业落地
  5. 从语言学到深度学习NLP,一文概述自然语言处理
  6. 深度学习在推荐系统上的应用
  7. 7个小技巧,老板再也无法留我加班了...
  8. 测试 C、Python、Java 等 16 种编程语言的 Hello World:7 种存在 Bug?
  9. 2020 最烂密码 TOP 200 大曝光,霸榜的竟然是它?
  10. 漫画:程序教你寻找股票买入卖出的最佳时机(动态规划)