08 2020 档案
摘要:暴力+网络流 2020牛客暑期多校训练营(第十场)Identical Trees 题目大意: 给你两棵大小是 n 的树,可以对 T1 进行操作,变成 T2 ,每次操作可以选择一个节点,把这个节点改成任意一个你想换成的点,问最少的操作使得 T1 变成 T2 。
阅读全文
摘要:模拟 D. Colorful Points 题目大意: 给你一个字符串,对于一个字符,如果左右两边的字符和这个不一样,那么就删除这个字符,一次可以删去多个字符,问最少的删除次数,使得不能再删。 题解: 这个是一个模拟题,写起来感觉挺恶心的,但是也很考验写题的技巧,用好的技巧写就显得很简洁。 按照网上
阅读全文
摘要:2020牛客暑期多校训练营(第十场)C Decrement on the Tree 题目大意: 给你一颗 n 个节点的树,每一条边都有一个权值,有一种操作就是你可以选择一条链,将链上的每一条边的权值都 -x,问最少的操作使得这棵树的权值变成0。 题解: 从叶子节点开始考虑: 对于这个图,考虑最少的操
阅读全文
摘要:树链剖分+线段树 Codeforces Round #457 (Div. 2) E. Jamie and Tree 题目大意: 给你一棵树,对这棵树有三种操作: 1 v 表示把根节点变成 v 这个节点 2 u v x 表示把含有u和v这两个节点的最小子树的所有节点都加上x 3 v 查v这个所在子树的
阅读全文
摘要:思维 2020牛客暑期多校训练营(第九场) The Escape Plan of Groundhog 题目大意: 给一个01矩阵,问满足三个要求的子矩阵有多少个 边界全部都是1 内部的0和1的数量相差不能大于1 宽和高必须大于1 题解: 考虑把行或者列当作一个整体,以行当作整体为例,枚举两列,那么只
阅读全文
摘要:唯一分解 2020牛客暑期多校训练营(第九场) Groundhog Chasing Death 题解: 因为是求gcd,所以先对 x ,y 进行唯一分解,求出共有的素因子和个数。 然后枚举每一个素因子,枚举x的数量,求出y。 #include <bits/stdc++.h> using namesp
阅读全文
摘要:矩阵树 2020 Multi-University Training Contest 6 Expectation 题目大意: 给你一张n个点m条边的图,定义一个最小生成树的权值是所有边相与的结果,现在你随机选一个最小生成树,计算期望的权值,答案对998244353取模。 题解: 分析题目: 这个期望
阅读全文
摘要:高斯消元的学习 + 辗转相除法 参考网站1 https://oi-wiki.org/math/gauss/ 参考网站2 https://www.cnblogs.com/xcg123/p/10679600.html 模板 https://www.cnblogs.com/zcysky/p/6946919
阅读全文
摘要:2020 Multi-University Training Contest 6 Divisibility 写这个题的题解仅仅只是为了记录这个证明。 对于证明的第二点的 x>b 说下自己的理解,一开始并没有太看懂。 c1=x c2=x 如果 c2<b
阅读全文
摘要:2020 Multi-University Training Contest 6 Divisibility 写这个题的题解仅仅只是为了记录这个证明。 #include <bits/stdc++.h> #define debug(x) cout<<"debug:"<<#x<<" = "<<x<<end
阅读全文
摘要:图转树 最小生成树 树形dp2020 Multi-University Training Contest 6 A Very Easy Graph Problem 题目大意: 一张 m 大小的图,每一个节点被标记为0或者1,第 i 条边的大小是 2i ,问是否任意两个01点对之间的最短路
阅读全文
摘要:暴力打表+区间dp 2020 Multi-University Fragrant numbers 题目大意: 有一个字符串 1145141919 ,它可以重复,无限变长, 114514191911451419191145141919... 你可以取这个字符串的一个前缀,在这个前缀插入 \((
阅读全文
摘要:2020 Multi-University Training Little Rabbit's Equation 题目大意: 给你一个字符串,形式是:数字,操作,数字,=,数字。 这个操作包括:+,-,*,/ 保证字符串没有空格、没有负号、没有小数点,问这个数字是什么进制满足等式,如果有多个,输出最小
阅读全文
摘要:推公式+期望 2020 Multi-University Training Road To The 3rd Building 题目大意: 每一个点有一个权值 si ,定义一个计划是一对 (i,j) 1<=i<=j<=n ,计划的可爱程度是 \(\frac{1}{j-i+1}\s
阅读全文
摘要:dp+prufer 序列 2020牛客暑期多校训练营(第七场)Valuable Forests 题目大意: 题解: 这个题目首先要知道无根树计数-prufer序列,学习来源 无根树的计数——prufer序列 然后就是一点点思维+dp 通过prufer序列可以知道,对于一个n大小的无根树,不同的树有
阅读全文
摘要:线段树分治+可撤销并查集 2020牛客暑期多校训练营(第八场)All-Star Game 题目大意: 题解: 线段树分治+可撤销并查集。 首先讲讲这两个算法: 线段树分治呢,其实和线段树差不多,不过有一个分治的思想在里面,可以多刷几个这种类型的题目。 关键是把一个修改看成一个区间,每个询问是一个叶子
阅读全文
摘要:2020牛客暑期多校训练营(第八场)Enigmatic Partition 题目大意: 注意:对于每一个序列,一定要有三个不同的数,且这三个数连续,意思是一定存在 a1,a1+1,a1+2 题解: 先看上面这个图,这个是对于长度是7,最小数为1的序列对答案的贡献,很容易发现求贡献的规律。 对于区间
阅读全文
摘要:2020牛客暑期多校训练营(第八场)G Game SET 题解: 比赛的时候算错复杂度了,以为可以过就交了,结果居然还过了。。。 #include <bits/stdc++.h> #define inf 0x3f3f3f3f #define debug(x) cout<<"debug:"<<#x<<
阅读全文
摘要:2020牛客暑期多校训练营(第八场)I Interesting Computer Game 题解: 用并查集写即可。 #include <bits/stdc++.h> #define debug(x) cout<<"debug:"<<" "<<#x<<"="<<x<<endl; using name
阅读全文