题目名称 | 285. [NOI 1999]最优连通子集 |
---|---|
输入输出 | subset.in/out |
难度等级 | ★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 5 |
题目来源 | BYVoid 于2009-02-27加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:35, 提交:51, 通过率:68.63% | ||||
LGLJ | 100 | 0.000 s | 0.00 MiB | C++ |
瑆の時間~無盡輪迴·林蔭 | 100 | 0.000 s | 0.00 MiB | C++ |
yuan | 100 | 0.000 s | 0.00 MiB | C++ |
Skloud | 100 | 0.000 s | 0.00 MiB | C++ |
ムラサメ | 100 | 0.000 s | 0.00 MiB | C++ |
HeSn | 100 | 0.000 s | 0.00 MiB | C++ |
遗弃 | 100 | 0.003 s | 86.15 MiB | C++ |
lingyixiaoyao | 100 | 0.004 s | 0.35 MiB | C++ |
QWERTIer | 100 | 0.005 s | 0.34 MiB | C++ |
任杰 | 100 | 0.005 s | 0.35 MiB | C++ |
本题关联比赛 | |||
EYOI与SBOI开学欢乐赛5th |
关于 最优连通子集 的近10条评论(全部评论) | ||||
---|---|---|---|---|
不知道大家是怎么做的,我是用的树形dp。。。以1为根节点建树,应该是做麻烦了
| ||||
这题挺像贪心的……
| ||||
过了noip还是这样。。。假
QhelDIV
2012-12-09 14:19
3楼
| ||||
不会写
Makazeu
2012-12-08 08:40
2楼
| ||||
开始的时候没注意到“对于V中的任何两个整点,V中有且仅有一条连接这两点的道路”,然后就想出麻烦无比(其是还是错的)的算法
其实,这个题现在放到noip都算简单了。。
QhelDIV
2012-12-06 20:46
1楼
|
众所周知,我们可以通过直角坐标系把平面上的任何一个点 $P$ 用一个有序数对 $(x,y)$ 来唯一表示,如果 $x,y$ 都是整数,我们就把点 $P$ 称为整点,否则点 $P$ 称为非整点。我们把平面上所有整点构成的集合记为 $W$。
定义$1:$
两个整点 $P_1(x_1,y_1),P_2(x_2,y_2)$,若$|x_1-x_2|+|y_1-y_2|=1$,则称 $P_1 , P_2$ 相邻,记作 $P_1 \sim P_2$,否则称 $P_1 , P_2$ 不相邻。
定义$2:$
设点集 $S$ 是 $W$ 的一个有限子集,即 $S={P_1,P_2,…,P_n}(n \geq 1)$,其中$P_i(1 \leq i \leq n)$属于 $W$,我们把 $S$ 称为整点集。
定义$3:$
设 $S$ 是一个整点集,若点 $R,T$ 属于 $S$,且存在一个有限的点序列:$Q_1,Q_2,…,Q_k$ 满足:
$1、Q_i$属于$S(1 \leq i \leq k)$;
$2、Q_1 = R,Q_k = T$;
$3、Q_i \sim Q_{i+1}(1 \leq i \leq k-1)$,即$Q_i$与$Q_{i+1}$相邻;
$4、$对于任何 $1 \leq i < j \leq k$有$Q_i \neq Q_{i+1}$
我们则称点 $R$ 与点 $T$ 在整点集 $S$ 上连通,把点序列 $Q_1,Q_2,…,Q_k$ 称为整点集 $S$ 中连接点 $R$ 与点 $T$ 的一条道路。
定义$4:$
若整点集 $V$ 满足:对于 $V$ 中的任何两个整点,$V$ 中有且仅有一条连接这两点的道路,则 $V$ 称为单整点集。
定义$5:$
对于平面上的每一个整点,我们可以赋予它一个整数,作为该点的权,于是我们把一个整点集中所有点的权的总和称为该整点集的权和。
我们希望对于给定的一个单整点集 $V$,求出一个 $V$ 的最优连通子集 $B$,满足:
$1、B$ 是 $V$ 的子集;
$2、$对于 $B$ 中的任何两个整点,在$B$中连通;
$3、B$ 是满足条件 $(1)$ 和 $(2)$ 的所有整点集中权和最大的。
第 $1$ 行是一个整数 $N$,表示单整点集 $V$ 中点的个数;
接下来 $N$ 行中,第 $i$ 行($1 \leq i \leq N$)有三个整数,$X_i,Y_i,C_i$ 依次表示第 $i$ 个点的横坐标,纵坐标和权。同一行相邻两数之间用一个空格分隔。
仅一个整数,表示所求最优连通集的权和。
5 0 0 -2 0 1 1 1 0 1 0 -1 1 -1 0 1
2
输入输出样例2
$100$%的数据,$2 \leq N \leq 1000$,$-10^6 \leq X_i,Y_i \leq 10^6$,$-100 \leq C_i \leq 100$;
$NOI$ $1999$