char s[maxn];
int sa[maxn];
int t[maxn], t2[maxn], c[maxn];
int rank[maxn], height[maxn];
int n;
void build_sa(int m)
{
int i, *x = t, *y = t2;
for(i = 0; i < m; i++)
c[i] = 0;
for(i = 0; i < n; ...
分类:
其他好文 时间:
2014-07-22 23:04:34
阅读次数:
293
这题可以用线段树离散化做,用二维树状数组做了一下,不懂得可以看一下这篇文章:http://www.java3z.com/cwbwebhome/article/article1/1369.html?id=4804
题意:
给你一个s*s的正方形区域,先输入一个x,若x==0,则再输入一个s,若x==1,则输入x,y,a,表示矩阵中(x,y)这点的值加上a,若x==2,输入l,b,r,t,...
分类:
其他好文 时间:
2014-07-22 23:03:12
阅读次数:
263
有两种方法吧,一个是利用了树状数组的性质,很HDU1556有点类似,还有一种就是累加和然后看奇偶来判断答案
题意:给你一个n*n矩阵,然后q个操作,C代表把以(x1,y1)为左上角到以(x2,y2)为右下角的矩阵取反,意思就是矩阵只有0,1元素,是0的变1,是1的变0,Q代表当前(x,y)这个点的状况,是0还是1?
区间修改有点特别,但是若区间求和弄懂了应该马上就能懂得:...
分类:
其他好文 时间:
2014-07-22 23:02:53
阅读次数:
225
前言
RMQ: 数组 a0, a1, a2,..., an-1, 中求任意区间 a[i+1], a[i+2], ..., a[i+k] 的最小值
LCA: 求二叉树中两个节点的最低公共祖先
本文将证明这两个问题可以相互归约为另一个问题。
证明
先通过一个简单的例子来说明问题。见下图:
求 [7 2 8 6] 的最小值...
分类:
其他好文 时间:
2014-07-22 23:01:35
阅读次数:
271
//字符串全排列package com.demo.acm;public class
AllSortChar { public static void allSort(char[] buf,int start,int end){
if(start==end){ ...
分类:
其他好文 时间:
2014-05-02 19:43:21
阅读次数:
256
时间限制:3000ms | 内存限制:65535KB难度:5描述Michael喜欢滑雪百这并不奇怪,
因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数...
分类:
其他好文 时间:
2014-05-02 00:43:49
阅读次数:
256
题目大意:先给定n个数字,现在要求算出这n个数字的两两之和保存到sum数组,然后在给定m个数,要求找到和每一个数最接近的sum[i];
挨个计算每个属于其他数之间的sum,然后排序;
查找时有两种方法:二分查找&&双向查找;当然二分查找的效率比后者高了很多,但是都能AC。
提供一条新思路,并不一定非要用二分。
双向查找:
#include
#include
#include
using ...
分类:
其他好文 时间:
2014-05-01 18:43:34
阅读次数:
256
类--构造函数【下】二、默认实参与构造函数一个重载构造函数: Sales_item():units_sold(0),revenue(0){}
Sales_item(const std::string &book):
isbn(book),units_sold(0),revenue(0) {}
可以通过给string初始化式提供一个默认实参将这些构造函数组合起来: ...
分类:
编程语言 时间:
2014-05-01 08:17:52
阅读次数:
386
给gpu一个1000大小的数组赋值,
为了测量时间,...
分类:
其他好文 时间:
2014-04-30 22:23:38
阅读次数:
478
会PHP的人都知道PHP中的print_r/var_export函数,可以方便的用于打印数组或导出变量,Lua中没有提供,实际应用中却是很多时候需要类似的功能。
今天便封装了个简单函数,实现类似功能,用来打印/导出table:...
分类:
Web程序 时间:
2014-04-30 22:22:39
阅读次数:
392