ACM&字符串
字符串
0iq2333
欢迎访问我的个人主页:0iq2333.github.io
展开
-
The xor-longest Path(位运算 + 树形DP + 字典树)
The xor-longest Path 一、题意 给你一棵n个节点的树,树的边都有权值,从树中选取两个节点x,y,使得从x到y的路径上边的权值的异或最大。 二、题解 异或存在一个性质,1^1 = 0,所以从x到y的异或 = 从x到根的异或 ^ 从y到根的异或。 我们先dfs求一下每个节点到根的异或。 再用创建逆序字典树,求解最大的异或即可。 三、Accode /* * @Author: NEFU_马家沟老三 * @LastEditTime: 2020-09-12 13:59:36 * @CSDN原创 2020-09-12 14:00:40 · 109 阅读 · 0 评论 -
Palindrome(字符串Hash + 二分)
Palindrome 一、题意 给你个字符串,输出回文字符子串的最大长度。 二、思路(非马拉车) 用Hash字符串在O(1)时间内匹配,预处理正序,逆序的Hash数值。 我们枚举字符串的中点P:半径为R,当为奇数,HashRight[P−RHashRight[ P - RHashRight[P−R ~ P−1]==HashLift[N−(P+R)+1P - 1]==HashLift[N - (P + R) + 1P−1]==HashLift[N−(P+R)+1 ~ N−(P+1)+1]N - (P +原创 2020-09-09 10:54:27 · 184 阅读 · 0 评论 -
KMP字符串匹配算法
洛谷 P3375 【模板】KMP字符串匹配 #include <bits/stdc++.h> #define MAXN 1000010 using namespace std; int kmp[MAXN]; //记录不符合之后跳转到第几位 int la, lb, j; //j就相当于匹配到了第几位 char a[MAXN], b[MAXN]; int main() { cin ...原创 2020-01-21 14:47:34 · 141 阅读 · 0 评论