Charmer--viv【并查集】【最小生成树】
>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【并查集】【最小生成树】相关推荐
- 【HDU - 1863】 畅通工程(并查集+最小生成树)
题干: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到的统计表中列出了有可能建设公路的 ...
- Kruskal算法:贪心+并查集=最小生成树
http://www.51nod.com/ Kruskal算法的高效实现需要一种称作并查集的结构.我们在这里不介绍并查集,只介绍Kruskal算法的基本思想和证明,实现留在以后讨论. Kruskal算 ...
- 20211229[按秩合并并查集 最小生成树][BZOJ4668]冷战
20211229[按秩合并并查集.最小生成树][BZOJ4668]冷战 题意:给定N点,动态加边与询问两点最早是哪条边开始连通,强制在线 首先如果离线的话可以直接跑最小生成树,不过代码不好处理. 当然 ...
- 畅通工程 hdu 1232 HDU - 1863 (并查集+最小生成树)
畅通工程hdu 1232 并查集 Problem Description Input Output 参考代码 HDU - 1863 Problem Description Input Output 参 ...
- 计科练习12题解(并查集,最小生成树)
目录 黑暗意志 闪闪发光 最小生成树(Prim) 并查集 隔离 最小生成树(Kruskal) 黑暗意志 题目描述 在数千年前潘达利亚从卡利姆多分离之时,迷雾笼罩着这块新形成的大陆,使它不被外来者发现. ...
- PIPI OJ 1118: 继续畅通工程(并查集+最小生成树)
菜鸟生成记(18) 1118: 继续畅通工程 又双叒叕是最短路径的水题;不同的是,在构造最小生成树前,题目中已经规定一些已经建好了(这些边已经在生成树里面了);从未建好的边中选择最优边加入生成树;直到 ...
- [并查集][最小生成树]PJOJ 2560 雀斑连线/luogu 2921 修复公路
题目描述 In an episode of the Dick Van Dyke show, little Richie connects the freckles on his Dad's back ...
- 图论 + 并查集 ----最小生成树重构图 + 可撤销并查集 + set启发式合并 时间线上的离线求解 D. Graph and Queries
解题思路 题目大意: 就是给你一个无向图,每个点都有一个权值,和qqq次询问 每次询问有两种操作 1 x:就询问从x点出发,能访问到的最大权值是多少,并把最大权值那个点的权值设置为0 2 x:就是删除 ...
- 牛客-Forsaken喜欢独一无二的树【并查集,最小生成树】
正题 题目链接:https://ac.nowcoder.com/acm/contest/1221/H 题目大意 给一张图,要求删掉一些边使得最小生成树权值不变,然后求删掉的边的最小权值. 解题思路 我 ...
- 【HDU - 1301】Jungle Roads(并查集+最小生成树)(内附最小生成树两种算法 克鲁斯特尔算法amp;amp;普里姆算法)
题干: Jungle Roads Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
最新文章
- 使用Ef框架进行分页..EF模糊查询..EF多表内连接查询
- linux tty core code,linux tty core 源码分析(5)
- vuedraggable示例_vue拖拽列表vuedraggable
- java种子填充_种子填充实例运行出问题
- 一条消息未发,粉丝已破千万
- springcould结合springbboot微服务 开发@^——^@ 模式讲解
- 在Android中利用iText生成PDF
- 修改user-agent爬取数据 遇到的问题
- ant design 时间控件清空值
- js清空浏览器cokie缓存_JS设置cookie,删除cookie
- 磁力计椭球拟合使用篇 IMU 加速度、电子罗盘校准
- 关于JavaScript打印去掉页眉页脚
- 利用python实现m4a格式到MP3的转换
- HDOJ1429(胜利大逃亡(续))
- 【uniapp】canvas画海报保存图片兼容H5和APP
- Java、JSP服装销售管理系统
- string字符串转换时间格式(包含精确时分秒)
- Python笔试练习题
- TTA(Test-Time Augmentation) 之Pytorch
- 【Rust日报】2022-12-11 EDMA:用 Rust 编写的嵌入式数据库管理终端应用程序