- 博客(9)
- 收藏
- 关注
原创 震惊! AC自动机竟然这么简单
震惊! AC自动机竟然这么简单 Leetcode1032 基础概念 建立trie树, 同时需要有fail指针, 还有是否结束节点的标记 什么是fail指针 从根节点到trie树上一个节点是一个字符串, 如果在此节点匹配失败, 需要找这个字符串的最长后缀, 能够被trie树接受, fail指针指向此时跳到的节点, 显然fail节点一定比当前节点高 结束节点的标记 如果fail节点是结...
2019-04-23 00:19:43
1882
原创 vim实用技巧(practical vim)阅读记录
practical vim practical vim significant vim way modes normal mode insert mode visual mode command line mode files multiple files file open & save getting around motions inside files jumps b...
2018-08-31 16:06:11
575
原创 树状数组-数列操作(nkoj1321)
树状数组-数列操作(nkoj1321) 树状数组-数列操作(nkoj1321) 题意分析 树状数组 lowbit: i & -i 操作 代码 坑点 题意分析 树状数组裸题 树状数组 lowbit: i & -i 由于-i用补码表示即各位取反+1,所以i & -i表示i的最后一个1代表的值,比如lowbit(8)=8,lowbit(1...
2018-05-07 14:35:47
216
原创 树状数组-赏花(nkoj2387)
树状数组-赏花(nkoj2387) 树状数组-赏花(nkoj2387) 题意分析 树状数组(带标记) 代码 PS 题意分析 询问[l,r]元素种类数 树状数组(带标记) 带标记的树状数组 提问可以离线处理最后输出(如果强制在线那又要怎么做?) 把颜色转化为0/1标记(记录下next和first/last,然后每个fisrt对应的值置1,l移动的时候就把l对应的...
2018-05-07 14:27:11
201
原创 树状数组-校门外有很多树(nkoj1317)
树状数组-校门外有很多树(nkoj1317) 树状数组-校门外有很多树(nkoj1317) 题意分析 将问题转化为前缀和求解 代码 题意分析 树状数组裸题 将问题转化为前缀和求解 本题需要巧妙???的转化来变成树状数组题 每次修改a,b]区间,查询[l,r]区间,那么只需算出有多少个[a,b]区间与[l,r]区间相交即可 即求符合 a≤r,l≤ba≤r,l≤b a...
2018-05-07 14:12:38
218
原创 DP-护卫队(nkoj1006)
DP-护卫队(nkoj1006) DP-护卫队(nkoj1006) 题意分析 DP 代码 坑点 题意分析 一个序列,有x和y两种属性,∑xi∑xi\sum x_i满足一定要求的情况(这里是∑xi≤X∑xi≤X\sum x_i \leq X)把序列分组,然后求关于y的极值(这里是Y=∑ymax∑ymax\sum y_{max}) DP 首先定义状态T[i]为前i辆车通过...
2018-05-07 01:40:09
211
原创 并查集-水晶球(nkoj2105)
并查集-水晶球(nkoj2105) 并查集-水晶球(nkoj2105) 题意分析 并查集与前缀和结合使用 代码 PS 题意分析 动态维护[l,r]区间的和 并查集与前缀和结合使用 利用带序号的并查集与前缀和 这里将i节点的到它的父亲fi这一区间的和记作dis[i],将x的前缀和记作SxSxS_x 有如下性质: Sx−Sy=pSx−Sy=pS_x - S_y ...
2018-05-03 17:12:01
210
原创 线段树-小白逛公园(nkoj1316)
线段树-小白逛公园(nkoj1316) 线段树-小白逛公园(nkoj1316) LeetCode53. 最大子序和 本题的差异 线段树复习预习 代码 这个题稍微难一点 题意分析:维护和查询最大区间子序和,区间大小N,维护和查询次数共M 先了解一下最大子序和:给一个序列,找最大的区间和 LeetCode53. 最大子序和 了解一下O(n)的做法 枚举序列元素,一个...
2018-05-03 16:01:47
171
原创 并查集-银河英雄传说(nkoj1206)
并查集-银河英雄传说(nkoj1206) 并查集-银河英雄传说(nkoj1206) 题意分析 并查集(带序号) 代码 题意分析 节点合并和查询是否在同一堆操作,同时维护节点间距,使用带序号的并查集 并查集(带序号) 首先了解并查集解决的问题:动态连通性问题,即把p和q所在的堆合并,看p和q在不在同一堆 首先让所有的点分属不同的组:father[i]=i 然后最n...
2018-04-24 17:38:19
221
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人