![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字符串
文章平均质量分 56
heheda_is_an_OIer
这个作者很懒,什么都没留下…
展开
-
bzoj 1414 对称的正方形
用manacher写了一上午,愣是没有写出来,逼着自己学了字符串hash,水过。主要是维护4个方向的hash值,如果这是个合法的正方形,那么这个子矩形的4个hash值是相同的。我也明白了什么是自然溢出,就是开一个unsigned……,然后不用取模就行了#include#include#include#include#include#define md#define ll long long#def原创 2015-11-16 10:37:57 · 595 阅读 · 0 评论 -
bzoj 3790 神奇项链
这道题可以转化为用最少的回文子串覆盖这个字符串。比较神奇的是树状数组是可以维护后缀的信息的。具体方法是void modify(int x,int d){ for (;x;x-=x&(-x)) c[x]=min(c[x],d);}int query(int x){ if (x==0) return 0; int ans=inf; for (;x return ans;}简单的说就是把modify和q原创 2015-11-16 10:37:49 · 385 阅读 · 0 评论 -
bzoj 3916 friends | 字符串hash
很裸的hash,我开始读错题了,以为是加入位置不唯一,实质是s串不唯一#include#include#include#include#include#define md#define ull unsigned long long#define inf (int) 1e9#define eps 1e-8#define N 2000010using namespace std;ull mi[N],f原创 2015-11-16 10:38:42 · 617 阅读 · 0 评论 -
bzoj 3620 似乎在梦中见过的样子
和动物园一样,维护两个指针,一个是失配的位置,一个是合法的失配位置。n^2灵异的过了。我wa了好久竟然是把next开成了char#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define N 15010using namespac原创 2015-11-16 10:38:45 · 488 阅读 · 0 评论 -
bzoj 2084 反对称子串
回文串长度必须是偶数的manacher改一下匹配条件#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define N 500010using namespace std;int n; int p[N],a[N];char st[N]原创 2015-11-16 10:37:52 · 430 阅读 · 0 评论 -
bzoj 1398 项链 【最小表示法】
盗CA爷的题,学习了最小表示法,最后发现CA爷不是写的这个算法。但不管了。最小表示法大致是维护两个指针ij且i!=j 把它们向后扫,直到st[i+k]!=st[j+k] 然后将st较大的那个指针移到x+k+1,如果两个指针相等,任取一个加一。 注意是一个循环字符串,在k=l时退出。因为vijos上没有JUDGE_ONLINE 这个宏,wa了半天。#include#include原创 2015-11-20 23:10:45 · 1026 阅读 · 0 评论 -
bzoj 1567 JSOI2008]Blue Mary的战役地图【二维字符串哈希】【水题】
二分后判定有无两个相同的子正方形,复习了一下二维字符串哈希。#include#include#include#include#include#define ull unsigned long long#define inf 1e9#define eps 1e-10#define md#define N 55#define H 100010 using namespace原创 2015-11-28 22:13:42 · 436 阅读 · 0 评论