上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页
摘要: 差分约束系统 差分约束系统是求解关于一组变量的特殊不等式组的方法,系统由$n$个变量和$m$个不等式组成,其中每个不等式的形式为 \(x_i-x_j\leq b_k(i,j\in [1,n],k\in (1,m)\) 或者 \(x_i-x_j\geq b_k(i,j\in [1,n],k\in (1 阅读全文
posted @ 2020-08-23 00:36 fxq1304 阅读(74) 评论(0) 推荐(0) 编辑
摘要: hdu3308 LCIS 传送门 题意 给出一个$n(1\leq n\leq 100000)$个数的序列,进行$m(1\leq m\leq 100000)$次操作,每次操作修改一个数的值或者计算一段连续区间内最长递增子串的长度 题解 线段树区间合并 每个节点维护三个变量:区间内最长递增子串的长度,从 阅读全文
posted @ 2020-08-22 16:10 fxq1304 阅读(112) 评论(0) 推荐(0) 编辑
摘要: hdu5862 Counting Intersections 传送门 题意 有$n$条与$x$轴或者$y$轴平行的线段,计算交点的个数 $1\leq n\leq 100000$,端点坐标的绝对值不超过$1e9$ 题解 按照纵坐标从小到大扫描,竖线两个端点按照两个元素存储,横线由于只有一个纵坐标,按照 阅读全文
posted @ 2020-08-20 00:57 fxq1304 阅读(39) 评论(0) 推荐(0) 编辑
摘要: hdu3642 Get The Treasury 传送门 ###题意 有$n(1\leq n \leq 1000)\(个立方体,每个立方体的左下角坐标为\)(x_1,y_1,z_1)\(,右上角坐标为\)(x_2,y_2,z_2)$,其中$x$坐标和$y$坐标的绝对值不超过$1e6$,$z$坐标的绝 阅读全文
posted @ 2020-08-16 21:55 fxq1304 阅读(18) 评论(0) 推荐(0) 编辑
摘要: hdu4035 Maze 传送门 题意 给定一棵树,从$1$号节点出发,在每个节点$i$有三种可能: 1.以$k_i$的概率回到$1$号节点 2.以$e_i$的概率结束游戏 3.随机走向一个相邻的节点 判断是否可以结束游戏,计算结束时走过边数的期望 题解 设$p_i=1-k_i-e_i$,设从每个节 阅读全文
posted @ 2020-08-15 16:55 fxq1304 阅读(51) 评论(0) 推荐(0) 编辑
摘要: hdu3853 LOOPS 传送门 题意 有一个$r*c$的网格,在每一个格子处都有一定的概率停留,向右方格子移动和向下方格子移动,每次消耗2点力量值。计算从(1,1)到(r,c)需要消耗力量值的期望 题解 期望$dp$ $dp[i][j]$表示从(i,j)到(r,c)消耗力量值的期望 设在某个格子 阅读全文
posted @ 2020-08-14 21:29 fxq1304 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 计算两个字符串$s$和$t$的最长公共子串 由于在一个字符串中出现两次的最长子串一定在相邻两个后缀数组元素的最长公共前缀中取得,也就是高度数组的最大值,所以通过插入一个在两个字符串中不可能出现的字符,将两个字符串连接起来,计算后缀数组和高度数组。其中,分属于字符串$s$和$t$的后缀的高度数组元素的 阅读全文
posted @ 2020-08-14 00:17 fxq1304 阅读(95) 评论(0) 推荐(0) 编辑
摘要: hdu4370 0 or 1 传送门 ###题意 给出一个$nn(1<n\leq 300)$的矩阵$C$,构造一个$nn$的$01$矩阵$X$,满足条件: \(1. X_{12}+X_{13}+\cdots +X_{1n}=1\) \(2. X_{1n}+X_{2n}+\cdots +X_{n-1n 阅读全文
posted @ 2020-08-13 20:28 fxq1304 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 计算得到文本串$S$的后缀数组,给出模式串$P$,可以通过二分,在$O(|T|\log |S|)$的时间复杂度内判断模式串是否在文本串中出现过 bool contain(string text,string pattern){ int n=text.length(); int m=pattern.l 阅读全文
posted @ 2020-08-12 18:38 fxq1304 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 高度数组是由后缀数组中相邻两个后缀的最长公共前缀的长度组成的数组,可以通过尺取法在$O(n)$的时间复杂度内得到 const int maxn=200010; int lcp[maxn]; void construct_lcp(string S,int *sa,int *lcp){ int n=S. 阅读全文
posted @ 2020-08-11 17:51 fxq1304 阅读(80) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页