BZOJ 3916: [Baltic2014]friends( hash )】的更多相关文章

字符串哈希..然后枚举每一位+各种判断就行了 -------------------------------------------------------------------------------- #include<cstdio> #include<cstring> #include<algorithm>   using namespace std;   typedef long long ll;   const int MOD = 1000000007; c…
[题解] 暴力枚举添加字符的位置,然后判断去掉这个位置的字符串是否有由两个相同的串拼接而成.本题的n的范围为200W,暴力判断会TLE,所以要使用哈希. #include<cstdio> #include<algorithm> #include<cstring> #include<map> #define LL long long #define N 2000010 #define rg register #define base (107) using n…
http://www.lydsy.com/JudgeOnline/problem.php?id=3916 #include <bits/stdc++.h> using namespace std; int n, ans[3]; char s[2000005]; void work(int now) { int l=1, r=n-(n>>1); if(now<2) ++r; int flag=0; //printf("%d\n", now); for(int…
Description 母亲节就要到了,小 H 准备送给她一个特殊的项链.这个项链可以看作一个用小写字母组成的字符串,每个小写字母表示一种颜色. 为了制作这个项链,小 H 购买了两个机器.第一个机器可以生成所有形式的回文串,第二个机器可以把两个回文串连接起来,而且第二个机器还有一个特殊的性质:假如一个字符串的后缀和一个字符串的前缀是完全相同的,那么可以将这个重复部分重叠.例如:aba和aca连接起来,可以生成串abaaca或 abaca. 现在给出目标项链的样式,询问你需要使用第二个机器多少次才…
暴力的哈希,注意: 将一个串当作另一个串的前缀,需要乘上p[len],len=后面串的长度 这是自己的代码,拿数据在本地测A掉了,但是bz上wa了??bz换数据了难道?? #include<cstdio> #include<cstring> #define rep(i,x,y) for(register int i=x;i<=y;i++) using namespace std; ; typedef unsigned long long ull; int n,mid; cha…
题目链接 \(Description\) 给定\(d\)张无向图,每张图都有\(n\)个点.一开始,在任何一张图中都没有任何边. 接下来有\(m\)次操作,每次操作会给出\(a,b,k\),意为在第\(k\)张图中的点\(a\)和点\(b\)之间添加一条无向边. 你需要在每次操作之后输出有序数对\((a,b)\)的个数,满足\(1\leq a,b\leq n\),且\(a\)点和\(b\)点在\(d\)张图中都连通. \(d\leq 200,n\leq 5000,m\leq 1000000\)…
2081: [Poi2010]Beads Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1003  Solved: 334[Submit][Status][Discuss] Description Zxl有一次决定制造一条项链,她以非常便宜的价格买了一长条鲜艳的珊瑚珠子,她现在也有一个机器,能把这条珠子切成很多块(子串),每块有k(k>0)个珠子,如果这条珠子的长度不是k的倍数,最后一块小于k的就不要拉(nc真浪费),保证珠子的长度为正整数. Z…
求同一字符串的两个后缀的最长公共前缀. 将字符串按位置放到Splay中维护(每个节点还维护一下该子树的hash),然后二分前缀的长度,用splay计算出指定范围的hash,按hash是否相等来判断是否相同. /************************************************************** Problem: 1014 User: idy002 Language: C++ Result: Accepted Time:7188 ms Memory:4900…
被后缀三人组虐了一下午,写道水题愉悦身心. 题很裸,求lcq时二分下答案就行了,写的不优美会被卡时. (写题时精神恍惚,不知不觉写了快两百行...竟然调都没调就A了...我还是继续看后缀自动机吧...) #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define bas 131 #define p 1000000007 #define N 100005 #…
题目: 有三个好朋友喜欢在一起玩游戏,A君写下一个字符串S,B君将其复制一遍得到T,C君在T的任意位置(包括首尾)插入一个字符得到U.现在你得到了U,请你找出S. 题解: 发现字符串的长度一定为奇数. 然后发现问题变成了 \(s[0 .. mid]\)与\(s[mid+1 .. len]\)仅删除的编辑距离为1 或 : \(s[0 .. mid-1]\)与\(s[mid .. len]\)仅删除的编辑距离为1 然后我们可以联想到以前的:电子词典嘛 所以我们这道题可以直接暴力dfs查找.. 不要忘…