hash
文章平均质量分 80
九野的博客
这个作者很懒,什么都没留下…
展开
-
HDU 1496 Equations
题意:求方程解的个数这里4个x都不相关,所以只要计算 ax1^2+bx2^2==cx3^2+dx4^2遍历找出左边所有的解,然后对应找出右式的值对应的答案(这里0都挖掉了)从1开始遍历(因为平方-1和1解不重复计算)最后结果*16 //这一步优化很给力#include #include #define N 1000001int hash1[N],hash2[N];原创 2013-07-27 22:23:46 · 1280 阅读 · 0 评论 -
CSU 1581 Clock Pictures Hash
题目链接:点击打开链接题意:给出闹钟的n个指针当前所指的角度求2个闹钟通过旋转后能否相同思路:先排个序保证偏序的关系,然后坐差,枚举第二个串的哪一位和第一个串的第一字符匹配,然后hash判断#include #include #include #include #include template inline bool rd(T &ret)原创 2015-04-30 14:26:55 · 1079 阅读 · 0 评论 -
Codeforces 526D Om Nom and Necklace kmp+hash
题目链接:点击打开链接题意:给出长度为n的字符串,常数k下面一个长度为n的字符串。问:for(int i = 1; i 字符串的前i个字符 能否构成 形如A+B+A+B+A+B+A的形式,其中A有k+1个,B有k个 A和B是2个任意的字符串(也可以为空串)若可以构成则输出1,否则输出0}思路:POJ1961 先用kmp求一个前缀循环节,。我们观察 A原创 2015-04-05 22:21:27 · 1752 阅读 · 0 评论 -
HDU 4812 D Tree 树分治+逆元+hash新姿势
题意:给定n个点的树 K下面n个数是点权下面n-1行给出树边。问:是否存在一条路径使得路径上点权积 % mod = K若存在则输出路径的两端。若存在多条路径则输出字典序最小的一条。思路:按树重心分治。分成路径是否经过树重心。然后用力码。。has[x] = u;表示乘积为x 对应的点是u但这样has就不能用计数器来优化清空。原创 2014-10-04 21:18:44 · 2743 阅读 · 0 评论 -
HDU 4821 String 字符串hash(水
题意:给定整数M L一个字符串s我们定义一个子串为"好"串 iff1、长度为 M*L2、把这个好串分成M段,每段长度为L,且每段各不相同。且我们得到的这些好串不重复计算(即把这些好串去重)问有几个好串#include #include #include #include using namespace std;typedef unsigne原创 2014-10-26 15:56:58 · 1583 阅读 · 0 评论 -
Codeforces 113B Petr# 字符串hash
题目链接:点击打开链接#include #include #include #include using namespace std;typedef unsigned long long ll;const int key = 1e9 + 7;const int N = 2000 + 2;ll xp[N], h[N];char a[N], b[N], c[N];int原创 2014-09-05 16:57:29 · 1888 阅读 · 0 评论 -
SGU 232 Infinite Fraction Hash
题目链接:点击打开链接#include #include typedef unsigned long long ll;const int key = (int)(1e9) + 7;const int N = 150010;char b[N], a[N + N];ll xp[N], h[N + N];int len;void get() { char ch; wh原创 2014-09-18 16:14:03 · 1372 阅读 · 0 评论 -
HDU 4886 TIANKENG’s restaurant(Ⅱ) hash+dfs
题意:1、找一个字符串s使得 s不是给定母串的子串2、且s要最短3、s在最短情况下字典序最小hash,,,结果t掉了。。。然后加了个姿势怪异的hash值剪枝才过。。队友是屌啊,,随手改了一下,特么我都不知道为毛过了#include #include #include #include #include #include #include #include #原创 2014-07-30 10:31:33 · 1142 阅读 · 0 评论 -
2014 北京邀请赛ABDHJ题解
A:点击打开链接构造,结论是从第一行开始往下产生一条曲线,使得这条区间最长且从上到下递减,#include #include #include #include #include #include #include using namespace std;#define N 100005vectorG[N], P[N], tmp;sets[N];set::iterat原创 2014-07-03 23:27:08 · 1529 阅读 · 0 评论 -
CodeForces 7D Palindrome Degree 字符串hash
题目链接:点击打开链接#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define N 5001000#define mod 1000000007#define he原创 2014-06-27 00:14:49 · 1604 阅读 · 0 评论 -
Codeforces 39J Spelling Check hash
题目链接:点击打开链接题意:给定2个字符串选择第一个字符串的其中一个字母删除,使得2个字符串完全相同问哪些位置可以选思路:hash求前缀后缀,然后枚举位置#include #include #include#include#include #include#include#include#includeusing namespace std;原创 2014-07-16 17:06:05 · 1908 阅读 · 0 评论 -
NOJ 1548 hash+网络流
题意:1、每种书在图书馆里有且仅有一本。2、每个人阅读一本书需要一天。3、当一个人阅读完一本书后会使社会幸福感增加1.4、自然,当好孩子看完书后一大早就归还图书馆,不会影响第二天借书。第一行给出n,m,K(1)表示有n个人(编号从1-n),图书馆藏书m本(编号从1-m)。下面n行第i行表示第i个人的借书情况,先给出两个整数 S, P(1)表示第i个人的借阅时间从第S天开始借原创 2014-02-12 23:34:35 · 1738 阅读 · 0 评论 -
POJ 2002 Squares Hash
题意:给定n个点下面n行表示n个坐标,问最多能组成几个正方形这里正方形是:遍历其中2个点,判断另外2个点是否存在//下面的公式来自http://blog.csdn.net/lyy289065406/article/details/6647405已知: (x1,y1) (x2,y2)则:x3=x1+(y1-y2) y3= y1-(x1-x2)x4=x2+(y1-原创 2013-08-03 22:38:45 · 1581 阅读 · 1 评论 -
字符串Hash
typedef long long ll;typedef unsigned long long ull;const int MAGIC = 131;long long h[N], base[N];long long MOD = (long long)1e9 + 7;inline void Hash(char *s) { int l = strlen(s); h[0] = 1;原创 2015-04-06 20:06:31 · 1187 阅读 · 0 评论