W
H
X
摘要: 动态规划 ARC101C Ribbons on Tree(2020-11-27) ARC101C Ribbons on Tree key:容斥,状态设计 容斥是比较好想的,状态比较奇怪 如果是 \(n\) 个点随便连的话,方案数很好计算 设 \(f_{i,j}\) 表示 \(i\) 的子树内,\(i 阅读全文
posted @ 2020-11-13 21:12 -敲键盘的猫- 阅读(318) 评论(1) 推荐(1) 编辑
摘要: 一些随意的记录 AtCoder Regular Contest 106 DEF AtCoder Regular Contest 106 DEF AtCoder Grand Contest 006 BCDEF AGC006 BCDEF AtCoder Grand Contest 005 CDEF AG 阅读全文
posted @ 2020-09-26 20:40 -敲键盘的猫- 阅读(329) 评论(0) 推荐(1) 编辑
摘要: Conclusion D题用到了“对比前后变化”的思想来处理一些看起来比较复杂的东东 A - Reachable Towns 介绍两种做法,一种是比较好理解的并查集,一种是奇奇怪怪的$O(n)$做法 并查集做法: 最naive的想法就是在每两个符合条件的点之间连边。但事实上确保联通性最多只要$n$条 阅读全文
posted @ 2020-09-23 20:51 -敲键盘的猫- 阅读(314) 评论(0) 推荐(2) 编辑
摘要: 不是完整的题解,乱记了一下,图片都是剽来的 CF504E Misha and LCP on Tree 题目地址 二分+哈希。预处理 \(2\) 个哈希数组,一个从$root$到每个节点,一个从每个节点到$root$。注意处理转折的情况(即先从$a$到$lca$,再从$lca$到$b$一段) 代码 C 阅读全文
posted @ 2020-08-20 10:28 -敲键盘的猫- 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题面 solution n³dp:fl[x][r]表示当前显示的数字为 x ,还要处理的区间为[x+1,r]时的最小步数,普通区间dp,枚举中间点转移即可,fr类似 查询的时候也枚举中间点然后左右取max值 太慢了,把状态定义改为区间进行加速,最后的答案不会很大(45),更改状态为: range_l 阅读全文
posted @ 2020-08-12 22:16 -敲键盘的猫- 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题目描述 定义 \(border(S)\) 为最长的字符串 \(T\),满足 \(T\) 是 \(S\) 的前缀,也是 \(S\) 的后缀,且 \(|T|<|S|\)。 对于一个字符串 \(S[1\cdots n]\),令 \(f[i]=|border(S[1\cdots i])|\)。 给定 \( 阅读全文
posted @ 2020-08-12 13:53 -敲键盘的猫- 阅读(229) 评论(4) 推荐(2) 编辑
摘要: https://atcoder.jp/contests/abc173/tasks/abc173_f #include <bits/stdc++.h> using namespace std; #define int long long void read (int &x) { char ch = g 阅读全文
posted @ 2020-07-24 15:24 -敲键盘的猫- 阅读(148) 评论(0) 推荐(0) 编辑
摘要: https://codeforc.es/contest/1366/problem/F 这玩意↑可以点开放大看 #include <bits/stdc++.h> using namespace std; #define int long long void read (int &x) { char c 阅读全文
posted @ 2020-07-24 01:00 -敲键盘的猫- 阅读(299) 评论(0) 推荐(0) 编辑
摘要: #include <bits/stdc++.h> using namespace std; const int N = 55; #define ll long long char c[N], o[N], a[N], b[N]; int n, m, val; ll d[N][N], f[N][N]; 阅读全文
posted @ 2020-07-24 00:43 -敲键盘的猫- 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目 题目意思很贪心,但有些放左边好,有些放右边好,一起做不好弄 可以分开做:一定存在一种最优方案,使得所有放在左边更优的都在左侧(存在一个分界点) 然后把两个种类分开贪心,以左边的为例: 用一个set存储还没放的位置 将所有camels按照Ri-Li排序,从大的开始处理,如果能放,就放在能放的最靠 阅读全文
posted @ 2020-07-22 12:23 -敲键盘的猫- 阅读(150) 评论(0) 推荐(1) 编辑