基础知识整理:(1)加法原理(2)乘法原理(3)容斥原理(注意变式问题)(4)排列组合公式的应用及变形: 排列的公式: 其变形为: 与组合的关系如下(以下第一个公式很重要): 排列组合公式的重要推论: 推论1:...
分类:
编程语言 时间:
2015-01-23 22:46:18
阅读次数:
198
1、下载需要的jar,windows用dll,linux用so 下载地址点我2、代码: 1 package cn.com.sony.newsis.common.tools; 2 3 import java.io.File; 4 import java.io.FileOutputStrea...
分类:
编程语言 时间:
2015-01-23 22:44:59
阅读次数:
283
题目大意:给你一串字符串,让你求出来它存在的最长连续的回文串。
解题思路:先把字符串逆序加到数组中,然后用后缀数组求解。两种方法:1,枚举排名,直接比较rank相同的字符串的位置差是不是len。如果是的话,就记录求解;2,枚举地址,求第i地址与第2*len-i+1的lcp的最大值。
PS:需要注意如果多解输出靠前的字符串。
两种写法写在了一起,分别是Del,和Del1函数。
1...
分类:
编程语言 时间:
2015-01-23 21:35:50
阅读次数:
378
按照自己定的学习计划,今天是该写点什么了。 在上篇文章里提到的是JUnit的学习,其中就涉及到了一些内置的annotation,如@Test、@Ignore等。现在我就结合个人的理解谈下如何自定义自己的annotation。 annotation能被用来为某个程序元素(类、方法、成员变量等)关联任何...
分类:
编程语言 时间:
2015-01-23 21:31:20
阅读次数:
263
前向声明的定义:有些时候我们可以声明一些类但是并不去定义它,当然这个类的作用也很有限了。比如class foo;声明一个foo类,这个声明,有时候也叫做前向声明(forward declaration),在声明完这个foo类之后,定义完这个foo类之前的时期,foo类是一个不完全的类型(incomp...
分类:
编程语言 时间:
2015-01-23 21:30:49
阅读次数:
253
说明本系列属于进阶系列,语常用语法等不在本系列介绍范围之内。 在我刚开始做一个程序员并开发项目的时候,我总是喜欢使用开发语言的各种特性,每次m$发布新版C#的时候我总是会把开发者预览版下好,亲自体验,并期望从中获得快感,每次使用新的语言进行程序设计的时候,我总是喜欢掌控他有趣的地方,尽管很多与软件....
分类:
编程语言 时间:
2015-01-23 21:31:24
阅读次数:
223
下载了最新的JUnit版本,是4.11,结果尝试使用发现总是报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing这样的错误,上网查了一下,一般的解决方案是,换一个低一点的版本就好了。还有人说,是缺少hamcrest的包。去官网又看了...
分类:
编程语言 时间:
2015-01-23 21:29:38
阅读次数:
230
好几天没写博客了,最近要考试了,有c语言。本来准备就为了应付考试,随便学一下的,然后准备下学期用c来学习数据结构和算法,可是,看了一些视频,就准备入坑c/c++了。。。。自己学了将近一个学期的c#,就这样放弃感觉还是有些小舍不得呢。。。不过,技术都是有共同性的,也不算是浪费时间了然后贴代码: 1 i...
分类:
编程语言 时间:
2015-01-23 21:29:16
阅读次数:
247
算法思想:基本的思想为分治算法,也就是将一个问题分成多个更小的部分递归解决。具体到合并排序,就是将待排序序列分为小的序列,递归进行排序,然后合并。步骤:1、分解:将n个元素分成各含n/2个元素的子序列2、解决:用合并排序对两个子序列递归排序3、合并:合并两个已排序的子序列以得到排序结果在对子序列排序...
分类:
编程语言 时间:
2015-01-23 21:24:23
阅读次数:
225
基本思想:二分法的一个前提是序列已经是有序的,然后将待查找值与序列的中点比较。根据比较结果,选择下一步比较的部分。二分查找(binary search)就是一个不断重复这一查找过程,直到找到这个值。算法复杂度:O(lgn)算法实现:一:迭代法int bin_search_iteration(int ...
分类:
编程语言 时间:
2015-01-23 21:23:08
阅读次数:
201
小孩报数问题Time Limit: 1000MSMemory Limit: 65536KTotal Submissions: 10423Accepted: 4824Description有N个小孩围成一圈,给他们从1开始依次编号,现指定从第W个开始报数,报到第S个时,该小孩出列,然后从下一个小孩开始...
分类:
编程语言 时间:
2015-01-23 21:22:08
阅读次数:
220
基本原理:比较相邻的元素。每一轮选出一个最大的元素,重复这个过程算法复杂度:O(n2)算法实现:void Bubblesort(int array[],int n){ int temp; for (int j = 0; j != n-1;++j) { for (int...
分类:
编程语言 时间:
2015-01-23 21:20:54
阅读次数:
220
算法思想:A[i]插入到已排序好的A[0,1,2,...i-1]的过程为将A[i]与已排序好的元素比较,找到其应插入的位置,将其后的元素后移一位。循环这一过程即可完成排序⒈ 从第一个元素开始,该元素可以认为已经被排序⒉ 取出下一个元素,在已经排序的元素序列中从后向前扫描⒊ 如果该元素(已排序)大于新...
分类:
编程语言 时间:
2015-01-23 21:20:47
阅读次数:
168
加入如下配置: text/html; charse...
分类:
编程语言 时间:
2015-01-23 21:15:57
阅读次数:
211
题目大意:给你一个字符串,给你N次查询,每次给你一个区间让你求出这个区间里面有多少子串。
解题思路:我们肯定要枚举位置,然后找公共子串然后再去掉重复的,但是他的地址对应的rank不是连续的,如果暴力找的话会n*n会超时。
从这个博客学习到一种方法:首先对整个字符串求一次sa[]以及height[],之后对于任意区间[L, R],遍历一遍sa[],只要起点在[L, R]内的后缀就需要进行统计,类...
分类:
编程语言 时间:
2015-01-23 20:12:09
阅读次数:
239
#include
using namespace std;
int main()
{
const int n=10;
int a[n][n];
int i,j;
for( i=0;i<=n-1;i++)
{
for( j=0;j<=i;j++)
{
if(j==0||j==i)
{
a[i][j]=1;
}
else
a[i][j]=a[...
分类:
编程语言 时间:
2015-01-23 20:12:15
阅读次数:
140
#include
#include
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
#define MAX_CLUSTERS 5
CvScalar color_table[MAX_CLUSTERS];
IplImage* img = cvCreateImage...
分类:
编程语言 时间:
2015-01-23 20:10:44
阅读次数:
253