- 博客(2)
- 收藏
- 关注
原创 旅行商问题(TSP) & HDU3001
C是我们已经走过的城市的集合(不一定是连续的,可能是走过1号3号5号), 第二个参数 i 是我们最后到达的点。我们当前的走完C集合里的所有城市走到 i 的距离 d1,也就是 C集合除去 i 城市的集合C',从1号开始走完 集合C' 里的城市 到 j 城市的距离 + j 城市到 i 城市的距离 即得到当前我们d1的值,遍历C' 里的所有城市取最小值即我们当前d1的最优解。我们可以讲 2进制压状 改成 3进制即可,[pos] = val 即 第 pos 号城市 我们经过 val 次。
2024-12-10 21:50:35
1012
原创 Greater and Greater [bitset]
ans -> ans[i] = 1 意味着 从下标 i 开始, a[i] > b[0], a[i + 1] > b[1] .....pos < n 的话 相当于是a数组、 pos >= n 相当于是b元素里的。pos - n 即可得到该元素在b数组里的。pair<int, int> -> {value(元素值), pos(下标位置) }index now -> 我们是否访问过 (相当于vis)
2024-12-07 14:38:24
244
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅