摘要:
Mercenaries 题意:给你n个元素,每一个元素都有一个下界和上界$[li,ri]\(,表示自己所在的集合大小必须在这个范围内。再给你m\)(m<=20)$个限制条件,每一个限制由两个元素编号组成,表示这两个元素不能同时出现在一个集合里。问有多少种组成合法集合的方式。 分析:首先考虑枚举集合的 阅读全文
摘要:
HDU 6608 题意:给以你一个质数,求小于它的最大质数的阶乘。 分析:Miller-Rabin快速判断素性,找到这个最大素数。此外,加上威尔逊定理推式子就好了。威尔逊定理描述的内容是对于一个正素数p: \((k-1)!modk$\)= k-1$ 有了这个定理,我们就可以很容易得到小于k最大素 阅读全文
摘要:
EOJ 7月月赛 给你一个字符串,你现在需要的是将它的每一个前缀看成单独的字符串,最终组成最大的一个整数。 分析,可以想到,两个前缀A,B组成的字符串,其大小由相对顺序决定,不妨设|A|<|B|。B=A+X,则最终的大小取决于A+X于X+A的字典序大小。这个直接通过SA就可以解决。最终通过排序来 阅读全文
摘要:
最大团问题 首先介绍一些基本概念: 1、什么是团?如果一个子图是一个无向图的完全子图,那么可以称为一个团。 2、什么是极大团?如果一个团不是任何一个团的子集,那么可以称做一个极大团。 3、如果一个极大团的大小是最大的,那么可以被称为一个最大团。 最大团有以下常见性质,这里不加证明的直接给出结论。 最 阅读全文
摘要:
树的重心与相关性质 重心的定义:当一个点是整颗树的重心时,以它为根的所有的子树尺寸都不超过整颗树一半。 寻找重心,一般是找最大子树尺寸最小的点。这个可以通过简单dfs得到。具体见下面的代码。 重心的相关性质: 1、所有点到这个点的距离和是最小的(默认边权为1)。 例题 代码: #include<bi 阅读全文
摘要:
2020年牛客算法入门课练习赛3 B 传送门 题意:给你一个区间[L,R]和长度为n一个数组$(n<=15)$,考虑这个区间里有多少个数能被8整除,并且无法被这个数组中任何一个数字整除。 分析:由于要考虑不能被一个数组中的任何一个元素进行整除,并且数组中的数字比较大。个人感觉写数位dp是没有前途的。 阅读全文
摘要:
牛客练习赛66 E 传送门 题意:给你一个排列,问有多少个区间满足第一个数字是次小值,最后一个值是次大值。 分析:考虑到次小值的约束,可行的右端点肯定是一个区间。即第一个小于它的值到第二个小于它的值(不包含)之间的所有位置。同理可以考虑次大值的约束。最终对于一个右端点来说,可行的左端点肯定也是一个区 阅读全文
摘要:
牛课周周练 12 B 传送门 题目大意:给一张n个点,m条边的无向图(n<=2e5,m<=2e5)。现在给一些关键点,找一下离这些关键点最近的一个关键点,并且输出距离。 分析:考虑到多源最短路$floyd$的复杂度的复杂度高达$O(n^3)$,肯定是不能跑这个算法的。从小到大考虑所有关键点到其他点的 阅读全文
摘要:
北京信息科技大学第11届程序设计基本技能比赛 太阳花田 题意:一个圆和一个长为x,高为y的矩形最大交集是多少? 题解:分类讨论,显然四种情况,不妨假设x是短边。第一种,圆被矩形完全包含,\(r<x/2\),答案是圆的面积。第二种,圆露出去了两边$r<y/2$,这里可以一个圆减去一个扇形,但是 阅读全文
摘要:
Pinch Pinch Pinch 传送门 题意:给你一个整数N,定义一次操作为将这个数字切割为一个等差数列,如果有多种方案,只能选择元素最多的方式。切割之后的数据仍然能继续切割,但是每次只能选择一个元素进行切割,问最多能进行多少次操作? 题解:简单dp,首先需要考虑对于一个数字而言,切割得最多的方 阅读全文