上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页
摘要: 扯 去北京学习的时候才系统的学习了一下卷积,当时整理了这个笔记的大部分。后来就一直放着忘了写完。直到今天都腊月二十八了,才想起来还有个FFT的笔记没整完呢。整理完这个我就假装今年的任务全都over了吧。 更改了一些以前不大正确的地方,又添加了一些推导,证明实在不会。 有一些公式,但个人觉得还是比较好 阅读全文
posted @ 2019-02-02 08:27 wxyww 阅读(612) 评论(0) 推荐(2) 编辑
摘要: 题目链接 题意 给出$n$个字符串,要构造一个长度为$m$的字符串$S$,使得给出的$n$个字符串中至少有一个是$S$的子串。问方案数。 思路 $AC$自动机+$DP$ 考虑至少有一个是S的子串不好考虑。考虑用全部情况减去其中不包含任何一个字符串的情况。 全部情况就是$26^m$,然后考虑怎么求出不 阅读全文
posted @ 2019-02-01 20:18 wxyww 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 可以发现,其实题目中所描述的操作,就是在$AC$自动机上走的过程。输出就是打上标记。删除就是返回父亲节点。 然后看询问。每次询问字符串$x$在字符串中$y$出现的次数。其实也就是问在$AC$自动机上的$y$这个字符串上,有多少位置的$fail$指针指向$x$的结尾。 所以想到将$fa 阅读全文
posted @ 2019-02-01 16:34 wxyww 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意 给出一个$n$个字符串的字典。对于一个字符串,他的贡献是这个字符串中最多的在字典中出现的不重叠子串的数量。 然后问一个长度为$len$的,字符集为前$alphabet$个字符的字符串的贡献期望是多少。 思路 首先想如果这个长度为$len$的字符串已经给出了。应该怎么算贡献。 只要贪心 阅读全文
posted @ 2019-01-31 10:50 wxyww 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 观察题目中的式子,可以发现前两项是定值。所以只需要求出最后一项就行了。 然后题目就转化为了求字符串中所有后缀的$lcp$长度之和。 可以想到用后缀数组。在后缀数组上两个后缀的$lcp$长度表现为两个后缀排名之间的$height$的最小值。 所以现在问题就又转化为了在$height$数 阅读全文
posted @ 2019-01-30 21:15 wxyww 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意 其实转化之后的题意就是求出树上有多少条路径长度是3的倍数。求答案的时候只要将这个数字除以总路径数量就行了。 思路 考虑点分治。对于当前子树,分别求出出树中每个点到根的路径长度对$3$取余后为$0,1,2$的个数。然后就可以通过$0 0,1 2$组合的方式,统计出答案。 然后删除当前点 阅读全文
posted @ 2019-01-30 12:15 wxyww 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 思想 点分治的思想其实就是在树上进行分治。从而降低复杂度。 每次找到一个点,对其进行处理,然后删除这个点,对剩下的子树进行递归处理。 因为重心的每个儿子的大小不超过$\frac{n}{2}$,所以如果这个点是重心的话,就可保证递归层数最多为log层。 实现 在弄懂点分治思想的情况下,点分治的代码还是 阅读全文
posted @ 2019-01-30 10:01 wxyww 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 我们换一种求$dep[lca(i,j)]$的方法。 将从根到$i$的路径上所有点的权值加$1$,然后求从根节点到j路径上点的权值和。就是$i$和$j$的$lca$的深度。 以此类推,对于求$\sum\limits_{i=l}^rdep[lca(i,z)]$,我们可以对于从l到r中的每 阅读全文
posted @ 2019-01-29 16:25 wxyww 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 定义 树的直径就是指树上的最长路径。一棵树可能有多个直径,并且这些直径一定两两相交。 性质 性质1 从树上的任何一个点为起点,所找到的最长路径的的终点一定是直径的一个端点。 证明: 考虑反证法。 ①假设直径与最长路径没有交集 用$dist(x,y)$表示从$x$到$y$的距离。$dist(S1,T1 阅读全文
posted @ 2019-01-29 14:21 wxyww 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 定义 树的重心是指树上的某个节点,满足删除当前点之后,生成的树的大小的最大值最小。 性质 性质1 以树的重心为根,那么根节点的每棵子树的大小都小于等于$\frac{n}{2}$。 性质2 每棵子树的大小都小于等于$\frac{n}{2}$的点一定是这棵树的重心。即性质$1$的逆命题。 性质3 树中所 阅读全文
posted @ 2019-01-29 10:34 wxyww 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意 给出一个长度字符串$T$,其中只包含四种字符$(A,C,G,T)$,需要找一个字符串$S$,使得$S$的长度为$m$,问$S$和$T$的$lcs$为$0,1,2...|T|$时,分别有多少种情况。 $|T| include include include include includ 阅读全文
posted @ 2019-01-24 12:49 wxyww 阅读(144) 评论(0) 推荐(1) 编辑
摘要: 题目链接 思路 乍一看这是一个01背包的裸题。但是数据范围$10^5$是无法承受的。 但是发现$p_i$和$w_i$只有10,也就是说最多只有100种物品。所以可以对他们进行分组。然后用二进制优化多重背包来做。 二进制优化多重背包 多重背包是指限定物品数量的一种背包问题。 多重背包可以转化为01背包 阅读全文
posted @ 2019-01-24 12:48 wxyww 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题面 思路 可以发现其实就是询问一个最长的区间,使得这个区间的平均数大于等于k。所以将区间内所有数字减去k,然后做一遍前缀和。只要是前缀和之差大于等于0的区间。就是满足条件的。 所以现在问题就成了对于前缀和上的每个数字,找到一个最靠前的比他小的数字。 这个可以用单调栈。可以发现如果后面的数 阅读全文
posted @ 2019-01-24 12:46 wxyww 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题面 思路 先考虑$n \leq 100$的做法。 区间dp。 状态。用$f[l][r]$表示知道l到r内$x$的位置最少需要的时间 转移。枚举一个$l \leq k \leq r$。那么现在我们要在k处挖油了,然后我们根据k处有没有油再去确定下次是挖$[k + 1,r]$还是$[l,k 阅读全文
posted @ 2019-01-24 12:44 wxyww 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 看到n比较小,可以状压。 可以先考虑什么情况下会无法平衡。显然就是排完序之后两两相邻的不能满足小于等于c的限制。 状态。用f[i]来表示i集合中的鹿完成交换所需要的次数。 预处理。无法平衡的肯定就是INF。已经平衡的是0。其他的先暂设为k 1(k是i集合中鹿的个数)。 然后转移。每个 阅读全文
posted @ 2019-01-24 12:42 wxyww 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意 有n个房间,每个房间里面有若干把钥匙,每把钥匙可以打开对应的一扇门。如果手中没有钥匙,就要随机轰炸一个房间来打开这个房间。如果有钥匙,就要去打开这些房间。问期望轰炸次数是多少。 思路 根据期望的线性性质,总期望轰炸次数就是每个房间被轰炸的概率$\times$ 1。 所以就考虑每个房间 阅读全文
posted @ 2019-01-23 16:16 wxyww 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 floyd求一下传递闭包,然后统计每个点可以到达的点数。 会tle,用bitset优化一下。将floyd的最后一层枚举变成bitset。 代码 cmake= / @Author: wxyww @Date: 2019 01 23 15:08:40 @Last Modified time 阅读全文
posted @ 2019-01-23 15:30 wxyww 阅读(313) 评论(0) 推荐(2) 编辑
摘要: 听attack学长讲完课,整理一波 基本运算 按位或 $1|1 = 1,1 | 0 = 1,0|0 = 0$ 按位与 $1\&1=1 ,1 \& 0 = 0,0 \& 0 = 0$ 异或 $1 \bigoplus 1 = 0,1\bigoplus 0 = 1,0 \bigoplus 0 = 0$ 异 阅读全文
posted @ 2019-01-23 14:50 wxyww 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 题目链接 圆方树 圆方树就是对于联通无向图中的每一个点双新建一个方点,与点双中的每个点连一条边,然后将原来的边删去。将原来的点看作圆点,新建的点看作方点。所以叫做圆方树。 性质 1.圆方树肯定是棵树(~~废话~~)。证明显然。 2.圆方树中与圆点相连的点肯定是方点。与方点相连的点肯定是圆点。 算法 阅读全文
posted @ 2019-01-22 21:13 wxyww 阅读(245) 评论(0) 推荐(1) 编辑
摘要: 题目链接 Boruvka生成树算法 $Boruvka$算法就是先把每个点看作一个联通块,然后不断在联通块之间找最优的边进行合并。因为每次联通块的数量最少缩小一半。所以合并次数是$log$的 先把所有的点权挂到$trie$树上。然后对于每个联通块进行合并的时候。对于联通块中的每个点都去$trie$上搜 阅读全文
posted @ 2019-01-21 17:18 wxyww 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 因为烟花1.0版本被mjt挂到了他的博客里。 这是用一晚上弄的烟花2.1版本 滑动以控制烟花。。 点击月亮切换场景 来这里全屏体验 阅读全文
posted @ 2019-01-01 19:26 wxyww 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 定义——来自百度百科 子串 一个字符串中连续的一段成为这个字符串的子串。 后缀 后缀是指从某个位置 i 开始到整个串末尾结束的一个特殊子串。字符串 r 的从 第 i 个字符开始的后缀表示为 Suffix(i) ,也就是Suffix(i)=r[i,len(r)] 。 子串的大小 大小比较:关于字符串的 阅读全文
posted @ 2018-12-20 08:14 wxyww 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 先求出后缀数组,并且求出LCP。二分一下长度len。check的时候就是看有没有连续的k个后缀的LCP大于len。也就是判断是不是有连续的k 1个height大于len。 代码 cpp include include using namespace std; typedef long 阅读全文
posted @ 2018-12-19 22:23 wxyww 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 首先肯定想到贪心,从队尾和队首取更小的那个。 但是如果遇到队尾和队首一样大的情况呢,总不能再挨个往前比较。所以就把整个字符串倒过来再挂到现在字符串的后面,也就是把当前字符串对称过去。然后求出后缀数组,给每个后缀都求个排名。然后每次取得时候取排名更小的就行了。 注意这个题的输出格式,每 阅读全文
posted @ 2018-12-19 22:18 wxyww 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 基础 暴力!! 啥叫莫队 莫队是前国家队队长莫涛想出的算法。用于处理一些可离线的区间问题。可以将本来是$n^2$的复杂度优化成n 根号级别。是基于分块的。 普通莫队 这类莫队用来处理一类可离线,无修改的区间问题,也是最基础的莫队。 先来看这样一道题: 给出一个长度为n的序列,然后有m次询问,每次询问 阅读全文
posted @ 2018-12-17 21:58 wxyww 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意 一天做到两道这种题目描述如此神仙的题也是够了。真锻炼语文能力。 题目的意思其实就是,给你一个序列,然后每次询问一个区间。使得尽量按照严格上升的顺序从这个区间内取数。如果当前取得数字小于等于前面的其中一个,就让rp ,然后重新开始记录。问rp最多可以是多少。 思路 思考一下可以发现,其 阅读全文
posted @ 2018-12-17 21:24 wxyww 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意 读完题目就一个感受:这出题人tm不会说人话吗。真的感觉这个题理解题意比想出正解更难。 其实题目的意思就是,给出一些单词,给这些单词编个号,然后要求其他的单词中是这个单词后缀的词都在这个词的前面。每个单词的贡献是当前单词的标号减去他的后缀中标号最大的那个的标号。 希望我能表达明白吧23 阅读全文
posted @ 2018-12-17 17:21 wxyww 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 这道题我用的是AC自动机的做法。 先把子串挂到trie树上,在单词结尾打标记的时候,标记的是当前单词的长度。然后去上面查询母串的时候,每查询到一个单词,就建立一条线段,这条线段的结尾位置是母串当前的位置,开始位置就是用当前位置减去这个单词的长度。 然后只要去判断,选出一些线段,使得这 阅读全文
posted @ 2018-12-17 10:06 wxyww 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 用途 AC自动机适用于一类用多个子串在模板串中匹配的字符串问题。 也就是说先给出一个模板串,然后给出一些子串。要求有多少个子串在这个模板串中出现过。 KMP与trie树 其实AC自动机就是KMP与trie的结合版。或者说是在trie上进行的kmp算法。所以学会kmp和trie是学习AC自动机的基础。 阅读全文
posted @ 2018-12-16 21:55 wxyww 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 昨天考试分层图最短路用个dp暴力水了90分。今天只有10分。。。还是好好来学分层图吧。~~(实际是不想学数据结构2333)~~ 一类问题 分层图最短路得经典模板题就是这样 给出一个n个点m条边的无向图,每条边有边权,可以选择最多k条边,把他们的边权变为0。问从S到T的最短路是多少。 解法 一般这类问 阅读全文
posted @ 2018-12-15 17:31 wxyww 阅读(392) 评论(0) 推荐(1) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页