多校
多校
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的数量为262、当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 · 374 阅读 · 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 评论