2018年11月4日

ural1989 单点更新+字符串hash

摘要: 正解是双哈希,不过一次哈希也能解决。。 然后某个数字就对应一个字符串,虽然有些不同串对应同一个数字,但是概率非常小,可以忽略不计。从左到右、从右到左进行两次hash,如果是回文串,那么对应的整数必定存在某种关系(可以理解成相等),对于更新操作,就是单点更新。 阅读全文

posted @ 2018-11-04 21:26 zsben 阅读(162) 评论(0) 推荐(0) 编辑

cf Queries on a String

摘要: #include<iostream> #include<cstring> #include<cstdio> using namespace std; #define maxn 200005 char s[maxn]; int nxt[maxn][27],ans[maxn],t[maxn]; int 阅读全文

posted @ 2018-11-04 17:57 zsben 阅读(174) 评论(0) 推荐(0) 编辑

hdu4605

摘要: 两颗线段树,分别维护向左走向右走的情况 线段树的结点维护区间有多少点被路径经过了 离线读入所有询问,dfs遍历树的每一个结点,访问到v时解决对v的所有查询,在dfs过程中只需要维护根节点到v的链,线段树查询链上有多少结点值大于或小于询问的x,即能求出到达x的概率 阅读全文

posted @ 2018-11-04 11:43 zsben 阅读(104) 评论(0) 推荐(0) 编辑

导航