文章分类 -  转算法

摘要:http://hi.baidu.com/mfs666/blog/item/34e388b1fac640530823027c.html广搜的时候,保存状态和进行哈希很重要,我们来回忆一下常见的状态保存和哈希法1.直接的数组定位:hash:array[0..20,0..20,0..20] of record end;将组成状态的各个元素直接作为数,或者编号,然后就可以利用数组的下标直接定位,适用于各元... 阅读全文
posted @ 2010-05-14 13:55 jesonpeng 阅读(261) 评论(0) 推荐(0)
摘要:最短路算法 http://hi.baidu.com/mfs666/blog/item/20d12b732800ba1b8601b07c.html最短路算法就是在图中某点到其他点或者所有点对间的最短带权距离,这个应用可能比较多。因为除了直接的应用,可以建图。可以把某些元素看做点,把转变的代价作为边,也可以用。也可以把关键点用最短路做成更小的图,然后用较少的搜索来满足特殊要求(见某搜索题)。progr... 阅读全文
posted @ 2010-05-14 13:47 jesonpeng 阅读(195) 评论(0) 推荐(0)
摘要:http://hi.baidu.com/mfs666/blog/item/3be684cb5508bffa53664f72.html最小生成树是在图中构造一棵无根树,使所有点连同,且树的边权的和最小。一般是针对无向图的,如果是有向图的话,怎么处理?这个东西的应用一般就是顶以上的,如果用到应该很容易看出来。对于动态处理边的联机算法,貌似可以使用二叉堆来做卡鲁斯卡尔,或者是每次加入边时找出环,枚举来拆... 阅读全文
posted @ 2010-05-14 13:44 jesonpeng 阅读(198) 评论(0) 推荐(0)
摘要:http://hi.baidu.com/mfs666/blog/item/c5ff7c3198e4b01eebc4af91.html本代码即noip2007的第一题,统计数字,有大量重复数字,最好进行哈希判断重复并统计,这里每个数对一个大数字取模,然后进入地址进行拉链查找处理冲突,这种处理冲突的方式基本上是比较和谐的方式program noip0701;constz=1003001;//大质数ty... 阅读全文
posted @ 2010-05-14 13:38 jesonpeng 阅读(265) 评论(0) 推荐(0)
摘要:并查集(路径压缩) http://hi.baidu.com/mfs666/blog/item/6069b6197fbbb44243a9ada7.html并查集的作用就是将一堆元素两两间的联系情况来统计和查询元素间的集合关系这是最普通的版本,没有启发式合并,不支持关系的删除和有序的合并(银河英雄传说那种)并查集的应用:除了定义上的应用,目前知道的应用有:图中加边判断环(本来是一种最小生成树算法,但可... 阅读全文
posted @ 2010-04-14 15:23 jesonpeng 阅读(359) 评论(0) 推荐(0)
摘要:高精度(万进制,加减乘,比较,转换) http://hi.baidu.com/mfs666/blog/item/4512bc38bec5b5c4d56225bc.html复赛前,我会把需要的基本算法自己写一遍,以保证自己“真的会写”,省去基本算法出问题在调试的问题。本系列保证都是新鲜的自写代码。。。今天先发高精度。因为貌似06,07年都用到了高精度(2^k进制数,矩阵取数游... 阅读全文
posted @ 2010-04-08 10:21 jesonpeng 阅读(506) 评论(0) 推荐(0)
摘要:二、犯罪团伙group.pas/c/cpp/group.in/group.out【问题描述:】警察抓到了n个罪犯,警察根据经验知道他们属于不同的犯罪团伙,却不能判断有多少个团伙,但通过警察的审讯,知道其中的一些罪犯之间相互认识,已知同一犯罪团伙的成员之间直接或间接认识。有可能一个犯罪团伙只有一个人。请你根据已知罪犯之间的关系,确定犯罪团伙的数量。已知罪犯的编号从1至n。【输入】:第一行:n(<... 阅读全文
posted @ 2010-03-29 09:43 jesonpeng 阅读(353) 评论(0) 推荐(0)
摘要:http://hi.baidu.com/raulliubo/blog/item/21a2ae8f998408eef11f3629.html 学了一段时间OI,感觉DP学不透。。。。转个贴来激励自己 给定两个序列 X = { x1 , x2 , ... , xm } Y = { y1 , y2 , ... , yn } 求X和Y的一个最长公共子序列 举例 X = { a , b , c , b ... 阅读全文
posted @ 2009-01-04 13:04 jesonpeng 阅读(536) 评论(0) 推荐(0)
摘要:棋盘格数(chess.pas) §设有一个N*M方格的棋盘(1<=N,M<=100)。求出该棋盘中包含有多少个正方形、多少个长方形(不包括正方形)。例如:当N=2,M=3时: §正方形的个数有8个:即边长为1的正方形有6个;边长为2的正方形有2个。 §长方形的个数有10个:即2*1的长方形有4个;1*2的长方形有3个;3*1的长方形有2个;3*2的长方形有1个。 §【输入文件】chess.... 阅读全文
posted @ 2009-01-04 12:42 jesonpeng 阅读(223) 评论(0) 推荐(0)
摘要:http://hi.baidu.com/raulliubo/blog/item/5538f1f88931860bd9f9fd9b.html 顺序对齐 源程序名 ALIGN.??? (PAS,C,CPP) 可执行文件名 ALIGN.EXE 输入文件名 ALIGN.IN 输出文件名 ALIGN.OUT 考虑两个字符串右对齐的最佳解法。例如,有一个右对齐方案中字符串是AAD... 阅读全文
posted @ 2009-01-04 12:17 jesonpeng 阅读(312) 评论(0) 推荐(0)
摘要:http://hi.baidu.com/fzoi/blog/item/ce7d5d24eddfe5044c088dfe.html 话说省选时被被线段树给囧掉了 期中后准备重点研究下线段树 。 Ps:期中后准备重点搞MO和文化课 看完线段树OI就先放放吧 期中考的比较囧 Ps2:认真复习信息 准备会考 全当准备初赛了 Ps3:庆祝Jason911神牛CTSC中考取159的优异成绩 …… ... 阅读全文
posted @ 2008-12-31 13:28 jesonpeng 阅读(245) 评论(0) 推荐(0)
摘要:http://www.jiong3.cn/blog/article.asp?id=230 OIProject恢复更新。争取达到一天一篇的速度吧。明天预计发出凸包相关知识。 在平时的做题过程中对于一部分搜索题,我们总能看到“这道题用启发做嘛……这样快很多的!”之类的话语。启发式搜索似乎总是一种比广搜、深搜快很多的搜索方法。事实上,在下面我们可以看到,这种方法其实跟普通搜索的本质是一样的,不同之处... 阅读全文
posted @ 2008-12-22 11:18 jesonpeng 阅读(238) 评论(0) 推荐(0)
摘要:http://www.jiong3.cn/blog/article.asp?id=217 前言:今天的市选挂了,原因是我的QQ签名:有时,离成功的距离,只有五个字符。 心情自然非常不好,说自己下次能行那是骗鬼的,跟第一名拉开了一大截的分数……唉。 所以,那两个坑自然是到时再填了。 最近计划是,复习和做题。有些以前搞不懂的算法方面的问题会在这个月集中搞掉并写总结;换言之,OIProject应该是... 阅读全文
posted @ 2008-12-22 11:17 jesonpeng 阅读(202) 评论(0) 推荐(0)
摘要:http://www.jiong3.cn/blog/article.asp?id=260 又是一个坑,不过肯定会填,放心=.=要不然这个Blog就越来越没价值了…… //填坑中 --------------------- (1)线性规划 在接触“动态规划”这个似乎很高深的名词前,我们先来思考一个题目:给你若干件物品,每个物品只有一件,每个物品都有它的重量和价值,现在你有一个限制了重量的背包,如... 阅读全文
posted @ 2008-12-22 11:17 jesonpeng 阅读(181) 评论(0) 推荐(0)
摘要:http://www.jiong3.cn/blog/article.asp?id=198 2、广度优先搜索 在说明这个算法之前,先来看看一道题: 例2. 可恶机关① “城管大队”在一次尾行跟踪邪恶的白雪公主队伍时遇到了一个机关。这个机关长R宽C,被分为R*C个小方格。其中,一些方格上有箱子,一些方格上有按钮。如果要解决这个机关,就必须把所有箱子推到这些按钮上面。可恶的是... 阅读全文
posted @ 2008-12-22 11:15 jesonpeng 阅读(253) 评论(0) 推荐(0)
摘要:可能刚接触OI的人一般第一个就会学习“递归”(或者称之为回溯)算法,也即下面这种形式: Procedure Search(变量); begin {执行语句} Search(深度+1) {返回原状态} end. 实际上,这就是深度优先搜索的一种通常使用的表现方式(下文将给出一个更为规范的深度优先搜索伪代码)。 那么,深度优先算法是什么呢?现在,我们以一个例题来说明。 例1. ... 阅读全文
posted @ 2008-12-22 11:15 jesonpeng 阅读(275) 评论(0) 推荐(0)
摘要:http://unbelievable.ycool.com/post.1176914.html 如果是求 最小权, 把map中的值变成负数 x, y : array [1..maxn] of boolean; lx, ly : array [1..maxn] of longint; ... 阅读全文
posted @ 2008-12-05 15:36 jesonpeng 阅读(179) 评论(0) 推荐(0)
摘要:http://unbelievable.ycool.com/post.1058899.html 网络流 输出路径 虽然可以在 change 段 保存 不过要注意处理反向边...所以还是很麻烦的... 所以还是求完流之后... 再递归求 为此 偶 Sgu 185 wa 了n*n 遍啊... 估计这一辈子都忘不掉了.... proced... 阅读全文
posted @ 2008-12-05 15:36 jesonpeng 阅读(173) 评论(0) 推荐(0)
摘要:http://unbelievable.ycool.com/post.1020602.html 其实 next 的 求法和 extend一样 不过 如果 ST 时 开始条件 有些不一样.. 不过 没有关系啦 ... 还是写两遍的好 !!!! p —— 以前 匹配的 最远位置 a —— 第a个位置 时 匹配到最远 l —— 当前位置的 next 值 ... 阅读全文
posted @ 2008-12-05 15:34 jesonpeng 阅读(342) 评论(0) 推荐(0)
摘要:http://unbelievable.ycool.com/post.982865.html 有两种方法的... 这里先搞定一种方法吧... d[i] 表示 i节点的深度 p[i,j] 表示 i 的 2^j 倍祖先 那么就有一个递推式子 p[i,j]=p[p[i,j-1],j-1] 这样子 一个 o(n log n) 的预处理 求出 每个节点的 2^k 的祖先 然后 对于每一个 询问的... 阅读全文
posted @ 2008-12-05 15:34 jesonpeng 阅读(164) 评论(0) 推荐(0)