算法
文章平均质量分 74
linleiqin
退役啦~~哇哈哈~~
展开
-
欧几里德辗转相除的扩展函数
#include /*函数名:gcdex返回值: a,b的最大公约数功能:求出a,b最大公约数,并且解出方程 a*u+b*v = gcd(a,b) u,v的值 例子: 24 36 它们的公约数为12 12 = 24*(-1)+36*(1)*//*程序的算法依据:a%b = a-(a/b)*b这个公式可以用矩阵表示出来原创 2010-04-03 20:47:00 · 309 阅读 · 0 评论 -
关于动态规划(入门篇)
题记:网上DP总结如云……但较于杂乱,对新手的入门无层次渐进的指导,故写此篇。 动态规划的启蒙题目题目:Pku 1163 the Triangle http://acm.pku.edu.cn/JudgeOnline/problem?id=1163 HDU 2084 数塔 http://acm.hdu.edu.cn/showproblem.php?pid=2084对转载 2010-04-23 16:22:00 · 934 阅读 · 0 评论 -
树状数组(来自DK的神奇模版)
适合于快速的区间求和查询 较高的编程效率 优秀的算法....神一样的算法 以下是sample#include using namespace std;long c[2000];long m;//m就是数列有几个数,x是修改的数的下标,T是修改值void update(int x,int t){ while(x<=m) {原创 2010-05-12 17:19:00 · 353 阅读 · 0 评论 -
HDU 2222(AC 自动机)
以下为转载资料 Note:阅读本文需要有KMP算法基础,如果你不知道什么是KMP,请看这里: http://www.matrix67.com/blog/article.asp?id=146 (Matrix67大牛写的) AC自动机是用来处理多串匹配问题的,即给你很多串,再给你一篇文章,让你在文章中找这些串是否出现过,在哪出现。也许你考虑原创 2010-05-12 17:23:00 · 362 阅读 · 0 评论 -
动态规划的状态表示
中国科技大学计算机系----黄浩达一、引言 问题求解技术,包括两个方面的内容:表示和搜索。在这两个方面的内容中,搜索是重点,表示是基础。不同的状态表示对搜索的效率会产生极大的影响。一个粗糙的状态表示可能使得搜索时要对状态变换进行更多的操作,而采取简洁的表示,搜索时进行的操作可能就显得方便、高效,甚至由于状态表示准确描原创 2010-05-30 13:08:00 · 1557 阅读 · 0 评论 -
组合数学——Nim取子游戏
组合数学——Nim取子游戏Nim取子游戏是由两个人面对若干堆硬币(或石子)进行的游戏。设有k>=1堆硬币,各堆分别含有N1,N2,……NK枚硬币。游戏的目的就是选择最后剩下的硬币。游戏法则如下:1.两个游戏人交替进行游戏(游戏人I和游戏人II);2.当轮到每个游戏人取子时,选择这些堆中的一堆,并从所选的堆中取走至少一枚硬币(游戏人可以取走他所选堆中的全部硬币);3.当所有的堆都变成空堆时,最后取子的游戏人即为胜者。这个游戏中的变量是堆数k和各堆的硬币数N1,N2,……Nk。对应的组合问题是,确定游戏人I转载 2010-11-16 20:47:00 · 880 阅读 · 0 评论