2015年11月7日

摘要: 给出a,求递归式g(k)的初始条件g(0);可以看出来g(a) = 1,从后往前推。写个模拟程序可以看出来其实g(0) = 2^a,那么就是一个简单地快速幂取模问题了。#include #include #include #include #include #include #include #in... 阅读全文

posted @ 2015-11-07 20:15 LLGemini 阅读(289) 评论(0) 推荐(0) 编辑

2015年9月8日

摘要: #include#includeusing namespace std;const int maxn = 100005;int n;int avai[maxn], need[maxn];bool dfs(int cur, int u, int f, bool lap){ if(cur == u... 阅读全文

posted @ 2015-09-08 18:40 LLGemini 阅读(284) 评论(0) 推荐(0) 编辑

2015年9月2日

摘要: 摘自网友,具体哪个忘记了,抱歉~定义:RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题: 对于长度为n的数列A,回答若干询问RMQ(A,i,j) (i,jO(nlogn)*/2 int dp[maxn][20];3 void initRMQ(int... 阅读全文

posted @ 2015-09-02 00:06 LLGemini 阅读(275) 评论(0) 推荐(0) 编辑

2015年8月31日

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

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

2015年8月30日

摘要: 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 阅读(328) 评论(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 阅读(5055) 评论(0) 推荐(2) 编辑

2015年8月28日

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

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

2015年8月27日

摘要: 阅读全文

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

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

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

2015年8月18日

摘要: 阅读全文

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