摘要: Codeforces Round #653 (Div. 3) Required Remainder Thinking(binary search) 既然是找最大值问题,我又懒得去推式子,于是我直接就上了一个二分,二分写法比结论稍微繁琐了一点吧,但是还是挺好想的。 根据题意,我们的任务就是找到一个最大 阅读全文
posted @ 2020-06-29 10:19 lifehappy 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 就是线性代数的初等行变化: 倍加。 倍乘。 交换行。 #include <bits/stdc++.h> #define mp make_pair #define pb push_back using namespace std; typedef long long ll; typedef pair< 阅读全文
posted @ 2020-06-25 20:30 lifehappy 阅读(125) 评论(0) 推荐(0) 编辑
摘要: Maximum White Subtree 思路 如果考虑其覆盖范围只会到其子树上,不会到其父节点上的话(假设的情况),这道题就非常好写了,就是一个简单的自底向上传递的树形$dp$。所以我们还要考虑的就是连接其父节点,因此我们只需要再进行一个自顶下向传递的树形$dp$即可。 第一遍的$dfs$比较简 阅读全文
posted @ 2020-06-20 16:20 lifehappy 阅读(92) 评论(0) 推荐(0) 编辑
摘要: Three Blocks Palindrome (hard version) 思路 考虑到每个数字的范围是$1 ~ 200$,于是我们可以通过枚举两侧的元素来寻找最优答案。 我们有一个贪心策略,两侧都以我们枚举的元素作为结尾点,假如我们当前枚举的数字是1,于是我们将构成$……1|…………|1……$这 阅读全文
posted @ 2020-06-19 20:41 lifehappy 阅读(125) 评论(0) 推荐(0) 编辑
摘要: K-periodic Garland 思路 每个点我们有两种决策,其值为0或1: 如果点我们放置0的话,我们有其前一位数字是零,或者其前一位数字是一。 如果这个点我们放置1的话,我们有其前面是按照每k个数字都出现一次1的排列,也有可能其前面的数字全是0。 这就有点像是$dp$了,我们规定$dp[i] 阅读全文
posted @ 2020-06-19 16:14 lifehappy 阅读(86) 评论(0) 推荐(0) 编辑
摘要: Modular Stability 思路 \((((x \mod a_1) \mod a_2) …… \mod a_{k - 1}) \mod a_{k} = (((x \mod p_1) \mod p_2) …… \mod p_{k - 1}) \mod p_{k}\),其中$p$数组是$a$数组 阅读全文
posted @ 2020-06-19 15:27 lifehappy 阅读(92) 评论(0) 推荐(0) 编辑
摘要: #include <bits/stdc++.h> #define mp make_pair #define pb push_back using namespace std; typedef pair<int, int> pii; typedef long long ll; typedef unsi 阅读全文
posted @ 2020-06-15 22:18 lifehappy 阅读(151) 评论(0) 推荐(1) 编辑
摘要: 素数 一些定理性质 唯一分解定理 威尔逊定理: $p$是质数,则有$(p - 1) ! \equiv -1 \pmod p$ 逆定理同时成立,如果有$(p - 1) ! \equiv -1 \pmod p$,则$p$一定是质数。 有$((p - 1) ! + 1) \equiv 0 \pmod p$ 阅读全文
posted @ 2020-06-13 21:26 lifehappy 阅读(200) 评论(0) 推荐(0) 编辑
摘要: Educational Codeforces Round 89 (Rated for Div. 2) A. Shovels and Swords 思路 题意非常简单,就是得到最多的物品嘛,我们假定$a, b$中$a$是最小的一个,分两种情况。 如果$2 * a ⇐ b$,那么我们只需要购买花费是$1 阅读全文
posted @ 2020-06-12 15:56 lifehappy 阅读(160) 评论(0) 推荐(0) 编辑
摘要: E:Tree Queries 思路 当我写完A完这道题后,百度了一下,发现好像没有人是用类树链剖分来写的,都是$LCA$,于是我就来水一篇树链剖分题解了。 第一步:贪心取点 我们可以发现,要使所有的点相连我们必须选择一条最长的路,也就是在$k$个点中,选择一个与$root = 1$最远的点,这样才有 阅读全文
posted @ 2020-06-10 14:35 lifehappy 阅读(192) 评论(0) 推荐(0) 编辑