Description
N(3N20000)
ping pong players live along a west-east street(consider the street as a line segment). Each player has a unique skill rank. To improve their skill rank, they often c...
分类:
其他好文 时间:
2014-12-23 21:12:24
阅读次数:
205
...又是TLE,对于单组数据肯定TLE不了,问题是多组的时候就呵呵了...按height分组去搞,然后判一下是否不属于同一个串...const maxn=100419;var x,y,rank,sa,c,col,h,rec:array[0..maxn] of longint; pd:array[0...
分类:
其他好文 时间:
2014-12-20 15:33:45
阅读次数:
173
最长公共子串...两个字符串连在一起,中间放一个特殊字符隔开。求出height之后,枚举height,看两个后缀是不是分布于两段字符串..如果是,这个值就可以作为答案。取最大值即可。 1 const maxn=200419; 2 var 3 c,h,rank,sa,x,y:array[0.....
分类:
其他好文 时间:
2014-12-19 18:45:03
阅读次数:
188
Page-Rank是Google最核心的算法,用于给每个网页价值评分,是Google“在垃圾中找黄金”的关键算法,这个算法成就了今天的Google 例如有四个网页,1有链接指向2、3、4,2有链接指向3、4,3有链接指向4,4有链接指向...
分类:
其他好文 时间:
2014-12-19 00:45:33
阅读次数:
185
package com.test;public class TestTwo { //测试用例 public static void main(String args[]){ int[] array=new int[]{1,2,5,9,0,4,3};//定义一个数组 Rank(array, 0...
分类:
编程语言 时间:
2014-12-17 14:20:16
阅读次数:
236
求不相同子串个数 该问题等价于求所有后缀间不相同前缀的个数..也就是对于每个后缀suffix(sa[i]),将贡献出n-sa[i]+1个,但同时,要减去那些重复的,即为height[i],故答案为n-sa[i]+1-height[i]的累计。const maxn=1419;var x,y,rank....
分类:
其他好文 时间:
2014-12-16 22:28:32
阅读次数:
310
求重复k次的最长重复子串,解法见罗穗骞大神的后缀数组论文 1 const maxn=100419; 2 3 var 4 x,y,rank,sa,h,s,num,c:array[0..maxn] of longint; 5 n,time:longint; 6 7 functi...
分类:
其他好文 时间:
2014-12-16 20:56:25
阅读次数:
195
二分长度k 长度大于等于k的分成一组 每组sa最大的和最小的距离大于k 说明可行
#include
#include
#include
using namespace std;
const int maxn = 20010;
int s[maxn];
int sa[maxn];
int t[maxn], t2[maxn], c[maxn];
int rank[maxn], height[m...
分类:
编程语言 时间:
2014-12-15 19:05:57
阅读次数:
214
当时需要使用SSDB的原因有几个,首先是对于contest模块设计的时候,由于点击查询当前比赛的Rank的时候,需要多次查询,而每次查询的数据量比较大,为了能够高效的获取数据而使用SSDB数据库;第二方面是对于用户AC状态的记录,在用户登录进之后,网页需要显示用户AC了哪些题目,哪些题目尝试了但没有通过。为了必须遍历当前系统存储的所有的submit,这样的话数据量也是很大,依照前面的原则,继续采用...
分类:
数据库 时间:
2014-12-14 12:00:37
阅读次数:
357
题目大意:
给你N个圆的圆心坐标和半径,判断相交最多的那一堆圆有多少个?,相交在这定义为圆心距大于等于两圆半径距离之差的绝对值,小于等于两圆半径之和。
解题思路:
并查集。坑点是输入的N可以为0,且为0是rings,只有为1是ring。合并集合时要用到一个rank,不然集合相并会混乱。...
分类:
其他好文 时间:
2014-12-13 18:03:59
阅读次数:
218