Pre

神一样的\(MST\)

Solution

考虑计算出(或者直接得出)\(sum[i]\)和\(sum[i-1]\)来得出其情况。

转化为得到每一个前缀和(奇或者偶)的值。

对于一个询问\(i\to j\),我们可以由\(sum[i-1]\)得到\(sum[j]\)

于是不用计算其中的另外一个前缀和。

所以连边。

所以\(MST\)

Code

#include<bits/stdc++.h>
#define xx first
#define yy second
#define ll long long
#define mod 1000000007
using namespace std;const int N = 2000 + 5;
struct Edge{int u, v, l;Edge (int a = 0, int b = 0, int c = 0) {u = a, v = b, l = c;}
}info[N * N];
int n, cnt, tmp;
int fa[N];
int Find (int u) {return fa[u] == u ? u : fa[u] = Find (fa[u]);
}
bool cmp(Edge m, Edge n) {return m.l < n.l;
}
int main () {scanf ("%d", &n);for (int i = 1; i <= n; ++i) {fa[i] = i;}for (int i = 1; i <= n; ++i) {for (int j = i; j <= n; ++j) {scanf ("%d", &tmp);cnt++;info[cnt] = Edge (i - 1, j, tmp);}}sort (info + 1, info + cnt + 1, cmp);ll ans = 0;int now = 0;for (int i = 1; i <= cnt; ++i) {int fx = Find (info[i].u), fy = Find (info[i].v);if (fx != fy) {ans += 1LL * info[i].l;fa[fx] = fy;now++;if (now == n) {break;}}}printf ("%lld\n", ans);return 0;
}

Conclusion

还有这种转换方法,\(MST\)竟如此神奇。

有点信息论的感觉。

转载于:https://www.cnblogs.com/ChiTongZ/p/11188315.html

bzoj3714:[PA2014]Kuglarz相关推荐

  1. bzoj 3714: [PA2014]Kuglarz

    3714: [PA2014]Kuglarz Time Limit: 20 Sec  Memory Limit: 128 MB Submit: 1151  Solved: 611 [Submit][St ...

  2. 【PA2014】【BZOJ3714】Kuglarz

    Description 魔术师的桌子上有n个杯子排成一行,编号为1,2,-,n,其中某些杯子底下藏有一个小球,如果你准确地猜出是哪些杯子,你就可以获得奖品.花费c_ij元,魔术师就会告诉你杯子i,i+ ...

  3. 【BZOJ3714】Kuglarz

    [题意] 魔术师的桌子上有n个杯子排成一行,编号为1,2,-,n,其中某些杯子底下藏有一个小球,如果你准确地猜出是哪些杯子,你就可以获得奖品.花费c_ij元,魔术师就会告诉你杯子i,i+1,-,j底下 ...

  4. 省选之前的未完成的计划(截至到省选)

    PLAN OF THE COMING HEOI good problems: -bzoj4823:[Cqoi2017]老C的方块 [*] -bzoj3171:[Tjoi2013]循环格 [*] -bz ...

  5. [暑假的bzoj刷水记录]

    (这篇我就不信有网站来扣) 这个暑假打算刷刷题啥的 但是写博客好累啊  堆一起算了 隔一段更新一下.  7月27号之前刷的的就不写了 , 写的累 代码不贴了,可以找我要啊.. 2017.8.27upd ...

  6. bzoj3714【PA2014】Kuglarz

    3714: [PA2014]Kuglarz Time Limit: 20 Sec   Memory Limit: 128 MB Submit: 361   Solved: 219 [ Submit][ ...

  7. 清北学堂学习笔记 第一期

    Day 1 1.贪心的奇怪方法:调整法 调整法,顾名思义,就是用别的方式进行题目的分析以及证明,例如说luogu的最大乘积.这种题目的主要分析思路为:先考虑一些简单的情况,通过简单的情况来推出一些有用 ...

  8. Noip前的大抱佛脚----赛前任务

    赛前任务 tags:任务清单 前言 现在xzy太弱了,而且他最近越来越弱了,天天被爆踩,天天被爆踩 题单不会在作业部落发布,所以可(yi)能(ding)会不及时更新 省选前的练习莫名其妙地成为了Noi ...

  9. [颓废史]蒟蒻的刷题记录

    QAQ蒟蒻一枚,其实我就是来提供水题库的. 以下记录从2016年开始. 1.1 1227: [SDOI2009]虔诚的墓主人 树状数组+离散化 3132: 上帝造题的七分钟 树状数组 二维区间加减+查 ...

最新文章

  1. vmware nat模式原理探究,实现虚拟机跨网段管理
  2. mpeg b帧 编码 matlab,一种基于压缩域的镜头检测算法
  3. 学习asp.net ajax 笔记(一)
  4. 全局性事务控制如何在springboot中配置
  5. linux跑caffe模型的步骤,Caffe初步实践——使用训练好的模型完成语义分割任务
  6. 删除同域名所有cookies_Namesilo域名解析DNS设置教程
  7. 对中职计算机教学的思考,中职计算机教学思考
  8. linux内核实时补丁的实现,Canonical释出用于Ubuntu 18.04 LTS和16.04 LTS的新Linux内核实时补丁...
  9. 乐高颜色传感器的颜色识别算法
  10. python 多行注释后可运行程序报错
  11. Android 电话的国家代码
  12. 使用Java解牛客网六一儿童节
  13. 218分照样可以成为同声传译研究生3
  14. 服务器两块硬盘怎么合并,电脑高手进(怎么把俩块硬盘合并在一同)
  15. OpenStack实例创建失败
  16. 创业起步的十大准备步骤
  17. R语言和医学统计学(5):多因素方差分析
  18. 免费短信验证码SDK是一款由移动开发服务平台Mob(前身ShareSDK)正式推出“全球短信验证码解决方案”
  19. Git 中 tag 的用法(打tag、删除tag等)
  20. ubuntu gedit找不到命令

热门文章

  1. S9306开启web功能!
  2. Zabbix server is not running: the information displayed may not be current.
  3. tcpdump抓取mysql语句
  4. UGUI组件之Canvas 组件简单笔记
  5. ant编译重设property的值
  6. 为什么大家都说 SELECT * 效率低?
  7. 住手!!你不需要微服务!
  8. 徒手撸一个简单的 IOC
  9. 你们都在用IntelliJ IDEA吗?或许你们需要看一下这篇博文
  10. 演化:这五年里,我们对架构师职责的思考与定位