上一页 1 ··· 3 4 5 6 7
摘要: 利用线性基的合并,(直接暴力合并,复杂度62^2),当树上路径和来做。。。(然后跑的巨慢,但是可以优化哈哈) cpp include using namespace std; const int N=2e4+7; struct XianXingJi { long long base[64]; inl 阅读全文
posted @ 2018-12-26 21:18 nosta 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 二分答案+最大流。 对答案建图,若长度≤答案,连边即可。(先要预处理点对间的最短路) 当然得拆点,(否则,就此题而言,就会出现流量x y不走x y的最短路边的情况,而是走了一条路径 ,答案约束的仅仅是路径上的边长的最大值,而非总和) 流量:S 某点入点 某点出点 T 另外,由于此题卡实现,考虑二分边 阅读全文
posted @ 2018-12-26 11:35 nosta 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 显然,最终的平均值不变。 这样,我们设f[w,a,b,c,d]为在矩形[a~c,b~d]中割了w刀的根号内分子和。 那么,状态转移有f[w,a,b,c,d] = min f[p,a,b,k,d]+f[w p 1,k+1,b,c,d] f[p,a,b,c,k]+f[w p 1,a,k+1,c,d] 初 阅读全文
posted @ 2018-12-26 10:09 nosta 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 回顾一下错排公式 错排问题: 设n位错排数为D[n]。考虑元素1的位置,设置为k(有n 1中 );在考虑元素k的位置, 若为1,则转换为n 2位的错排;否则,视元素k为元素1(不能放在位置1),转换为n 1位的错排。 故 D[n]=(n 1)(D[n 1]+D[n 2]) D[1]=0 D[2]=1 阅读全文
posted @ 2018-12-26 08:57 nosta 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 将回到1的过程反向。拆点,除点1、n点内容量为2以外,其余点的容量为1。点内的费用都为 1。其余建图就很明显了(容量正无穷,费用0)。这样,跑mfmc即可。答案为 cost 2(1、n被算了两次)。 输出答案,分两次搜索就好了,第一次搜索,每到一个点,选择一个流满(反向边有流量)的边到下一个点,同时 阅读全文
posted @ 2018-12-25 20:44 nosta 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 此处有图: "传送门" !!~~不过图好像左右画反了。。emmm~~ 理解一下这样建图的效用:设在一个纵(竖)轴上割开的点高度是h(建图是已经当边处理了,所以多搞了一层点。。),那么最小割一定不会在这根纵轴的相邻轴出再割掉一个高度小于h d的边。这就保证了题目中"对于所有的 1≤x,x’≤P 和 1 阅读全文
posted @ 2018-12-25 16:23 nosta 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 暴力做法: 将字符串建成Trie图。设字符串x的标记节点是idStr[x],那么对于询问(x,y),它的答案是从idStr[y]到根的路径上能够通过fail指针条到idStr[x]的节点个数。 优化: 将fail指针反向建立一颗fail树,那么询问(x,y)的答案为统计fail树中isStr[x]的 阅读全文
posted @ 2018-12-25 12:56 nosta 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 给定有向无环图G(V,E),以及定位时间A[N],要求定位到某个星体再经过每个点恰好一次的最少时间。 带权最小不相交路径覆盖 与最小不相交路径覆盖相似[^1]。 初态下总花费sum a[i] 现设想从 x走到y,那么总花费的变化量为 v(x,y) a[y]. 进一步可发现,每连接一条x到y的边,总费 阅读全文
posted @ 2018-12-24 13:57 nosta 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 使用并查集判断无解。 令月球是n+1,地球是0 枚举时长t,将点(地球、月球以及太空站)i拆为t个点(i,j)表示第j时刻的点i。 对于太空船云云建图,容量是h[i]。 源点S和(0,0)连边,容量k。 (n+1, )和汇点连边,容量k。 跑最大流,判断其是否≥k。 每一次答案可以考虑利用残余网络, 阅读全文
posted @ 2018-12-24 11:51 nosta 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 给出的图中恰包含2个团,则图的补图为一个二分图,其最大独立集为原图的最大团。 我们知道,二分图的最大独立集=V 最小顶点覆盖,最小顶点覆盖=最大匹配。 问题转化为:计算删去后最大匹配减小的边集。 所以建图跑最大流,对残余网络中的每一条满流边讨论。 这需要用到tarjan:若该满流边的端点同属一个强连 阅读全文
posted @ 2018-12-24 10:24 nosta 阅读(336) 评论(0) 推荐(0) 编辑
摘要: Description 给定一个1~n的排列x,每次你可以将x1~xi翻转。你需要求出将序列变为升序的最小操作次数。有多组数据。 Input 第一行一个整数t表示数据组数。 每组数据第一行一个整数n,第二行n个整数x1~xn。 Output 每组数据输出一行一个整数表示答案。 Sample Inpu 阅读全文
posted @ 2018-10-12 20:16 nosta 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 后缀数组 ​ 本文总结了后缀数组(Suffix Array,SA)的倍增算法以及如何在O(n)预处理、O(1)查询的时间复杂度内求得任意两个后缀的最长公共前缀(Longest Common Prefix,LCP)。 1 基本定义 1. 后缀i (suffix[i]):从下标i起始的后缀。(特别地,认 阅读全文
posted @ 2018-08-14 14:03 nosta 阅读(1015) 评论(0) 推荐(0) 编辑
摘要: 本文的部分latex垮掉了。我也不知道为什么~~(有毒)~~,建议将代码拷贝至本地md编编辑器阅读。 数论(整除)分块 整除分块:设函数$f(x)=\lfloor\frac{N}{x}\rfloor, x\in N^+$,期望在根号时间内求得$\sum_{x} f(x)$的值。 【定理1】$f(x) 阅读全文
posted @ 2018-08-08 18:36 nosta 阅读(1012) 评论(2) 推荐(0) 编辑
摘要: 简单群论[^1][^2] 群 定义 群 $G$是一个定义在二元组$(S,\cdot)$的代数结构。其中$S$是一个集合,$·$是一个二元运算符。 $G$所含元素的个数称为群$G$的阶,记为$|G|$。一般的,称阶为$+\infty$的群为无限群,否则称为有限群(定义同样适用于集合)。 在群$G$中, 阅读全文
posted @ 2018-08-08 18:33 nosta 阅读(3136) 评论(1) 推荐(5) 编辑
摘要: 对给定序列$\{a_{0,1,2,\cdots}\}$ 构造一个函数$F(x)=\sum_{i=0,1,2,\cdots}a_if_i(x)$,称$F(x)$为序列$\{a_{0,1,2,\cdots}\}$的生成函数。其中,序列$\{f_{0,1,2,\cdots}(x)\}​$只作为标志用,称为 阅读全文
posted @ 2018-08-07 19:25 nosta 阅读(1087) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7