1.3k 1 分钟

# 题目大意 有 nnn 种物品和一个容量是 vvv 的背包 第 iii 种物品的体积是 viv_ivi​,价值是 wiw_iwi​,有 sis_isi​ 件 问:你放进背包的最大价值是多少 # 数据范围 小范围(多重背包 III) 0<N,V≤10000 < N, V \le 10000<N,V≤1000 0<vi,wi≤10000 < v_i, w_i \le 10000<vi​,wi​≤1000 大范围(多重背包 IIIIII) 0<N≤10000 <...
1.3k 1 分钟

# 题目大意 有 nnn 种物品和一个容量是 vvv 的背包,每种物品都有无限件 第 iii 种物品的体积是 viv_ivi​,价值是 wiw_iwi​ 问:你放进背包的最大价值是多少 # 数据范围 0<N,V≤10000 < N, V \le 10000<N,V≤1000 0<vi,wi≤10000 < v_i, w_i \le 10000<vi​,wi​≤1000 # 思路 显然可以借鉴 010101 背包的思路, dp[i][j] 表示选到第 iii 个物品,背包容量为 jjj...
945 1 分钟

# 题目大意 有 nnn 件物品和一个容量是 vvv 的背包,每件物品只能使用一次 第 iii 件物品的体积是 viv_ivi​,价值是 wiw_iwi​ 问:你放进背包的最大价值是多少! # 数据范围 0<N,V≤10000 < N, V \le 10000<N,V≤1000 0<vi,wi≤10000 < v_i, w_i \le 10000<vi​,wi​≤1000 # 思路 # 变量假设 dp[i][j] 表示前 iii 个物品中,已经用了 jjj 的背包体积时的最大价值 #...
3.5k 3 分钟

# A # 题目大意 给你一个长度为 nnn 的二进制字符串 sss,你需要做的是,对于第 iii 个字符,进行反转(000 变 111,111 变 000),问,所有翻之后的字符串,111 的总数是 # 数据范围 ttt 组数据,1≤t≤10001 \le t \le 10001≤t≤1000 字符串长度 nnn,1≤n≤101 \le n \le 101≤n≤10 # 题解 暴力 C++12345678910111213141516void solve () { cin >> n >>...
694 1 分钟

# 模式分解 把一个关系模式,分解成若干个关系模式(把一张表分解成若干张表) 分解后做自然连接,在内容上是否与原来的表等价 →\to→ 分解的无损连接性 分解后做自然连接,在数据依赖(约束)上是否与原来的表等价 →\to→ 分解的保持依赖性 # 什么情况下需要分解 当关系模式不符合关系范式时,需要分解(一般是 3NF3NF3NF) 分解规则:将每一个函数依赖单独组成一个关系 # 无损连接性 找出分解的两个表(R1,R2R_1,R_2R1​,R2​)的交集 判断这个交集是否为 R1R_1R1​ 的超码或者是 R2R_2R2​...
1.1k 1 分钟

# 怎么样的情况可以构建树呢? 中序 +++ 前序 中序 +++ 后序 中序 +++ 层序 必须要有中序,其他随便搭 # 示例代码 # 中序 + 前序 C++1234567891011121314// 根位置 左 右Node *build(int pos, int l, int r) { if (l > r) return null; Node *root = new Node(); root->val = pre[pos]; int idx = mp[pre[pos]], len = idx - l; root->left...
2.4k 2 分钟

# 函数依赖的概念 函数依赖是关系模式中各个属性之间的一种依赖关系 例如可以通过一个学号值,得到唯一一个姓名值 == 属性(属性组)和属性(属性组)== 之间的推导关系便为函数依赖 # 平凡函数依赖 设一个关系为 R(U)R(U)R(U),XXX 和 YYY 为属性集 UUU 的子集,当 X→YX \to YX→Y 时,如果 Y⊊XY \subsetneq XY⊊X(YYY 是 XXX 的子集),那么称 X→YX \to YX→Y 是平凡函数依赖 (学号,姓名) →\to→ 姓名 # 非平凡函数依赖 设一个关系为 R(U)R(U)R(U),XXX 和 YYY...
5k 5 分钟

# 报数游戏 算 101210121012×24101210121012 \times 24101210121012×24 昏迷高精度 C++C++C++ C++123456789101112131415161718string mul(string aa, int b) { vector<int> a, c; for (int i = aa.size() - 1; i >= 0; i--) a.push_back(aa[i] - '0'); int t = 0; for (int...
619 1 分钟

# 第一范式 列符合原子性,表中每个属性不可再分 不存在多值属性 能找到候选码 姓名 年龄 地址 ZMC 191919 江西省赣州市 地址属性不符合原子性,应该拆分为:省 +++ 市 +...+ ...+... # 第二范式 非主属性必须依赖于整个主键或候选键,不能只依赖于主键或候选键的一部分属性 员工 ID 姓名 部门 ID 部门名称 在部门工作的年数 100110011001 ZMC 110110110 牛马部 111 在部门工作的年数需要通过员工 ID 和部门 ID 共同确定 姓名仅通过员工 ID 确定 部门名称仅通过部门 ID...
3.1k 3 分钟

# 01BFS 能解决的问题 0−1BFS0-1BFS0−1BFS 用来解决,== 在最短路中,花费的代价为 0 和 1 的时候,要求代价最少 == 的问题 有着 BFSBFSBFS 的特性 当代价为 000 的时候,把这一步放在双端队列的队首 代价为 111 的时候,放在队尾(不需要代价的先计算) # 例题 # 小明的游戏 # 题目大意 小明最近喜欢玩一个游戏。给定一个 n×mn \times mn×m 的棋盘,上面有两种格子 # 和 @ 。游戏的规则很简单:给定一个起始位置和一个目标位置,小明每一步能向上,下,左,右四个方向移动一格。如果移动到同一类型的格子,则费用是...