09 2021 档案
摘要:看到 的范围只有 ,可以往搜索和状压方向想 因为搜索出现频率太低,先考虑状压 显然应该将 的意义设为状压集合 所以设 以及 所表示的集合(这里 所表示的集合不太好解释,举个例子,如 在二进制表示下为 ,
阅读全文
摘要:事实上,做这题肯定要先打表的 对第一问,打表后不难发现除了 的奇数无解,偶数很显然存在一种构造情况 对第二问,打表后其实看不出来什么规律,但是对于这种带模数的题目,可以将前缀积都% ,这样规律就出来了 这个规律出来了之后其实也不太好构造,可以看看其他题解如何构造的 主要是领会这种打表的思
阅读全文
摘要:容易知道,速度慢的应该不会对速度快的套圈(显然) 考虑对每一个速度慢的熊进行处理,他被多少个快的熊套圈 设两只熊的速度分别为 , ( < ),所有熊中速度最大的为 那么每被套一次圈时间是$\lfloor \frac{A}{v_{2}-
阅读全文
摘要:他的 其实指的是 与其所在连通块的代表结点的“相对”染色 1. :若其代表结点染色为 ,则其也为 ;若为 ,则其也为 2. :若其代表结点染色为 ,则其为 ;若为 ,则其为 显然他这种做法是正确的,但可以用另一种方
阅读全文
摘要:假设当前枚举到了 假设我们考虑所有边,在 枚举完后,所有 ~ 边从小到大排序,执行克鲁斯卡尔 在加入了 这条边后,会插进一个位置保持单调性。 在这个新的边的数组上执行克鲁斯卡尔,很明显原来没被选的肯定不会被选 所以我们可以执行删边操作,是正确的
阅读全文
摘要:显然是DP 将 的 相同的分成一类 设 表示 的指数为 时,前面的系数为 (即总的重量为 )时的最大价值 设当前DP到的这个物品的系数为 ,有$f[i][j]=max(f[i][j],f[i][j-k]+val)
阅读全文
摘要:注意,在调查前应该有一个定下来的顺序,就是不管这张图是哪一种都按这个顺序进行调查 由题意,这 个人当中一定有一个人是杀手 那么就相当于有 张图,其中每张图都有且仅有一个黑点(剩余都是白点),且这些图的黑点都不同(黑点就是杀手) 首先我们肯定要保证知道杀手,所以一定只会询问入度为 的强连通
阅读全文
摘要:来看状态转移方程,为 第一种策略:第一步就将 及其前面颜色连续的一段与后面 个消除(颜色一样的肯定要一起消除,下文同理) 如果第一种策略并不是最优的,那么 及其前面颜色连续的一段与后面 个一定会与前面一段颜色相同的点一起消除(因为 及其前面颜色连续的一段与
阅读全文
摘要:容易知道这是一道图论。设 能看到 ,那么就连一条 有向边。 定义: 为面具种类数,即答案 对于一个基图联通的图(基图:将图中有向边变为无向边的新图),不妨从任意一个点开始遍历,给这个数任意一个实数点权 ,那么这个点的面具种类为 % + %
阅读全文
摘要:solution说的环,其实是指的能倒着走的有向边。 比如说下图 7 7 1 2 2 3 4 3 4 5 5 6 6 7 7 1 假设最终的答案下, 号点的面具编号是 ,那么在忽略 这条边的情况下,显然 号点的编号应该是 (忽略取模)。 由于有了 这条边,就代表着
阅读全文
摘要:void getcircle(int x,int y) { while(x!=y) { circle[++tot]=x; x=st[--tp]; } circle[++tot]=y; } void dfs(int x,int lastedge) { mark[x]=1; if(!flag) st[+
阅读全文
摘要:考虑走了 步向左, 步向右。容易知道最后一步一定会到达 ,但是中间可能会提前到达 ,我们需要去重。 我们使用卡特兰数的折线法去重。 以下令向左走一次变为向右上走一次,向右走一次变为向右下走一次(注意这里定义的转换,下文会多次用到),最终会走到点 。如下图,是一
阅读全文
摘要:在克鲁斯卡尔排序过后,如果有边权相同的若干条边,可以将它们以任意顺序进行遍历。 因为任意两棵树可以通过加一条边同时删除一条边达到,即这两棵树的边数是相同的。 所以以任意顺序进行遍历,若最后无法形成一棵树,则任何一种遍历顺序都无法形成一棵树。
阅读全文
摘要:从第 行开始那个循环,至多执行 次,而里面的线性复制数组操作长度不会超过 ,所以这一部分总时间复杂度为 而每次的sort循环都只会排序一段新增的序列,每次的时间复杂度为 ,所以总的时间复杂度为 两者加
阅读全文
摘要:算法:树状数组+离线思想+倍增LCA 时间复杂度: (假设点数,边数与询问数相同) 第一问显然,为两者距离加 ,可以用LCA算出。(加 是因为算的是点的个数,而两者距离则是边的个数) 第二问,设当前有一个询问 ,当前时间为 ,考虑什么点才会对这个
阅读全文
摘要:题意:一个图边权为 或 ,求一个生成树使得边权和为 。 若原图不连通,则无解。 否则,将所有 边加入,此时图被分成了若干个连通块,这些连通块之间显然只能通过 边相连,容易知道,若两个连通块之间有若干条 边,则任选一条边即可,他们都是等价的。选出来的若干条边称之为“必须加入的$
阅读全文
摘要:题目连接(提交为模板) 不妨任意取一个 ,假设除了 ,其余的 能够组成的所有 集合为 。对集合中的每一个元素对 取模分成 类,显然当两个元素结果一样时,较大的那个元素可以有较小的那个元素加上若干个 表示出来。所以我们设 表示
阅读全文
摘要:设通过环形均分纸牌算出来的数组 , 表示第 个人给第 个人的纸牌个数(负数为接受纸牌) 对于这一特定的数组,不妨从 开始向 进行操作。假设第一次遇到了无法进行交换的情况,我们假设 ,此时我们先找出 和 一
阅读全文