>Description
Loi54 的viv有另一个身份----魔♂术♂师,今天他要变一个魔♂术,但是,viv找不到他的魔法球了。一定是调皮的dc把球藏了起来。viv找到了dc,没想到腹黑的dc不光不交出viv魔法球,还向viv索要赎金。

作为一个安静的美男子,viv不想用暴♂力解决此事,再者dc还是viv的同学,所以viv忍气吞声,准备花RMB赎回自己的魔法球。

dc的服务态度“良♂好”,给出了详细的“询问”价格表。

价格表的形式如下:

(dc把viv的魔法球放在一个区间内([1,n])的一个位置上)

Cij: 代表询问[I,j]这个区间球的数量的奇偶性要付多少钱。

Viv没有多少钱,所以viv决定采取最优策略,花最少的钱来找出自己的球。

但是Viv不光是穷X,还是个蒟蒻,怎么可能找出最优策略,机智的viv想到了机智的你们….

Viv:“求帮忙….QwQ”


>Input
第一行一个整数n。
第i+1行(1<=i<=n)有n+1-i个整数,表示每一种询问所需的花费。其中c_ij(对区间[i,j]进行询问的费用,1<=i<=j<=n,1<=c_ij<=10^9)为第i+1行第j+1-i个数。

>Output
输出一个整数,表示最少花费。

30%: n <= 50
60%: n <= 500
100% n <= 1600 (由于无法传输大文件,所以只能这么小了,我是不是太良心了…)


>解题思路
做之前没有做的题,发现这道题跟Kuglarz一毛一样……(又轻松A了一道紫题^^)


>代码

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define int long long
#define N 1605
using namespace std;struct line
{int c, x, y;
} a[1300005];
int n, c[N], t, w, ans;bool bmp (line aa, line bb) {return aa.c < bb.c;}
int find (int now)
{if (c[now] == now) return now;return c[now] = find (c[now]);
}signed main()
{scanf ("%lld", &n);for (int i = 1; i <= n; i++)for (int j = i; j <= n; j++){scanf ("%lld", &w);a[++t] = (line) {w, i - 1, j};}sort (a + 1, a + 1 + t, bmp);for (int i = 0; i <= n; i++) c[i] = i;for (int i = 1; i <= t; i++){int u = find (a[i].x), v = find (a[i].y);if (u != v){ans += a[i].c;c[u] = v;}}printf ("%lld", ans);return 0;
}

Charmer--viv【并查集】【最小生成树】相关推荐

  1. 【HDU - 1863】 畅通工程(并查集+最小生成树)

    题干: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到的统计表中列出了有可能建设公路的 ...

  2. Kruskal算法:贪心+并查集=最小生成树

    http://www.51nod.com/ Kruskal算法的高效实现需要一种称作并查集的结构.我们在这里不介绍并查集,只介绍Kruskal算法的基本思想和证明,实现留在以后讨论. Kruskal算 ...

  3. 20211229[按秩合并并查集 最小生成树][BZOJ4668]冷战

    20211229[按秩合并并查集.最小生成树][BZOJ4668]冷战 题意:给定N点,动态加边与询问两点最早是哪条边开始连通,强制在线 首先如果离线的话可以直接跑最小生成树,不过代码不好处理. 当然 ...

  4. 畅通工程 hdu 1232 HDU - 1863 (并查集+最小生成树)

    畅通工程hdu 1232 并查集 Problem Description Input Output 参考代码 HDU - 1863 Problem Description Input Output 参 ...

  5. 计科练习12题解(并查集,最小生成树)

    目录 黑暗意志 闪闪发光 最小生成树(Prim) 并查集 隔离 最小生成树(Kruskal) 黑暗意志 题目描述 在数千年前潘达利亚从卡利姆多分离之时,迷雾笼罩着这块新形成的大陆,使它不被外来者发现. ...

  6. PIPI OJ 1118: 继续畅通工程(并查集+最小生成树)

    菜鸟生成记(18) 1118: 继续畅通工程 又双叒叕是最短路径的水题;不同的是,在构造最小生成树前,题目中已经规定一些已经建好了(这些边已经在生成树里面了);从未建好的边中选择最优边加入生成树;直到 ...

  7. [并查集][最小生成树]PJOJ 2560 雀斑连线/luogu 2921 修复公路

    题目描述 In an episode of the Dick Van Dyke show, little Richie connects the freckles on his Dad's back ...

  8. 图论 + 并查集 ----最小生成树重构图 + 可撤销并查集 + set启发式合并 时间线上的离线求解 D. Graph and Queries

    解题思路 题目大意: 就是给你一个无向图,每个点都有一个权值,和qqq次询问 每次询问有两种操作 1 x:就询问从x点出发,能访问到的最大权值是多少,并把最大权值那个点的权值设置为0 2 x:就是删除 ...

  9. 牛客-Forsaken喜欢独一无二的树【并查集,最小生成树】

    正题 题目链接:https://ac.nowcoder.com/acm/contest/1221/H 题目大意 给一张图,要求删掉一些边使得最小生成树权值不变,然后求删掉的边的最小权值. 解题思路 我 ...

  10. 【HDU - 1301】Jungle Roads(并查集+最小生成树)(内附最小生成树两种算法 克鲁斯特尔算法amp;amp;普里姆算法)

    题干: Jungle Roads Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

最新文章

  1. 使用Ef框架进行分页..EF模糊查询..EF多表内连接查询
  2. linux tty core code,linux tty core 源码分析(5)
  3. vuedraggable示例_vue拖拽列表vuedraggable
  4. java种子填充_种子填充实例运行出问题
  5. 一条消息未发,粉丝已破千万
  6. springcould结合springbboot微服务 开发@^——^@ 模式讲解
  7. 在Android中利用iText生成PDF
  8. 修改user-agent爬取数据 遇到的问题
  9. ant design 时间控件清空值
  10. js清空浏览器cokie缓存_JS设置cookie,删除cookie
  11. 磁力计椭球拟合使用篇 IMU 加速度、电子罗盘校准
  12. 关于JavaScript打印去掉页眉页脚
  13. 利用python实现m4a格式到MP3的转换
  14. HDOJ1429(胜利大逃亡(续))
  15. 【uniapp】canvas画海报保存图片兼容H5和APP
  16. Java、JSP服装销售管理系统
  17. string字符串转换时间格式(包含精确时分秒)
  18. Python笔试练习题
  19. TTA(Test-Time Augmentation) 之Pytorch
  20. 【Rust日报】2022-12-11 EDMA:用 Rust 编写的嵌入式数据库管理终端应用程序

热门文章

  1. 闲鱼上怎么引流学生粉?闲鱼如何引流客源?闲鱼的引流技巧
  2. vba英文翻译成中文
  3. 服务器主板插显卡进不了系统,关于换了显卡后进不了系统的问题
  4. CSS/JS 实现滑动页面,到一定位置,position 定位设置为fixed,否则用absolute;
  5. 武林外传电影版java,武林外传经典台词
  6. 办公室office工具————Word基础
  7. Boost ASIO proactor 浅析
  8. C++STL常用操作之prev、next篇
  9. chrom如何兼容本地file文件
  10. C++二维数组的初始化赋值及示例