E. 至至子的长链部分 (构造) https://ac.nowcoder.com/acm/contest/38630/E 思路: 首先, $h$ 最大的节点必然是根节点, 并且只存在一个根节点 然后, 若要构成一棵合法的树, 长度 $0 - h_{max}$ 都必须出现, 比如: 0, 1, 2, 3, 4, 5; 最后, 长度 $h$ 的节点数要大于等于长度 $h + ...
Codeforces Round 815 (Div. 2) D1(DP) D2(字典树+DP)
D1. Xor-Subsequence (easy version) (DP) https://codeforces.com/contest/1720/problem/D1 首先, 上来就是一个 $O(n^2)$ 的DP, 定义 $dp[i]$: 表示前 $i$数字可以形成的最长子序列 类比最长上升子序列的做法, 先枚举 $i$, 再枚举 $j$, 并维护 $dp[i]$ 的值 fo...
AtCoder Beginner Contest 264
E. Blackout 2 (DSU) #include <bits/stdc++.h> using namespace std; struct DSU { vector<int> a, b; vector<int> p; DSU(int n, int m) { a.resize(n + m, 0);...
牛客小白月赛54 A(排序+贪心) B(线段树/差分) C(区间合并+二分查找) D(BFS) E(DP)
A. Sum (排序+贪心) 有一个长度为 $n$ 的数列 $a_n$, 每次可以任意选 $k, k \ge 2$ 个数, 这 $k$ 个数的和 $S$ 会成为这次行动的 得分 操作结束后, 将选取的 $k$ 个数从数列里删除, 并将和 $S$ 加入数列, 在进行下一次操作, 操作数可以为 $0$ 问: 任意次操作后, 最大得分??? 思路: 排序, 每次选取最大的两个数 $a$ ...
AtCoder Educational DP Contest - 未完待续
A. Forg 1 (DP) https://atcoder.jp/contests/dp/tasks/dp_a 转移: 当前在 第 $i$ 块石头上, 可以从第 $i-1$ 和 $i-2$ 块石头转移过来 #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_std...
AtCoder Beginner Contest 263 (D) DP
1. D - Left Right Operation DP https://atcoder.jp/contests/abc263/tasks/abc263_d 1.1 Problem Statement 给定一个序列 $a_1, a_2, …, a_n$, 长度为 $n$ 有如下操作: 选定数字 $x(0 \le x \le n)$, 如果 $x = 0$, 什么也不做, ...
Codeforces Round edu 133 (Div. 2) (C) DP (D) DP
1. C - Robot in a Hallway DP https://codeforces.com/contest/1716/problem/C 1.1 Problem Statement 这里有一个 $2 * n$ 的网格, 你在左上角 $(0, 0)$ 每一秒可以选择如下行动: 向邻接方格行动一步, 但不能超出网格范围 ...
AtCoder Beginner Contest 262 (D)DP
1. D - I Hate Non-integer Number (DP) https://atcoder.jp/contests/abc262/tasks/abc262_d 1.1 Problem Statement 给定长度为 $n$ 的 正整数 序列 $a_1, a_2, …, a_n$ 对于每个数字 $a_i$, 可以选择, 也可以不选择 一共有 $2^n - 1$ 种选择...
AtCoder Beginner Contest 261 (D) DP (F) Fenwick Tree
1. D DP https://atcoder.jp/contests/abc261/tasks/abc261_d 1.1 Problem Statement 1.2 分析 1.3 code my code #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_s...
Codeforces Round 132 (edu) (C) 括号 (D) 线段树
C. Recover an RBS https://codeforces.com/contest/1709/problem/C 1. Problem Statement 这里原本有一个 合法 的括号序列, 现在将这个合法的括号序列中的一部分字符串替换为 ? 你可以将 ? 替换为 ( 或者 ) 问替换出合法括号序列的方式是否唯一 2. 分析 如果某个给定的字符串为 (())??? ...