随笔分类 - 题解
题解
摘要:首先很明显剑的选择是唯一的,直接用multiset即可。 接下来可以发现每条龙都是一个模线性方程。设攻击第i条龙的剑的攻击力为$s_i$,则$s_ix\equiv a_i\ (mod\ p_i)$。 现在需要将方程化成$x\equiv c_i\ (mod\ m_i)$的形式,从而使用exCRT解决。
阅读全文
摘要:解法一: 1.首先想到离线做法:将边和询问从大到小排序,并查集维护连通块以及每个连通块中所有点到1号点的最短距离。$O(n\log n)$ 配合暴力等可以拿到75分。 2.很容易想到在线做法,使用可持久化并查集,询问时二分即可。 不能使用路径压缩,应该按秩合并,注意秩是树的深度而不是大小。$O((E
阅读全文
摘要:算法介绍网上有很多,不解释了。 给出三点坐标求圆心方法:https://blog.csdn.net/liyuanbhu/article/details/52891868 记得先random_shuffle()一下。
阅读全文
摘要:题意:在某块平面土地上有N个点,你可以选择其中的任意四个点,将这片土地围起来,当然,你希望这四个点围成。 的多边形面积最大。n<=2000。 先求凸包,再枚举对角线,随着对角线的斜率上升,另外两个点的在凸包上的位置也是单调的。 水平扫描法:先将所有点按x排序,然后从左往右边扫边求出上凸壳,然后从右往
阅读全文
摘要:题意:给你一张n个点的DAG,最大化选择的点数,是点之间两两不可达。 要从Dilworth定理说起。 Dilworth定理是定义在偏序集上的,也可以从图论的角度解释。偏序集中两个元素能比较大小,则在图中连一条有向边。 定义反链为一个点集,满足集合中的点两两不可达。 Dilworth定理:最小路径覆盖
阅读全文
摘要:https://www.cnblogs.com/zhoushuyu/p/8672807.html
阅读全文
摘要:(1) 对每个位置建一个点F1,S向这个点连art[i][j]的边,这个点向T连science[i][j]的边。 (2) 对每个位置再建一个点F2,S向这个点连same_art[i][j]的边,这个点向F1的相邻的五个点连inf的边。 (3) 对每个位置再建一个点F3,这个点向T连same_scie
阅读全文
摘要:题意:树上单点修改,询问链上k大值。 思路: 1.DFS序+树状数组套主席树 首先按照套路,关于k大值的问题,肯定要上主席树,每个点维护一棵权值线段树记录它到根的信息。 关于询问,就是Que(u)+Que(v)-Que(LCA(u,v))-Que(father(LCA(u,v))),线段树上二分查询
阅读全文
摘要:https://arc100.contest.atcoder.jp/tasks/arc100_c 一个很自然的想法是,对于每个K求出i or j=k的所有a[i]+a[j]的最大值ans[k],答案就是ans[]的前缀最大值。 但问题是很难快速找到所有i or j=k的a[i]+a[j]最大值,考虑
阅读全文
摘要:题意就是求一个n个点的堆的合法形态数。 显然,给定堆中所有数的集合,则这个堆的根是确定的,而由于堆是完全二叉树,所以每个点左右子树的大小也是确定的。 设以i为根的堆的形态数为F(i),所以F(i)+=F(sz[2*i])*F(sz[2*i+1])*C(sz[i]-1,sz[2*i])。直接DP即可。
阅读全文
摘要:https://blog.sengxian.com/solutions/bzoj-1016 先总结一下MST的性质吧: 1.(圈性质)考虑一条非树边和一些树边构成的环,环上所有树边的权值一定不大于这条非树边。 2.(割性质)考虑图的一个割,这个割中的最小边一定被选入了MST。 3.考虑同一张图的两个
阅读全文
摘要:感觉自己还是很不擅长结论题啊。 先随便选一个树根,定义每一块中深度最小的点为这一块的根。 (可以发现选定了块的大小k后分块的方案就唯一确定了) 有一个显然的结论,一个点x能成为块根,仅当它的子树大小是k的倍数,即k|size[x]。 当且仅当满足此条件的点数有n/k个,k才对应一个合法方案。 先DF
阅读全文
摘要:数位DP学傻了,怎么写最后都写不下去了。 这题严格上来说应该不属于数位DP?只是普通DP加上一些统计上的判断吧。 首先复杂度只与数的位数$\omega$有关,所以怎么挥霍都不会超。 f[i][j][k]表示所有i位数(可以有前导零),第一位数为j,数字k出现的次数。直接$O(\omega^4)$转移
阅读全文
摘要:Day 1 T1:向量内积 直接暴力有60。发现将n个向量合成$n\times d$的矩阵$A$,然后求$A\times A^T$,得到的矩阵包含了所有的答案。 先考虑$k=2$,将答案矩阵和全1矩阵比较,为0的地方就是答案。 回忆一个十分经典的问题:判断$A\times B$是否与$C$相等。 先
阅读全文
摘要:关于解法这个讲的很清楚了,主要用了设关键点的巧妙思想。 主要想说的是一个刚学的方法:通过后缀自动机建立后缀树,再转成后缀数组。 后缀数组功能强大,但是最令人头疼的地方是模板太难背容易写错。用这个方法,只需要用上SAM的模板即可。 https://blog.csdn.net/lvzelong2014/
阅读全文
摘要:Miller-Rabin素性测试算法: 根据费马小定理当p为素数时成立,所以如果存在一个a使x不满足此定理,则x必然不为素数。 但这是充分条件而不是必要条件,所以对于每个a,可能存在满足定理的x,这时就要选取多个a同时检测,这种验证素性的方法即为Miller-Rabin算法。 当a取2,3,5,7时
阅读全文
摘要:题意:n个点的图,点i和[l[i],i)的所有点连双向边。每次询问(l,r,x)表示x到[l,r]的所有点的最短路径长度和。 首先这题显然可以线段树优化建图,但是需要比较好的常数才能通过45分,还需要发掘性质。 先不考虑往右走的情况,对于一个点x,每个点i与x的最短距离一定形成一个个连续区间,即:设
阅读全文
摘要:给定一个01?串,对所有len询问是否存在一种填法使存在长度为len的border。 首先有个套路的性质:对于一个长度为len的border,这个字符串一定有长度为n-len的循环节(最后可以不完整)。 逆推得到,如果有一个0位置和一个1位置之差为len,则所有len的因数k的n-k都不可能成为bo
阅读全文
摘要:题意:求一个序列随机打乱后最大前缀和的期望。 考场上发现不管怎么设状态都写不出来,实际上只要稍微转换一下就好了。 一个前缀[1..k]是最大前缀,当且仅当前面的所有后缀[k-1,k],[k-2,k],...,[1,k]都大于0,后面的所有前缀[k+1,k+2],[k+1,k+3],...,[k+1,
阅读全文
摘要:题意:给你n个圆,每次选择半径最大的,将它和与它相交的圆全部删去,输出每个圆是在哪次被删的。 KD树模板题。用一个矩形框住这个圆,就可以直接剪枝了。为了防止被卡可以将点旋转一个角度,为了保险还可以多转几个角度。
阅读全文

浙公网安备 33010602011771号