1.小红拿到了一个01串,她有以下两种操作:
1.选择一个字符取反,代价为x。
2.选择两个相邻的字符同时取反,代价为y。
小红想知道,自己将字符串变成全0”的最小代价是多少?
字符取反,指的是1变成0’"0变成1
样例
3 5
11101
result: 11
代码实现
注意:
没说y是优选, 然后注意溢出.将cost和count设为Long.
3.小红拿到了一棵树。所谓树,即n个节点、n -1条边的无向连通图。
小红定义一张图的权值为: 所有节点到1号节点的最短路长度之和。
小红想知道,假设i号节点和1号节点连一条边,生成的基环树的权值为多少?你需要回答1到n的答案。 (1时可以视为不添加任何边)基环树定义:n个节点、n条边的图。基环树保证有且仅有一个环。
本题中,所有的边均为无向边,且长度为1。
输入描述
第一行输入一个正整数n,代表节点的数量。接下来的n-1行,每行输入两个正整数u和v,代表点u和点v有一条无向边连接。1<n < 10^5.
代码
实现了样例,
实际上的操作思路是 start,cur
要判断是否有新边, 是则加入新边, 重新计算lengths. 最后要恢复结构.
import java.util.Scanner;
/**
* <p>
* 测试leetcode
* </p>
*
* @author Mr.