W
H
X

随笔分类 -  题解

摘要:Codeforces Round #607 (Div. 1) A 每个位置一旦被赋值就不会再更改。记录当前哪些位置已经赋值,然后暴力更改没赋值的位置。但 \(m\) 之后的用不到不用管 B 答案只有 \(6\) 种 \(res=0\) 初始就全都是 \(A\) \(res=1\) 矩阵的四条边界中有 阅读全文
posted @ 2021-04-17 18:08 -敲键盘的猫- 阅读(71) 评论(0) 推荐(0)
摘要:Codeforces Round #606 (Div. 1) Codeforces Round #606 (Div. 1) A dp:不用任何观察。只有 \(one,two\) 两种特殊的串,\(dp\) 的时候只要记录末尾是 \(o,on,t,tw\) 还是其他东西就好了 greedy:遍历字符串 阅读全文
posted @ 2021-04-11 20:19 -敲键盘的猫- 阅读(84) 评论(0) 推荐(0)
摘要:Codeforces Round #604 (Div. 1) A 先把原序列去重弄成二元组 \((x,c_x)\),即解了 \(x\) 题的有 \(c_x\) 人。这样的处理方便解决“严格大于”的限制,只要每种奖牌取一些二元组即可。 然后找到人数一半的位置把后面的仍掉。接下来枚举金牌的人数,然后从后 阅读全文
posted @ 2021-04-02 21:46 -敲键盘的猫- 阅读(67) 评论(0) 推荐(0)
摘要:CF1264E Beautiful League CF1264E Beautiful League 先反其道而行之,如果 \((A,B,C)\) 不符合条件,一定有某一个队伍赢了另外两个队。进一步,如果 \(x\) 队赢了 \(c_x\) 局,不满足条件的三元组数量 \(number=\sum\fr 阅读全文
posted @ 2021-03-31 19:42 -敲键盘的猫- 阅读(108) 评论(0) 推荐(0)
摘要:Codeforces Round #601 (Div. 1) A 容易发现最小的差肯定是 \(1\),即有一些块包含 \(x\) 个,一些块有 \(x+1\) 个。关键在于保证连通。只要按照“蛇形”拓展即可:一行一行走,第一行从左往右,第二行从右往左,第三行... #include <bits/st 阅读全文
posted @ 2021-03-31 19:34 -敲键盘的猫- 阅读(103) 评论(0) 推荐(0)
摘要:Codeforces Round #601 (Div. 1) Codeforces Round #604 (Div. 1) Codeforces Round #606 (Div. 1) Codeforces Round #607 (Div. 1) Codeforces Round #609 (Div 阅读全文
posted @ 2021-03-26 21:37 -敲键盘的猫- 阅读(178) 评论(0) 推荐(0)
摘要:Codeforces Round #618 (Div. 1) 旧题重补系列 A \((x|y)-y\) 就是二进制下 \(x\) 为 \(1\) 而 \(y\) 为 \(0\) 的位的权值和 而 \(f(f(…f(f(a_1,a_2),a_3),…a_{n−1}),a_n)\) 表示二进制下只有 \ 阅读全文
posted @ 2021-03-26 21:34 -敲键盘的猫- 阅读(90) 评论(0) 推荐(0)
摘要:Codeforces Round #694 (Div. 1) B - Strange Definition 来看一些结论: 1、两个数 \(x,y\) 满足条件等价于 \(xy=k^2\) (两数乘积是完全平方数) 证:若 \(xy=k^2\),则有$\frac{lcm(x,y)}{gcd(x,y) 阅读全文
posted @ 2021-01-16 23:48 -敲键盘的猫- 阅读(194) 评论(0) 推荐(0)
摘要:不是完整的题解,乱记了一下,图片都是剽来的 CF504E Misha and LCP on Tree 题目地址 二分+哈希。预处理 \(2\) 个哈希数组,一个从$root$到每个节点,一个从每个节点到$root$。注意处理转折的情况(即先从$a$到$lca$,再从$lca$到$b$一段) 代码 C 阅读全文
posted @ 2020-08-20 10:28 -敲键盘的猫- 阅读(157) 评论(0) 推荐(0)
摘要:题面 solution n³dp:fl[x][r]表示当前显示的数字为 x ,还要处理的区间为[x+1,r]时的最小步数,普通区间dp,枚举中间点转移即可,fr类似 查询的时候也枚举中间点然后左右取max值 太慢了,把状态定义改为区间进行加速,最后的答案不会很大(45),更改状态为: range_l 阅读全文
posted @ 2020-08-12 22:16 -敲键盘的猫- 阅读(203) 评论(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 -敲键盘的猫- 阅读(247) 评论(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 -敲键盘的猫- 阅读(157) 评论(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 -敲键盘的猫- 阅读(325) 评论(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 -敲键盘的猫- 阅读(144) 评论(0) 推荐(0)
摘要:题目 题目意思很贪心,但有些放左边好,有些放右边好,一起做不好弄 可以分开做:一定存在一种最优方案,使得所有放在左边更优的都在左侧(存在一个分界点) 然后把两个种类分开贪心,以左边的为例: 用一个set存储还没放的位置 将所有camels按照Ri-Li排序,从大的开始处理,如果能放,就放在能放的最靠 阅读全文
posted @ 2020-07-22 12:23 -敲键盘的猫- 阅读(169) 评论(0) 推荐(1)
摘要:"题面" 当n 1时,为了满足题目的条件,最后的矩阵必须满足两个条件中至少一个:A、第一行全是0 B、最后一行全是1 按照两种情况做两遍(强制使其中一个情况满足)就可以得到答案了吧,以A为例: 若a[1][i]=1,则第i列标记为需要一次操作,然后对之后每一行判断操作后的情况 有两种情况存在答案: 阅读全文
posted @ 2020-04-10 19:43 -敲键盘的猫- 阅读(246) 评论(0) 推荐(2)
摘要:"题面" 最终答案的方案可以分为2种:1、不使用传送 2、从起点s到最近(步数最少)的颜色为c的格子x,传送到离终点t最近的颜色也为c的格子y,再走到t(从s到x,y到t的过程中均可使用传送) 询问次数多,如果预处理出f[k][i][j]表示从格子(i, j)到一个颜色为k的格子的最少步数,询问时只 阅读全文
posted @ 2020-04-10 17:08 -敲键盘的猫- 阅读(228) 评论(0) 推荐(1)
摘要:upd:更多CF题目看这里吧 收录了一些比较有趣的题,只要这个菜鸡还没退役就会持续更新~~~ CF1321E World of Darkraft: Battle for Azathoth CF1311E Construct the Binary Tree CF1296F Berland Beauty 阅读全文
posted @ 2020-04-09 23:46 -敲键盘的猫- 阅读(586) 评论(0) 推荐(1)
摘要:"题面" 给定树的节点数n和d,构造一颗二叉树,使所有节点的的深度和为d 容易得出n个节点的二叉树每个节点深度的总和最大为n (n 1)/2,最小值为满二叉树的情况 于是就可以愉快地判断答案是否存在啦,然后还得构造出一个合法的答案qwq 我的方法是先弄成一条链再进行调整 反正数据不大,不如简单点每次 阅读全文
posted @ 2020-04-09 23:27 -敲键盘的猫- 阅读(259) 评论(0) 推荐(0)
摘要:"题面" 给出一颗树上地方边和一些限制条件:两点间路径上边权的最小值,求出一个合法的边权方案 把限制条件按最小值从大到小排序,依次处理,mn记录的每条边可能的最小值 对于每个条件: 枚举两点之间的边(LCA向上跳,数据范围小一步一步跳就行) 由于限制条件已经按值从大到小排序,被之前路径覆盖的边的最小 阅读全文
posted @ 2020-04-09 22:54 -敲键盘的猫- 阅读(149) 评论(0) 推荐(0)