位运算主要有以下几方式 位的提取(把每一位提取出来) 字符串匹配,感觉在位运算中使用字符串很好用 异或运算去重复,异或代替其他运算,总之异或很重要 一、常用的知识点 (1)位操作 | 与运算:与运算用来置位 & 并运算:并运算用来掩码,n&(-n)可以获得最低位的1 ~取反:用的很少 ^异或运算:异 ...
分类:
其他好文 时间:
2019-11-19 17:02:22
阅读次数:
109
1 经典的算法题目 1.1 字符串匹配问题 有一个字符串str1="哈哈哈 你好啊好啊 你好啊啊 你好啊好啊啊你好你好好",和一个子串str2="你好啊好啊啊". ①判断str1中是否是否包含str2,如果存在,就返回第一次出现的问题。如果没有,则返回-1. ②要求用最快的速度完成匹配。 思路1:暴 ...
分类:
编程语言 时间:
2019-11-17 17:31:53
阅读次数:
108
判断题 1.假设模式串是abababaab,则KMP模式匹配算法中的next[j] = 0 1 1 2 3 4 5 6 2。 T F 2.某二叉树的后序和中序遍历序列正好一样,则该二叉树中的任何结点一定都无左孩子。 T F 3.无向图中的一条边,在其邻接表存储结构中对应两个弧结点。 T F 4.在含 ...
分类:
编程语言 时间:
2019-11-16 23:49:02
阅读次数:
835
[TOC] CSP2019 J宝典 ——$Memory\_of\_winter$ 模板 博客 博客模板 "链接" ) 如平衡树,网络流,最短路,$\mathrm{LCT}$,$\mathrm{LCA}$,可并堆,$\mathrm{tarjan}$缩点,$\mathrm{ODT}$,$\mathrm{ ...
分类:
其他好文 时间:
2019-11-14 19:59:15
阅读次数:
137
一、KMP算法介绍 KMP算法与前面的MP算法一脉相承,都是充分利用先前匹配的过程中已经得到的结果来避免频繁回溯。回顾一下MP算法,如下图的模式串偏移,当前模式字符串P的左端的p0与目标字符串T中tj位置对齐。从左向右逐个进行比较,发现 pi 处的字符a 与 tj+1 处字符b发生失配。同时也表明 ...
分类:
编程语言 时间:
2019-11-12 00:41:43
阅读次数:
68
看样例就知道要干嘛了 http://codeforces.com/contest/1200/problem/E 每次我们用新的串和答案串匹配,答案串的匹配位置是max(0,(int)ans.size()-(int)s.size()),这样可以降低时间复杂度。答案串是S,新串是T。 #include< ...
分类:
其他好文 时间:
2019-11-10 17:24:05
阅读次数:
102
几年间整理了一些模板放在 gist 上。做个列表方便检索。 "头文件" 内含模算术、树状数组、并查集、树链剖分等类和常用的宏。 字符串 "KMP" "Manacher" "AC 自动机" 代数 "tourist 的模算术模板" "分数类" 数论 "中国剩余定理" 矩阵 "矩阵乘法类" "判断矩阵是否 ...
分类:
其他好文 时间:
2019-11-09 10:13:21
阅读次数:
152
1.虚拟专用网可以通过IPSec虚拟专用网原理与配置理解虚拟专用网2.IPsec虚拟专用网故障排查(×××)通过它可以了解管理连接所处的状态(debugcryptoisakmp)通过该命令是实际工作中最常用于诊断和排查管理连接出现问题的命令3.防火墙与路由器的区别IKE协商默认是否开启默认情况下,IKE协商在路由器中是开启的,而在ASA防火墙中是关闭的隧道组特性引入接口安
分类:
其他好文 时间:
2019-11-09 09:24:14
阅读次数:
382
前言 本篇博客的字符串下标是从1开始的。 引入 给出两个字符串$A,B$,询问$B$是否是$A$的子串。 对于以上问题,我们有一个比较暴力的想法,就是一位一位去配对呀。 给出代码: cpp int Check(){ for(int i=1;i+M 1 include include using na ...
分类:
编程语言 时间:
2019-11-08 21:12:18
阅读次数:
123
一、BF算法的基本思想 BF(Brute Force)算法是模式匹配中最简单、最直观的算法。该算法最基本的思想是从主串的第 start 个字符起和模式P(要检索的子串)的第1个字符比较,如果相等,则逐个比较后续字符;比较过程中一旦发现不相等的情况,则回溯到主串的第 start+1 个字符位置,重新和 ...
分类:
编程语言 时间:
2019-11-06 00:49:52
阅读次数:
93