3624: [Apio2008]免费道路 Time Limit: 2 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 111  Solved: 49[Submit][Status] Description Input Output Sample Input 5 7 2 1 3 0 4 5 1 3 2 0 5 3 1 4 3 0 1 2 1 4 2 1 Sample Output 3 2 0 4 3 0 5 3 1 1 2 1   还是看的网上…
题意: 一张图0,1两种边,构造一个恰有k条0边的生成树 优先选择1边构造生成树,看看0边是否小于k 然后保留这些0边,补齐k条,再加1边一定能构成生成树 类似kruskal的证明 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; , M=1e5+; typedef long long ll; inline in…
3624: [Apio2008]免费道路 Time Limit: 2 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 1201  Solved: 469[Submit][Status][Discuss] Description Input Output Sample Input 5 7 2 1 3 0 4 5 1 3 2 0 5 3 1 4 3 0 1 2 1 4 2 1 Sample Output 3 2 0 4 3 0 5 3 1 1 2…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3624 题意: 给你一个无向图,n个点,m条边. 有两种边,种类分别用0和1表示. 让你求一棵生成树,使得这棵树中恰好有k条0种类的边.输出每一条边的两端点和种类. 若无解,则输出"no solution". 题解: 让0和1分别作两种边的边权. 步骤: (1)先找出必须选的0边.(优先选1,最大生成树) (2)再将0边个数加至k. (3)补上1边. AC Code: #incl…
先把水泥路建生成树,然后加鹅卵石路,这里加的鹅卵石路是一定要用的(连接各个联通块),然后初始化并查集,先把必需的鹅卵石路加进去,然后随便加鹅卵石路直到k条,然后加水泥路即可. 注意判断无解 #include<iostream> #include<cstdio> using namespace std; const int N=20005,M=100005; int n,m,k,f[N],ta,tb,con; bool v[M]; struct qwe { int u,v; qwe(…
Sample Input 5 7 2 1 3 0 4 5 1 3 2 0 5 3 1 4 3 0 1 2 1 4 2 1 Sample Output 3 2 0 4 3 0 5 3 1 1 2 1 这道题当时光读题就读半天,现在大概翻译一下: 我们需要对于该图建一棵生成树使所有点连通,并且这棵树里有且只有K条白边. 读明白后就想到了[国家集训队2012]tree(陈立杰),那道题也是类似,要求白边数量恰好为need,但是那道题要求是最小生成树,而这道题只要是生成树就好了.而且还得判断和不合法.然…
题目链接 我们发现有些白边是必须加的,有些是多余的. 那么我们先把所有黑边加进去,然后把必须要加的白边找出来. 然后Kruskal,把必须要加的白边先加进去,小于K的话再加能加的白边.然后加黑边. 要求最后是一棵树,没注意,刚开始以为白边还要多判次. 简便的写法: //2464kb 96ms #include <cstdio> #include <cctype> #include <algorithm> //#define gc() getchar() #define…
新亚(New Asia)王国有 N 个村庄,由 M 条道路连接.其中一些道路是鹅卵石路,而其它道路是水泥路.保持道路免费运行需要一大笔费用,并且看上去 王国不可能保持所有道路免费.为此亟待制定一个新的道路维护计划. 国王已决定保持尽可能少的道路免费,但是两个不同的村庄之间都应该一条且仅由一条 且仅由一条免费道路的路径连接.同时,虽然水泥路更适合现代交通的需 要,但国王也认为走在鹅卵石路上是一件有趣的事情.所以,国王决定保持刚好 K 条鹅卵石路免费. 举例来说,假定新亚王国的村庄和道路如图 3(a…
Description Input Output Sample Input 5 7 2 1 3 0 4 5 1 3 2 0 5 3 1 4 3 0 1 2 1 4 2 1 Sample Output 3 2 0 4 3 0 5 3 1 1 2 1 /*  比较优秀的一道题 我们对于这个K上来第一反应可能就是先找k个0,别的再说 但这个显然错误.(没准只有我个蒟蒻真试了=-=) 但是我们反过来想,如果c值为1的边和小于k条的c值为0的 边,能够使得这个图成立(即树).那么我们将其中的一些c值 为1…
3624: [Apio2008]免费道路 Time Limit: 2 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 1292  Solved: 518[Submit][Status][Discuss] Description Input Output Sample Input 5 7 2 1 3 0 4 5 1 3 2 0 5 3 1 4 3 0 1 2 1 4 2 1 Sample Output 3 2 0 4 3 0 5 3 1 1 2…