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.1k 3 分钟

# B # 题目大意 给你一个长度为 nnn 的排列(包括 000 到 n−1n-1n−1 的所有整数)和一个长度为 nnn 的条状单元格 你需要在 iii 单元格内,填入 MEX(p1,p2,...,pi)MEX(p_1,p_2,...,p_i)MEX(p1​,p2​,...,pi​) MEX(p1,p2,...,pi)MEX(p_1,p_2,...,p_i)MEX(p1​,p2​,...,pi​) 代表 p1,p2,...,pip_1,p_2,...,p_ip1​,p2​,...,pi​ 中的第一个不出现的非负整数 现在给你一个最喜欢的数 xxx,问 xxx 最多出现次数是? #...
701 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.6k 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...
600 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 的棋盘,上面有两种格子 # 和 @ 。游戏的规则很简单:给定一个起始位置和一个目标位置,小明每一步能向上,下,左,右四个方向移动一格。如果移动到同一类型的格子,则费用是...
2.8k 3 分钟

# C # 题目大意 当且仅当一个正整数 XXX 满足以下条件时,它才被称为好整数: 存在一对正整数 (a,b)(a,b)(a,b) ,使得 X=2a×b2X = 2^a \times b^2X=2a×b2. 给定正整数 N(1≤N≤1018)N(1 \le N \le 10^{18})N(1≤N≤1018) ,求在 111 和 NNN 之间(包括首尾两个整数)的好整数个数。 # 题解 显然,就算是 O(n)O(n)O(n)...
1.4k 1 分钟

# 最大公约数(GCD) # 最小公倍数(LCM) # 图形化分析 对于复杂的、GCDGCDGCD、LCMLCMLCM 混杂的题目,可以考虑使用图形简化分析,下面以两个数引入,再辅以例题加深理解 对于数 AAA 和 BBB,由唯一分解定理有: A=∏i=1k1(aixi), B=∏i=1k2(biyi)A=\prod_{i=1}^{k_1} (a_i^{x_i}),~B=\prod_{i=1}^{k_2}(b_i^{y_i}) A=i=1∏k1​​(aixi​​), B=i=1∏k2​​(biyi​​) 图形化表示为: 以 AAA 为例,aaa 代表只在 AAA...