摘要:
388. 游戏 (区间DP|博弈论) 思路:在最坏情况下考虑问题,每个人都选择对自己有利的情况,dp[i][j]指的是对方获得的分差,分值总和固定为sum,因此我方方差越大,对方的分值就越小。最后A+B=sum,A-B=diff。 import java.util.*; public class M 阅读全文
摘要:
731. 毕业旅行问题 (状态压缩DP) 思路:使用状态压缩DP,dp[i][j]中i表示状态(二进制表示),j表示最后所在城市。算法时间复杂度是O(2n*n2),需要优化掉没有访问过1号城市的状态和无效状态。 import java.util.*; public class Main { priv 阅读全文
摘要:
1402. 星空之夜 (哈希表) 思路:整体方法就是使用DFS找出所有星群,难点是判断星群是否相似,这里是通过累加星群内每两点之间的距离作为哈希值判断是否相似。 import java.util.*; public class Main { private static final double e 阅读全文
摘要:
1355. 母亲的牛奶 (BFS) 思路:使用BFS搜索所有可能出现的情况,同时保存到used数组,防止重复搜索,最后遍历used数组,因为只求C桶中牛奶,所有先遍历C桶,出现A桶为空立即打印结果并break。 import java.util.*; public class Main { priv 阅读全文