
学习笔记
文章平均质量分 83
恋上鱼的猫
这个作者很懒,什么都没留下…
展开
-
KMP算法
#include #include #define MaxSize 255void get_nextval(char T[], int next[]);int KMPIndex(char s[],char t[]);int main(){ char S[MaxSize],T[MaxSize]; gets(S); gets(T); printf("%d原创 2009-07-28 20:18:00 · 526 阅读 · 0 评论 -
(转)DD牛的背包九讲
P01: 01背包问题 题目 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 基本思路 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max{转载 2010-02-25 23:23:00 · 808 阅读 · 0 评论 -
斐波那契序列 集锦 (转)
斐波那契序列 集锦 (转)[定理1] 标准Fibonacci序列(即第0项为0,第1项为1的序列)当N大于1时,一定有f(N)和f(N-1)互质 其实,结合“互质”的定义,和一个很经典的算法就可以轻松证明 对,就是辗转相除法 互质的定义就是最大公约数为1 数学归纳法是很有用的证明方法,我们接下来这个定理用数学归纳法就很好证明: [定理2]若i为奇数, f(i)*f(i)=f(i-1)*f(转载 2010-02-26 01:03:00 · 2517 阅读 · 1 评论 -
JAVA ACM 基础
java ACM<br /><br />Java做ACM-ICPC的特点: <br /><br />(1) 在一般比赛中,Java程序会有额外的时间和空间,而实际上经过实验,在执行计算密集任务的时候Java并不比C/C++慢多少,只是IO操作较慢而已。 <br />(2) Java 简单而功能强大,有些东西用Java实现起来更为方便,比如高精度。 <br />(3) 用Java不易犯细微的错误,比如C/C++中的指针, “if (n = m) ... ” 等 <br />(4) 目前来看Eclipse已成基转载 2010-07-30 11:33:00 · 8671 阅读 · 2 评论 -
二分图匹配
<br />二分图:二分图是这样一个图,它的顶点可以分类两个集合X和Y,所有的边关联的两个顶点恰好一个属于集合X,另一个属于集合Y。<br />二分图匹配:给定一个二分图G,在G的一个子图M中,M的边集中的任意两条边都不依附于同一个顶点,则称M是一个匹配。<br />最大匹配:图中包含边数最多的匹配称为图的最大匹配。<br />完美匹配:如果所有点都在匹配边上,则称这个最大匹配是完美匹配。<br />二分图匹配基本概念:<br />未盖点<br />设VI是G的一个顶点,如果VI不与任意一条属于转载 2010-08-03 20:11:00 · 7302 阅读 · 1 评论 -
矩阵乘法算法
矩阵运算是属于线性代数里的一个重要内容,上学期学完后只觉得矩阵能解线性方程,不过高中的时候听说过矩阵能优化常系数递推以及将坐标上的点作线性变换,于是找了些资料研究了一下,并把许多经典题以及HDU shǎ崽大牛总结的矩阵乘法的题目[1]、[2]和开设的矩阵乘法DIY Contest给做完了,感觉收获颇丰。 一个矩阵就是一个二维数组,为了方便声明多个矩阵,我们一般会将矩阵封装一个类或定义一个矩阵的结构体,我采用的是后者: 最特殊的矩阵应该就是单位矩阵E了,它的对角线的元素为1转载 2010-08-03 19:51:00 · 15906 阅读 · 3 评论 -
[转]动态规划入门练习题
<br /> [转]动态规划入门练习题<br />一月 5, 2010 by 玉 逍遥 <br /><br />HDU 动态规划(46道题目)倾情奉献~ 【只提供思路与状态转移方程】<br /> <br />Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955<br />背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残的是把总的概率以为是抢N家银行的概率之和… 把状态转移方程原创 2010-08-09 10:16:00 · 11210 阅读 · 2 评论 -
STL 容器 priority_queue(优先队列)
priority_queue在优先队列中,优先级高的元素先出队列。标准库默认使用元素类型的优先队列的第一种用法,也是最常用的用法: priority_queue qi;通过故示例1中输出结果为:9 6 5 3 2第二种方法:在示例1中,如果我们要把元素从小到大输出怎么办呢?这时我们可以传入一个比较函数,使用functional.h函数对象作为比较函数。 priority_queue, greater >qi2;其中第二个参数为容器类型。第二个参数为比较函数。故示例2中输出转载 2010-08-14 15:54:00 · 811 阅读 · 0 评论 -
Myeclipse 导出中文javadoc
如果发现提示javax.http.servlet无法找到,请到Tomcat下的lib目录下拷贝servlet-api.jar至项目中。原创 2011-09-28 15:22:02 · 947 阅读 · 0 评论 -
安装glassfish
第一步,解压glassfish。如图所示,第二步,进入glassfish目录下,如图所示编译set.xml文件,创建glassfish的domain。在命令窗口下,glassfish目录下,输入lib\ant\bin\ant -f setup.xml原创 2011-09-28 15:22:59 · 681 阅读 · 0 评论 -
glassfish创建JNDI并且应用到Spring+Hibernate框架中作为数据源
一。登陆glassfish后台 资源-JDBC-连接池 新建JDBC连接池,名称随便(我取ABC),资源类型,选第一个DataSource,然后完成二。配置其他属性填写url,password,user三项值即可进入glassfish的d原创 2011-10-08 12:17:52 · 2727 阅读 · 0 评论 -
堆排序详解(JAVA版)
package com.hsit.heap;import java.util.Scanner;/** * * @author Colo * @version 创建时间:2011-11-1 上午11:44:10 */public class Heap { private int[] data; /*输入数组元素,数组下标从1开始*/ public void input(原创 2011-11-01 21:35:21 · 1155 阅读 · 2 评论 -
myeclipse 8.5轻松在线安装插件
myeclipse8.5其它安装插件方法在这我就不多说了,只说在线安装方法。以前版本可以在help→software updates中来输入插件更新的URL地址来更新, 这个版本基本上也有类似的功能,而且更加强大,可能有的朋友没有发现。在myeclipse 主面板上,点help→Myeclipse configuration center进入Myec原创 2011-12-14 11:35:03 · 5666 阅读 · 2 评论 -
错排公式
pala提出的问题: 十本不同的书放在书架上。现重新摆放,使每本书都不在原来放的位置。有几种摆法? 这个问题推广一下,就是错排问题: n个有序的元素应有n!种不同的排列。如若一个排列式的所有的元素都不在原来的位置上,则称这个排列为错排。 下面用递推的方法推导错排公式: 当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用M(n)表示,那么M(n-1)就表示n-1个转载 2009-10-20 20:16:00 · 674 阅读 · 0 评论 -
sscanf 与scanf
sscanf 名称: sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: Int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与转载 2009-10-05 11:33:00 · 2072 阅读 · 1 评论 -
无向图+BFS
#include #include #include #define MaxVertex 250using namespace std;ifstream cin1("e://graphlist.txt");/*底下为测试数据8 9ABCDEFGH 0 1 0 2 1 3 1 4 3 7 4 7 2 5 2 6 5 6*/原创 2009-07-30 19:55:00 · 1230 阅读 · 0 评论 -
无向图+DFS
#include #include #define MaxVexter 250using namespace std;ifstream cin1("e://graphlist.txt"); /*测试数据如下*//*8 9ABCDEFGH 0 1 0 2 1 3 1 4 3 7 4 7 2 5 2 6 5 6*/int原创 2009-07-30 21:53:00 · 1220 阅读 · 0 评论 -
二叉树
#include #include using namespace std;ifstream cin1("e://graph.txt");/*测试数据如下*//*ABC$$DE$G$$F$$$*/ struct Bitree { char element; Bitr原创 2009-07-29 21:14:00 · 526 阅读 · 0 评论 -
Prim算法(全程注释)
1、2个for循环都是从2开始的,因为一般我们默认开始就把第一个节点加入生成树,因此之后不需要再次寻找它。2、lowcost[i]记录的是以节点i为终点的最小边权值。初始化时因为默认把第一个节点加入生成树,因此lowcost[i] = graph[1][i],即最小边权值就是各节点到1号节点的边权值。3、mst[i]记录的是lowcost[i]对应的起点,这样有起点,有终点,即可唯转载 2009-07-31 12:03:00 · 1474 阅读 · 0 评论 -
Floyd算法
#include #define MaxDistance 0x7fffffff//设定MaxDistance为无穷大#define NumOfVertex 300void Floyd(int Graph[][NumOfVertex],int Vertex);int main(){ int Graph[NumOfVertex][NumOfVertex]; int原创 2009-08-01 16:27:00 · 719 阅读 · 0 评论 -
无向图创建+BFS+DFS(整合)
#include #include using namespace std;#define MaxVertex 250/*测试数据*//*8 9ABCDEFGH 0 1 0 2 1 3 1 4 3 7 4 7 2 5 2 6 5 6 *//*结果*//*A C B G F E D原创 2009-08-03 20:42:00 · 629 阅读 · 0 评论 -
二分查找(递归与非递归)
递归方法 int BinSearch(int Array[],int low,int high,int key/*要找的值*/){ if (low<=high) { int mid = (low+high)/2; if(key == Array[mid]) return mid; else if(key<Array[mid]) return B原创 2009-08-06 17:04:00 · 51547 阅读 · 4 评论 -
Dijkstra算法
#include #include #include #define MaxVertex 250#define INIT 999999void Dijkstra(int Graph[][MaxVertex],int NunOfVertex,int OriginalPoint,int PrePoint[],int dist[]){ int i,j; int min原创 2009-08-05 10:34:00 · 547 阅读 · 0 评论 -
字符串相关函数
strcmp 比较字符串strcmpi 忽略大小写比较字符串upper 转换为大写blanks 产生空字符串strmatch 查找匹配的字符串strjust 对齐字符数组,包括左对齐,右对齐和居中原创 2009-08-05 18:25:00 · 520 阅读 · 0 评论 -
并查集
并查集:(union-find sets)是一种简单的用途广泛的集合. 并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多。一般采取树形结构来存储并查集,并利用一个rank数组来存储集合的深度下界,在查找操作时进行路径压缩使后续的查找操作加速。这样优化实现的并查集,空间复杂度为O(N),建立一个集合的时间复杂度为O(1),N次合并M查找的时间复杂度为O(M Alpha(原创 2009-08-14 10:22:00 · 641 阅读 · 0 评论 -
自己写的凸包模板
#include #include #include #define Max 501#define eps 1e-8using namespace std;struct point { double x; double y; double cross;};point stack[Max];//储存凸包边缘顶点point points[Ma原创 2009-08-27 12:10:00 · 785 阅读 · 1 评论 -
最长公共子序列模板(O(mn))
#include #include #define Max 1001int Graph[Max][Max];int max(int a,int b){ return a>b?a:b;}int LCS(char a[],char b[]){ int i,j; int len1=strlen(a); int len2=strlen(b)原创 2009-09-11 22:20:00 · 823 阅读 · 0 评论 -
SQL server 创建MYSQL的链接服务器
这两天需要从别人的mysql里读数据过来,由于在自动取数据过程中,要保存各类控制数据,这些数据还是存在我自己的SQLSERVER中比较方便,所以想来想去,决定用链接服务器。接下来把我建立链接服务器的经历跟各位分享一下:整个过程共分为三大部分:准备过程、建立链接服务器、使用链接服务器示例一、准备过程需要准备的内容有:OLEDB、mysqlconnect转载 2013-11-18 20:14:52 · 13437 阅读 · 2 评论