08 2015 档案

摘要:【最长重复子串问题】可重叠最长重复子串 -- POJ 3261Disc: 给出包含n个元素的数组a,问其中最长可重叠重复子串的长度,要求该子串至少重复k次;输入保证至少存在一个重复k次的最长子串;Tips: 二分查找子串的长度,注意对该长度的子串是否存在K个重复子串的判定方法;代码: 1 /* ... 阅读全文

posted @ 2015-08-31 11:10 LLGemini 阅读(242) 评论(0) 推荐(0)

摘要:1 #include 2 #include 3 #include 4 using namespace std; 5 const int maxn = 1002; 6 int sa[maxn], rank[maxn], height[maxn]; 7 int wa[maxn], wb[maxn], ... 阅读全文

posted @ 2015-08-30 17:52 LLGemini 阅读(337) 评论(0) 推荐(0)

摘要:模板奉上int rank[maxn],height[maxn];void calheight(int *r,int *sa,int n){ int i,j,k=0; for(i=1;i1 且Rank[i]>1,一定有h[i]≥h[i-1]-1。(这条性质要好好理解!) 证明:设suf... 阅读全文

posted @ 2015-08-30 17:40 LLGemini 阅读(5238) 评论(0) 推荐(2)

摘要:基本上一搜后缀数组网上的模板都是《后缀数组——处理字符串的有力工具》这一篇的注释,O(nlogn)的复杂度确实很强大,但对于初次接触(比如窝)的人来说理解起来也着实有些困难(比如窝就活活好了两天的光阴。。),看了那么多材料感觉《挑战程序设计》的后缀数组解释理解起来会相对容易很多,然而它的复杂度是O(... 阅读全文

posted @ 2015-08-28 11:24 LLGemini 阅读(1615) 评论(0) 推荐(2)

摘要: 阅读全文

posted @ 2015-08-27 19:55 LLGemini 阅读(972) 评论(0) 推荐(0)

摘要:题意很好理解的贪心题,然而却卡疯了的精度坑。再次理解一下double小数运算时可能导致的精度问题,本题为避免该问题可以将小数乘以100化为整数进行比较,输出的时候再除以100就ok;思路也很好想,数据也不大,直接贴代码吧。 1 #include 2 #include 3 #include ... 阅读全文

posted @ 2015-08-27 19:06 LLGemini 阅读(237) 评论(0) 推荐(0)

摘要: 阅读全文

posted @ 2015-08-18 20:36 LLGemini 阅读(495) 评论(0) 推荐(0)

摘要:1、1 /*2 返回此BigInteger的函数正负号。3 此方法返回-1,0或1作为此BigInteger的值对应是负,零或正数。4 */5 6 java.math.BigInteger.signum(BigInteger n);2、/*返回bitLength的位,也可能是素数的一个BigInte... 阅读全文

posted @ 2015-08-18 10:36 LLGemini 阅读(427) 评论(0) 推荐(0)

摘要:好大的链接给原作Q: 在java怎样将BigInteger类型的数据转成int类型的?A:BigInteger的intValue()可以获得int类型数值。Q: java.math.BigInteger有位数限制么?比如long是2的64次方。A:从BigInteger的源码可以看出来,在BigIn... 阅读全文

posted @ 2015-08-18 10:22 LLGemini 阅读(718) 评论(0) 推荐(0)

摘要: 阅读全文

posted @ 2015-08-18 10:08 LLGemini 阅读(173) 评论(0) 推荐(0)

摘要:模板: 1 /* 2 Problem: 任意两点间的最短路 3 Tips : 可以处理边时负数的情况。 4 判断图中是否有负圈,只需检查d[i][j]是负数的顶点i就可以。 5 复杂度 : O(n^3) 6 */ 7 8 #include 9 #include 10... 阅读全文

posted @ 2015-08-17 21:33 LLGemini 阅读(162) 评论(0) 推荐(0)

摘要: 阅读全文

posted @ 2015-08-17 20:44 LLGemini 阅读(220) 评论(0) 推荐(0)

摘要: 阅读全文

posted @ 2015-08-17 10:54 LLGemini 阅读(404) 评论(0) 推荐(0)

摘要: 阅读全文

posted @ 2015-08-16 11:55 LLGemini 阅读(1331) 评论(0) 推荐(0)

摘要: 阅读全文

posted @ 2015-08-15 20:46 LLGemini 阅读(663) 评论(1) 推荐(1)

摘要: 阅读全文

posted @ 2015-08-14 19:24 LLGemini 阅读(265) 评论(0) 推荐(0)

摘要: 阅读全文

posted @ 2015-08-14 09:29 LLGemini 阅读(144) 评论(0) 推荐(0)

摘要:【要求】给定一个无向图,找出图中的割点个桥【说在前面】看了这么多,想入门理解的话真心推荐“听雨草堂”这一篇,结合模板以及各数组表示的含义看,至少把我看懂了。 模板我没用她的,用的是上交红书的模板,反正都一样的东西;【几个定义】 DFS搜索树:用DFS对图进行遍历时,按照遍历次序的不同,... 阅读全文

posted @ 2015-08-13 21:32 LLGemini 阅读(1316) 评论(2) 推荐(0)

摘要:算是最好写的一道题了吧,最近模拟没手感,一次过也是很鸡冻o(* ̄▽ ̄*)o注意事项都在代码里,没有跳坑也不清楚坑点在哪~ 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 us... 阅读全文

posted @ 2015-08-13 19:11 LLGemini 阅读(283) 评论(0) 推荐(0)

摘要:摘自《挑战程序设计》4.3.1【强连通分量分解原理】 对于一个有向图顶点的子集S,如果在S内任取两个顶点u和v,都能找到一条从u到v的路径,那么就称S是强连通的。如果在强连通的顶点集合S中加入其他任意顶点集合后,它都不再是强连通的,那么就称S是原图的一个强连通分量(SCC: Strongly Co... 阅读全文

posted @ 2015-08-13 00:05 LLGemini 阅读(523) 评论(0) 推荐(0)

摘要:真心是道水题,但找bug找的我想剁手了/(ㄒoㄒ)/~~注意几个坑点,1、输入,getline(cin); / gets(); 一行输入,注意前面要加getchar(); 输入运行记录的时候可以采取scanf("%d %c %d %c");的方式,因为已经说一个整型数后面只有一个空格;2、该场没人... 阅读全文

posted @ 2015-08-12 21:39 LLGemini 阅读(257) 评论(0) 推荐(0)

摘要:摘自阿春的博客·数的整除性质主要有:(1) ①能被2整除的数的特征:个位数字是0、2、4、6、8的整数.“特征”包含两方面的意义:一方面,个位数字是偶数(包括0)的整数,必能被2整除;另一方面,能被2整除的数,其个位数字只能是偶数(包括0).下面“特征”含义相似。 ②能被5整除的数的特征:个位是... 阅读全文

posted @ 2015-08-12 11:48 LLGemini 阅读(1207) 评论(0) 推荐(0)

摘要:给你一个二进制数,,每一位有一个权值,让你转格雷码,求所对应格雷码位为1的权值的和;二进制位中的某些位为?,你需要给这些问号赋值使得到的和最大。首先你得知道二进制转格雷码的规则,即格雷码位为【二进制位与左边前一位的异或值】,格雷码首位为二进制首位;因为格雷码首位为二进制首位,那么可以视二进制首位的左... 阅读全文

posted @ 2015-08-12 09:36 LLGemini 阅读(173) 评论(0) 推荐(0)

摘要:hdu 4372 Count the Buildings推荐这位小哥的,我觉得人家说的灰常的好。注意数据范围,n,f,b均在(0,2000]范围内,而第一斯特林数的数组范围却是s[2000+5][2000+5]的(你要是开4000会内存超限),所以要加一个对(f+b-2)的判断,否则C++过不了,G... 阅读全文

posted @ 2015-08-11 09:20 LLGemini 阅读(250) 评论(0) 推荐(0)

摘要:两类Stirling Number的简介与区别(参考自ACdreamer的CSDN)Stirling Number I ---s(n,k):将n个物体排成k个非空循环排列(环)的方法数。递推式:s(n, k) = (n-1)*s(n-1, k) + s(n-1, k-1);1=1 ... 阅读全文

posted @ 2015-08-10 23:59 LLGemini 阅读(229) 评论(0) 推荐(0)

摘要:今儿套KMP模板做了个题,敏敏找我讲next[]数组的时候把我问懵了。具体原理都记不清了光靠模板凑得了一时凑不了一世啊,所以再捋一捋顺一顺,这次印象要深刻一点了;KMP与暴力匹配的优化区别就不再提了,O(m+n)的复杂度已经完胜了,直接进入正题...以下言论均是总结自该同学的,是不是原创我不清楚,链... 阅读全文

posted @ 2015-08-10 21:30 LLGemini 阅读(534) 评论(0) 推荐(0)

摘要:给你一个连通的无向图,等概率随机选取一个起点,走d步,每一步等概率走到相邻的点。问走完d步之后,每个点没有被经过的概率。推状态的关键当然就是对这个“从任意起点走完d步点node没被经过的概率”的理解了,转一下方向,这句话的意思其实等价于“我避开点node走d步到达其它点的概率之和”;设状态方程p[n... 阅读全文

posted @ 2015-08-10 10:41 LLGemini 阅读(192) 评论(0) 推荐(0)

摘要:话说这题读起来真费劲啊,估计很多人做不出来就是因为题读不懂......从题目中提取的几点关键点:题目背景就是银河系(Rho Galaxy)中的星球都是绕着他们的质心(center of mass)转的(妈蛋就是这里啊,质心是个什么鬼...,其实就是所有点的值的算术平均值)。现在你可以从一个银河系中的... 阅读全文

posted @ 2015-08-09 23:55 LLGemini 阅读(280) 评论(0) 推荐(0)

摘要:借用别人一句话,还以为是个高贵的dp... ...一打眼一看是波兰式的题,有点懵还以为要用后缀表达式或者dp以下什么什么的,比赛后半阶段才开始仔细研究这题发现贪心就能搞,奈何读错题了!!交换的时候可以任意两个字符交换然而就那么看成了只能相邻的数字字符与'*'字符交换....../(ㄒoㄒ)/~~..... 阅读全文

posted @ 2015-08-09 17:14 LLGemini 阅读(185) 评论(0) 推荐(0)

摘要:用几何模板敲的,也有直接公式推的,追求短代码的可以点右上角小红了......题意就是想想一个物体分别做绕某一点(给出坐标)旋转p度(给出角度)后,其位置等价于绕哪一点旋转多少度,输出该等价点及其等价角度。其实就是找两个定点,然后看这两个定点旋转后到了哪,分别连接原点与旋转后的点会得到两条线段,两条线... 阅读全文

posted @ 2015-08-08 21:04 LLGemini 阅读(208) 评论(0) 推荐(0)

摘要:花了一晚上加一早上研究背包,唉一大把年纪了才狠下心弄dp也确实说不过去的......背包入门当然还是看背包九讲(链接很多,没找到原作的,就随便贴一个链接了...),我再扯也是班门弄斧,只是贴一些摘要以及写代码时候的总结吧。01背包:有N件物品和一个容量为V的背包。第i件物品的体积是v[i],价值是v... 阅读全文

posted @ 2015-08-08 20:07 LLGemini 阅读(220) 评论(0) 推荐(0)

摘要:题意:就是让你写出一个邀请朋友的顺序,朋友答应一起出去玩的条件是除他以外所有同意出去玩的人数要在[ l[i], r[i] ]范围内,否则他就不答应。分析:这题比赛的时候想麻烦了,其实只要在左边界满足的条件下看右边界就可以。 首先将左边界满足的所有右边界及其id加到一个按右边界值从小到大排序的优先... 阅读全文

posted @ 2015-08-07 10:05 LLGemini 阅读(244) 评论(0) 推荐(0)

摘要:今天练了不少快速幂的手,这一直是之前的一个漏洞吧,现在把洞补上。东西是挺简单的东西,当然题目多变,做起来也问题多多。首先放一下核心代码://矩阵乘法const int mod = 10000;const int maxn = 2;struct matrix{ int a[maxn][maxn]... 阅读全文

posted @ 2015-08-01 21:07 LLGemini 阅读(504) 评论(0) 推荐(1)