多校
多校
xiongyuqing
看见我请叫我学英语
展开
-
Distinct Sub-palindromes
Distinct Sub-palindromes 题意: (比赛时我连题意都看不懂…) 使用26个小写的英文字母,构造长度为n的字符串s。字符串s的 本质不同的回文子串的个数最少,求字符串s种类的数量。 思路: 用 x, y , z代表26个英文字母变量 1、当n = 1时:长度为1的字符串s只能有一个字母假设为 x ,然而x有26种取法,所以s的数量为26 2、当n = 2时:长度为2的字符串s类型可以是 xx, xy,它们本质不同的回文子串都只有两种,xx类型的回文子串为x,xx。xy类型的回文子串为x原创 2020-07-21 21:53:30 · 534 阅读 · 0 评论 -
2020牛客多校第二场C题Cover the Tree
Cover the Tree 题意: 找出可以覆盖树上所有边的最小链数,以及每条链的开始和结尾节点编号。 思路: 很明显头尾节点选取叶子节点覆盖的边数最多,假设叶子节点有n个,因为要覆盖所有连着叶子节点的边。所以,链数最少为 ⌈n2⌉⌈ \cfrac{n}{2}⌉⌈2n⌉,难点在于如何构造链,即选取哪两个叶子节点作为头尾节点。出题人给出了方法和证明: #include <iostream> #include <cstdio> #include <map> #inclu原创 2020-07-14 23:42:59 · 376 阅读 · 0 评论 -
2020牛客多校第二场B题Boundary
Boundary 题意: 2D平面上n个点,求这些点落在经过原点(0,0)的圆上的最大数量 思路: 有很多解法。 (1) 比赛时根据圆的标准式 (x−a)2+(y−b)2=r2(x-a)^{2}+(y-b)^{2}=r^2(x−a)2+(y−b)2=r2 又因为圆过原点 (0,0)(0,0)(0,0) ,所以 r2=a2+b2r^2=a^2+b^2r2=a2+b2 结合两个式子进行化简可得:x2+y2=2ax+2byx^2+y^2=2ax+2byx2+y2=2ax+2by 选取两个点 (x1,y1),(x2原创 2020-07-14 21:58:03 · 227 阅读 · 0 评论 -
2020牛客多校第二场F题Fake Maxpooling
Fake Maxpooling 题意: 一个n×m的矩阵,矩阵元素的值为行数和列数的最小公倍数(least common multiple,LCM),求所有k×k的子矩阵里最大值的和。 思路: (正解为单调队列) 找到子矩阵里行列数互质且乘积最大的那个数。k×k的循环找到这个数肯定会超时的。从正确代码里看到一个机智做法:从子矩阵里最大的那个点也就是右下角开始dfs向上向左搜索,遇到gcd(a,b)==1就return a*b,然后取最大的再返回,这样比一行一列的k×k循环要快很多,因为最大的元素肯定更靠近右原创 2020-07-14 14:33:29 · 253 阅读 · 0 评论