摘要: 1: 实现路径压缩并查集,查找,合并,判同集合。 2: 获取集合大小,集合数量。 3: 增加权重,查询单个元素到集合代表元素的权重。 4: 增加获取集合中元素的功能。 以C++的三大特性之一封装来写该模块,代码量大概是90行左右。 用到的库: vector, nnumeric(iota函数)。 cl 阅读全文
posted @ 2024-03-25 13:25 _Yxc 阅读(13) 评论(0) 推荐(0)
摘要: 题意:求非空连续子区间最大和 思路:贪心解决。 void solve(){ int n; cin >> n; long long ans = -1e18; long long cur = 0; for (int i = 0; i < n; ++i){ int t; cin >> t; cur += 阅读全文
posted @ 2024-03-25 12:41 _Yxc 阅读(21) 评论(0) 推荐(0)
摘要: 题意:n个零食,每个零食有k种配料,一共有m种配料。问最少吃几包零食,可以吃到所有配料。 n <= 100, m <= 20, k <= m。 思路:最优化问题,如果n <= 20可以直接bf,这里m <= 20,对m进行状态压缩,正确的解法应该是线性dp + 状态压缩。 总结:很容易陷入一个哈密顿 阅读全文
posted @ 2024-03-25 09:56 _Yxc 阅读(107) 评论(0) 推荐(0)