处理数组A,A[i]表示字符串a的第i个字符排序后应去的位置,队列可。对于多次出现的字符,其在a中的顺序和在b中的顺序应该是一一对应的。#include#includeusing namespace std;#define N 1000001typedef long long ll;queueqs[...
分类:
编程语言 时间:
2015-04-20 22:12:06
阅读次数:
168
Description考虑正整数集合,现在有n组人依次来取数,假设第i组来了x人,他们每个取的数一定是x的倍数,并且是还剩下的最小的x个。正整数中有m个数被标成了幸运数,问有哪些人取到了幸运数。Input第一行一个正整数m (m<=1,000,000),下面m行每行一个正整数x (x<=1,000,...
分类:
其他好文 时间:
2015-04-01 23:29:13
阅读次数:
205
题目大意:给定一个字符串S,求一个最长的L(L*2
一开始我的想法是枚举L,判断长度为L的前缀和长度为L的后缀的所有循环同构的哈希值之和是否相等
但是很快我发现这做法是扯淡- - 因为一个字符串所有循环同构的哈希值之和等于这个字符串所有字符ASCII码之和乘上(BASE^len+BASE^(len-1)+...+BASE^2+BASE+1)
然后我在想能不能考虑修改一下哈希函数呢?
比如给...
分类:
其他好文 时间:
2015-03-04 14:45:29
阅读次数:
141
题目大意:给定一棵内向森林,多次给定两个点a和b,求点对(x,y)满足:
1.从a出发走x步和从b出发走y步会到达同一个点
2.在1的基础上如果有多解,那么要求max(x,y)最小
3.在1和2的基础上如果有多解,那么要求min(x,y)最小
4.如果在1、2、3的基础上仍有多解,那么要求x>=y
因此那个x>=y是用来省掉SPJ的,不是题目要求- -
容易发现:
如果a和b不在同一...
分类:
其他好文 时间:
2015-03-03 20:47:42
阅读次数:
300
题目大意:给定一个字符串,多次询问某一子串的循环节
首先循环次数一定是子串长度的约数
因此我们可以枚举子串长度的约数进行验证
验证时选择Hash,验证[x,y-len]和[x+len,y]这两段是否相等,O(1)即可出解
但是这样做总复杂度是O(q√n)的,会T
考虑一个优化,设某个字母在子串中出现了k次,那么循环次数一定是k的约数
因此我们取每个字母在子串中出现次数的Gcd,枚举这个...
分类:
其他好文 时间:
2015-01-20 13:48:45
阅读次数:
234
现在才开始写 POI 是不是太弱了?-Rendezvous怎么说呢,我发现我的代码好长啊~长啊~长啊~长长长长长长长长长长长长长长长长长长长长长长啊~大概就是在一个内向树上搞一个类似 lca 的东西,想想内向树估计就可以搞出来了吧…… 1 #include 2 const int sizeOf...
分类:
其他好文 时间:
2015-01-04 21:18:33
阅读次数:
314
题解:首先判断长度len是否是l-r的循环节可以做到O(1)只需判断 l-l+len-1 和 r-len+1-r 是否相同即可,这一步可以用hash然后循环节一定是总长度的约数。这样可以做到n√n,但是会T。一个鬼畜的优化是 枚举在每块内每个字母的个数,这个个数必须是总个数的约数,然后我们取一下gc...
分类:
其他好文 时间:
2015-01-02 17:21:35
阅读次数:
175
题解:感觉是不可做题啊。。。看题解发现暴力就可以过囧。。。记录一下x倍数上次取到多少即可。复杂度:n/1+n/2+……+n/n=nlnn代码: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8...
分类:
其他好文 时间:
2014-12-28 22:00:54
阅读次数:
141
题目大意:有n天,早上进货中午卖,可以选择卖或者不卖,问最多可以卖出多少人
首先贪心的思想是如果当前能卖就卖
但是这样不一定是最优的
比如说我第一天来一个人把所有的库存都买走了 然后后面基本没有补给 后面的人都饿死了
因此我们维护一个大根堆来记录我们都卖出了多少份
如果有一个人买不到 我们去大根堆里寻找有没有买的比他多的 如果有 把之前的人取消 卖给这个人
这样虽然不能增加答案 但是可...
分类:
其他好文 时间:
2014-12-11 22:31:44
阅读次数:
219
http://www.lydsy.com/JudgeOnline/problem.php?id=2802自己yy了一下。。。每一次如果够那么就买。如果不够,考虑之前买过的,如果之前买过的比当前花费的钱多,那么就去掉之前买的,变成买现在的。如何证明?不知道QAQ还有。。。注意开longlong。。。#...
分类:
其他好文 时间:
2014-12-09 13:41:36
阅读次数:
222