[]APC001】的更多相关文章

Description 给定\(n\)个点\(m\)条边组成的森林,每个点有权值\(a_i\).现在需要将森林连成一棵树,选择两个点\(i,j\)连边的代价是\(a_i+a_j\),每个点最多被选择连边一次.问最小代价. Solution 首先dfs找出图里联通块个数记为\(x\). 因为要连成一棵树,所以要连\(x-1\)条边,所以要选择\(2x-2\)个点. 我们不是很需要关心最后连接成的树的形态.贪心的选出代价最小的\(2x-2\)个点就好. 现在每个联通块内选出\(1\)个权值最小的点,…
题目质量都好高啊... A:求一个是$X$的倍数但不是$Y$的倍数的数,无解输出$-1$ 无解就是$Y|X$,否则输出$X$即可 B:给定$a_{1\cdots n},b_{1\cdots n}$,求是否能通过($a_i+=2,b_j+=1$)这样的操作使$a,b$相等 如果$\sum a_i\geq\sum b_i$那么无解,否则操作次数为$\sum\limits b_i-\sum a_i$ 因为操作可以异步进行,所以先把$+2$用完看能否使得使得所有$a_i\geq b_i$,这一步至少要操…