09 2022 档案
摘要:问题描述: 有 N 种物品和一个容量为 V 的背包,每种物品都有无限件可用。第i件物品的体积是 w[i] ,价值是 v[i] 。求解将哪些物品装入背包可使价值总和最大。 问题特点: 每种物品有无限个,可以选择 i 物品的数量放入背包。 如何得到状态转移方程: 对于01背包来说,我们有选或者不选第 i
阅读全文
摘要:题目链接:https://www.acwing.com/problem/content/862/ 放AC代码 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N = 1e5+10, M = 2e5+10;//因为是无向图所以边
阅读全文
摘要:什么是二分图? 简单来说,就是把一个图的顶点划分为两个不相交子集 ,使得每一条边都分别连接两个集合中的顶点。如果存在这样的划分,则此图为一个二分图。 这样如果不理解,可以看个例子: 此图即为一个二分图,将蓝色点与红色点分别划为两个子集。 要点: · 无向图 · 所有点分成 A、B 两个不相交的集合
阅读全文
摘要:题目链接:https://www.acwing.com/problem/content/847/ 一道bfs,主要是状态和状态转换很难搞,看y总的代码中,很多关于c++库中的各种还不太熟悉,现学现卖了属于。 一篇关于unordered_map的find和count函数使用总结的博客。 借鉴一下大佬的
阅读全文
摘要:题目链接:https://www.acwing.com/problem/content/804/ 好像理解了,但又没完全理解....写个题解再好好理解一下。 百度说:离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。 简单来说就是通过映射关系,将大范围里面很少的数据进行小范
阅读全文