10 2011 档案

poj-2170 Lattice Animals *****
摘要:/* * 2170.cpp * * 很繁的一个题。。。 * * dfs + hash * 这个速度很慢, 不过答案应该都是对的, 先贴上来吧。。 最近没时间做了 。 以后再改。。 * * 可以改进的有 搜索方式 和 hash函数 * * Created on: 2011-10-17 */#include <cstdio>#include <cstring>using namespace std;const int maxp = 5000 + 10;const int maxn = 25, z = 12;const int hashNum = 19997;const in 阅读全文

posted @ 2011-10-18 22:49 龙豆 阅读(682) 评论(0) 推荐(0) 编辑

poj-1226 Substrings ***
摘要:/* * 1226 KMP * * 用的KMP, O(n^3) * 由于数据规模小, 直接暴力枚举最短串的各个子串再依次与其他串KMP应该也能过 (复杂度也是O(n^3)) * * 这里不直接枚举各个子串, 而是枚举子串的起点位置, 依次与其他串KMP, 记录和每个串及其反串的最大匹配长度, * 再以此计算这些值的最小值, 就得到该起点的子串所能达到的最大匹配长度(与刚才的方法其实差不多) * */#include <cstdio>#include <cstring>using namespace std;const int maxN = 100 + 5;const i 阅读全文

posted @ 2011-10-16 23:37 龙豆 阅读(285) 评论(0) 推荐(1) 编辑

poj-2752 Seek the Name, Seek the Fame **
摘要:/* * KMP * */#include <cstdio>#include <cstring>using namespace std;const int maxL = 400000 + 10;char str[maxL];int next[maxL], stack[maxL];//计算next数组void preKMP(char *p, int len){ int k, j; //next[0] = -1 是为了标记第一个值.. 也可以把字符数组往后移一位,这样next[1] = 0, 比较正常 next[0] = -1; j = 1, k = -1; ... 阅读全文

posted @ 2011-10-16 17:24 龙豆 阅读(225) 评论(0) 推荐(0) 编辑

POJ上的LCA问题小结 [转]
摘要:1330和1470是入门系列,可以说基本上时用来测试板子的 1986比上面两个稍微多了一个距离,但是本质还是一样的对于一个询问d[u,v]=dis[u]+dis[v]-dis[LCA(u,v)]可以一边LCA一边动态修改当前点到根的距离 3728其实就是记录的东西多了一点(1)孩子到父亲最大价格(2)孩子到父亲最小价格(3)从自己到祖先的最大收益 (4)从祖先到自己的最大收益,这里的分情况讨论只需要手动的画下草图,在使用并查集的同时,做更新操作,维护上面提到的四个变量,对于一个查询,我们用 爬山坡的方式保留最优值,这里画图会显的更为直观 3694说实在的和LCA没有特别大的关系,就是df... 阅读全文

posted @ 2011-10-16 11:52 龙豆 阅读(2231) 评论(0) 推荐(0) 编辑

poj-1330 Nearest Common Ancestors **
摘要:/* * poj-1330.cpp * LCA * * LCA入门题 * * 没有用tarjan的离线算法, 用了个在线的, 时间复杂度O(n)-O(sqrt(n)) * * height为树的高度 * 把树按层次分成sqrt(height)个段,每段sqrt(height)层。 * * 对LCA(x, y) * 先把x, y 导入到同一段, 由于最多sqrt(height)段, 所以O(sqrt(height)) * 再在同一段内, 按普通方法找到x, y的LCA, 由于每段sart(height)层, 所以O(sqrt(height)) * 故查询时间为 O(sqrt(height)) = 阅读全文

posted @ 2011-10-16 11:46 龙豆 阅读(445) 评论(0) 推荐(0) 编辑

C++ 随机数生成 [转]
摘要:C++ 随机数生成 标准库<cstdlib>(被包含于<iostream>中)提供两个帮助生成伪随机数的函数:函数一:int rand(void);从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。函数二:void srand(unsigned seed);参数seed是rand()的种子,用来初始化rand()的起始值。可以认为rand()在每次被调用的时候,它会查看:1) 如果用户在此之前调用过srand(seed),给seed指定了一个值,那么它会自动调用srand(seed)一次来初始化它的起始 阅读全文

posted @ 2011-10-15 23:22 龙豆 阅读(314) 评论(0) 推荐(0) 编辑

poj-3368 Frequent values ***
摘要:/* 480ms * poj-3368.cpp * Created on: 2011-10-14 * * * RMQ: * 10 3 -1 -1 1 1 1 1 3 10 10 10 2 3 1 10 5 10 0 * * 1、value[i]:第i个位置的值 * 2、对每个值,记录该值最后出现的位置,endPoint * 3、记录每个值的前面一个值: prePointValue, 如样例中1的前面一个值是-1, 即prePointValue[1] = -1 * 4、记录... 阅读全文

posted @ 2011-10-15 20:18 龙豆 阅读(394) 评论(0) 推荐(0) 编辑

poj-3264 Balanced Lineup *
摘要:/* * 入门题 * RMQ Sparse-Table : O(nlgn) - O(1) * * 2000ms... * */#include <cstdio>using namespace std;const int maxN = 50000 + 10;const int maxK = 50;int height[maxN], n, q;//记录的是坐标int dMax[maxN][maxK], dMin[maxN][maxK];inline int max(int lhs, int rhs){ return (height[lhs] > height[rhs] ? lhs 阅读全文

posted @ 2011-10-14 23:09 龙豆 阅读(231) 评论(0) 推荐(0) 编辑

RMQ+1/-1算法 [转]
摘要:[转] http://blog.csdn.net/ljsspace/article/details/6659517 RMQ+1/-1问题要求数列中相邻两个元素相差+1或-1。利用这个限定条件可以使该算法复杂度总体上达到<O(n),O(1)>。具体做法是:1) 设数列A的大小为n,先对数列A分组,每组大小为b=1/2.logn (之所以这样分是为了将预处理复杂度从O(nlogn)降为O(n)),共分为n/b个组;以下第2到第4步完成RMQ+1/-1问题的预处理阶段(参考以下实现中的preprocess方法)。2)生成O(sqrt(n))个LU表P[][]和一个block类型数组T[] 阅读全文

posted @ 2011-10-14 22:08 龙豆 阅读(1452) 评论(0) 推荐(0) 编辑

软件项目计划书格式 [转]
摘要:一、项目计划书格式根据《GB8567-88计算机软件产品开发文件编制指南》中项目开发计划的要求,结合实际情况调整后的《项目计划书》内容索引如下:1 引言1.1 编写目的1.2 背景1.3 定义1.4 参考资料1.5 标准、条约和约定2 项目概述2.1项目目标2.2产品目标与范围2.3假设与约束2.4 项目工作范围2.5 应交付成果2.5.1 需完成的软件2.5.2 需提交用户的文档2.5.3 须提交内部的文档2.5.4 应当提供的服务2.6 项目开发环境2.7 项目验收方式与依据3 项目团队组织3.1 组织结构3.2 人员分工3.3 协作与沟通3.3.1 内部协作3.3.2 外部沟通4 实施计 阅读全文

posted @ 2011-10-11 21:31 龙豆 阅读(747) 评论(0) 推荐(0) 编辑

用二叉树表示表达式
摘要:先看中缀表达式的二叉树表示: /* * 中缀表达式 构建 二叉树 * * 方法: 每次找到“最后计算”的运算符,作为当前树的根,然后递归处理 * 详见 刘汝佳《算法竞赛入门经典》 P198 * */#include <iostream>using namespace std;const int maxn = 1000;//每个节点的左右儿子编号int lch[maxn], rch[maxn];//节点的字符char op[maxn];//节点数int cnt = 0;//s的[x, y)作为范围int buildTree(char *s, int x, int y... 阅读全文

posted @ 2011-10-09 23:10 龙豆 阅读(9109) 评论(0) 推荐(1) 编辑

POI-step traversing a tree 树的隔三遍历(题目)
摘要:http://smalloj.com/problem.php?pid=19 Step Traversing a TreeTime Limit:1000msMemory Limit:64000KiBAccepted:0Submitted:0 POI II Stage 3 Problem 2Step Traversing a TreeA graph is a pair (V,E), where V is a finite set of elements called vertices of the graph, and E is a subset of the set of all unord.. 阅读全文

posted @ 2011-10-09 22:03 龙豆 阅读(610) 评论(0) 推荐(0) 编辑

在Windows环境中使用版本管理工具Git [转]
摘要:[转]:http://my.oschina.net/soar/blog/2270 Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,作者把他描述为一个“傻瓜式的版本管理系统”,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤 其是在Ruby社区中。目前,包括Rubinius和Merb在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。使用GIT系统,不需要像SVN那样搭建一台SVN服务器来存放代码库。 一、为什么选择Git 对于流行的软件版本开源管理软... 阅读全文

posted @ 2011-10-08 22:10 龙豆 阅读(258) 评论(0) 推荐(0) 编辑

POI2001 Ants and the ladybug ***
摘要:直接模拟, 刚开始把题意理解错了,以为每次只有一只蚂蚁走,其实正确的是蚂蚁一哄而上,然后按照题意,各只蚂蚁分别在该停的位置停下。 先转一个吧: http://www.byvoid.com/blog/poi-2001-mro/ 做出这道题关键在于读懂题目,尤其是第3条和第4条规则。可以知道,所有蚂蚁是一拥而上的,而且蚂蚁很聪明,它们知道如果在某时一只蚂蚁到瓢虫的路 径与另一只蚂蚁的路径相互包含,就让距离近的蚂蚁继续行进,另一只蚂蚁停留不动。蚂蚁们还会互相礼让,如果要同时进入一个节点,就让编号小的蚂蚁进入,其 它蚂蚁停止不再动。瓢虫会停留在多个位置,但是都是互相不关联的,我们... 阅读全文

posted @ 2011-10-07 00:40 龙豆 阅读(455) 评论(0) 推荐(0) 编辑

UVa-10382 Watering Grass **
摘要:/* * Uva-10382-Watering Grass.cpp * 特别注意精度。。(感觉这道题的判题有问题,开始怎么交都WA,,过两天什么都没改,再交就AC了 , 汗。。 * * 详细代码注释: http://apps.hi.baidu.com/share/detail/24628400 * * Created on: 2011-10-3 * Author: */#include <cstdio>#include <cmath>#include <algorithm>using namespace std;const int maxN = 10000 阅读全文

posted @ 2011-10-06 23:42 龙豆 阅读(467) 评论(0) 推荐(0) 编辑

poj-3630 Phone List **
摘要:Trie树入门题。不多说了, 先转一个人家的分析和代码, 自己的代码附在后面。[转]:方法一:trie树有了上面学习的思考与总结,3630用trie树本以为可以水过,可是学习和做题终究是两回事,我很快写出trie树,然后提交,超时了。后来受discuss提示,我大致计算了一下本题trie树的复杂度,号码个数10000,长度10,树的宽度大概有10000,所以总的节点数大概就有100,000级(10层,每层10000),即要进行十万次new的操作,确实时间耗费很多,估计这样题目的用时要有1秒到2秒左右的样子。于是为了纯粹的做题,我将new操作省掉,改为提前申请一个buffer空间,就ac了,.. 阅读全文

posted @ 2011-10-06 17:39 龙豆 阅读(260) 评论(0) 推荐(0) 编辑

POI2000 #7 Viruses(自动机) [转]
摘要:Description Binary Viruses Investigation Committee detected, that certain sequences of zeroes and ones are codes of viruses. The committee isolated a set of all the virus codes. A sequence of zeroes and ones is called safe, if any of its segments (i.e. sequence of consecutive elements) is not a viru 阅读全文

posted @ 2011-10-05 17:24 龙豆 阅读(364) 评论(0) 推荐(0) 编辑

最大子序列、最长公共子串、最长公共子序列 [转]
摘要:最大子序列最大子序列是要找出由数组成的一维数组中和最大的连续子序列。比如{5,-3,4,2}的最大子序列就是{5,-3,4,2},它的和是8,达到最大;而{5,-6,4,2}的最大子序列是{4,2},它的和是6。你已经看出来了,找最大子序列的方法很简单,只要前i项的和还没有小于0那么子序列就一直向后扩展,否则丢弃之前的子序列开始新的子序列,同时我们要记下各个子序列的和,最后找到和最大的子序列。代码如下:#include<iostream>using namespace std;int MaxSubSeq(const int *arr,int len,int *start,int * 阅读全文

posted @ 2011-10-05 15:25 龙豆 阅读(532) 评论(0) 推荐(0) 编辑

算法表 [转]
摘要:1. 模拟1.1 高精度(可用java)2. 数据结构2.1 栈、队列(双端队列,单调队列,优先队列)、链表(块状链表)2.2 查找树(Treap、SBT、splay等)Ref to《伸展树的基本操作与应用》 杨思雨 2004 (Splay)http://www.nocow.cn/index.php/Treap (Treap)《Size Balanced Tree》 陈启峰 2007 (SBT)2.3 图(邻接表等)2.4 并查集2.5 字典(Hash,Trie树见[8])2.6 堆及其变种((*)Fibonacci堆)2.7 其他2.7.1 线段树Ref to《线段树的应用》 林涛 2004 阅读全文

posted @ 2011-10-05 12:25 龙豆 阅读(551) 评论(0) 推荐(0) 编辑

二维模式(矩阵)匹配(Rabin-Karp算法推广到二维)[转]
摘要:本文着重讨论由Rabin-Karp算法推广到二维来解决二维模式匹配问题的算法。问题: 在一个n1*n2的二维字符组成中搜寻一个给定的m1*m2的模式。参考《算法导论》习题32.2-3.分析: 1. 首先简单介绍一下Rabin-Karp算法 Rabin-Karp算法是一种字符串匹配算法,它的主要思想是预先计算出模式串的hash值,匹配时再计算出待匹配子串的hash值,直接比较模式串和当前子串的hash值是否相等即可判断是否匹配。为了便于说明,以下以数字串为例(字符串的每个字符都是一个十进制的数字,比如字符串31415)。已知一个模式P[1..m],设p表示其相应的 十进制数的值。类似的,对于给定 阅读全文

posted @ 2011-10-05 10:33 龙豆 阅读(4292) 评论(0) 推荐(0) 编辑

中国国家集训队论文集目录(1999-2009)
摘要:中国国家集训队论文集目录(1999-2009)国家集训队1999论文集陈宏:《数据结构的选择与算法效率——从IOI98试题PICTURE谈起》来煜坤:《把握本质,灵活运用——动态规划的深入探讨》齐鑫:《搜索方法中的剪枝优化》邵铮:《数学模型的建立、比较和应用》石润婷:《隐蔽化、多维化、开放化——论当今信息学竞赛中数学建模的灵活性》杨帆:《准确性、全面性、美观性——测试数据设计中的三要素》周咏基:《论随机化算法的原理与设计》国家集训队2000论文集陈彧:《信息学竞赛中的思维方法》方奇:《动态规划》高寒蕊:《递推关系的建立及在信息学竞赛中的应用》郭一:《数学模型及其在信息学竞赛中的应用》江鹏:《探 阅读全文

posted @ 2011-10-05 10:02 龙豆 阅读(774) 评论(0) 推荐(1) 编辑

UVa-10020 Minimal coverage **
摘要:1 /* 2 * Uva-10020 最少区间覆盖-贪心 3 * 4 * 很直接的贪心。。 详见刘汝佳 《奥赛入门经典》 5 * 6 * 测试数据: http://www.algorithmist.com/index.php/UVa_10020#Input 7 * 8 */ 9 10 #include <cstdio>11 #include <algorithm>12 using namespace std;13 14 const int maxN = 100000 + 5;15 int caseNum, m, intervalNum, ansList[maxN];16 阅读全文

posted @ 2011-10-04 23:32 龙豆 阅读(803) 评论(0) 推荐(0) 编辑

CEOI2001-Bitmap-黑书1.3.7 **
摘要:题目:Components of a BitmapPROBLEMBlack and white pictures are usually stored as bitmaps. A bitmap is a rectangular grid of pixels.A polyline between pixels P and Q is a sequence of black pixels P=P1, P2, …, Pk=Q, where Pi and Pi+1 (i=1, …, k-1) are (vertically or horizontally) adjacent pi... 阅读全文

posted @ 2011-10-04 16:55 龙豆 阅读(597) 评论(0) 推荐(0) 编辑

poj-1700-Crossing River **
摘要:/* * poj-1700-Crossing River.cpp * *贪心: * 最佳方案构造法:以下是构造N个人(N≥1)过桥最佳方案的方法: * 1) 如果N=1、2,所有人直接过桥。 * 2) 如果N=3,由最快的人往返一次把其他两人送过河。 * 3) 如果N≥4,设A、B为走得最快和次快的旅行者,过桥所需时间分别为a(1)、a(2);而Z、Y为走得最慢和次慢的旅行者, * 过桥所需时间分别为a(n-1)、a(n)。 * 易知:a(n)是肯定会出现在计算cost的和式中的,考虑把a(n)和a(n-1)带过桥: * ... 阅读全文

posted @ 2011-10-03 21:44 龙豆 阅读(608) 评论(0) 推荐(1) 编辑

《算法艺术与信息学竞赛》题目-提交方式对照表 [转]
摘要:idtitlehow2submitsourcepage1盒子里的气球82图书馆ural118893钓鱼uva757pas134照亮的山景135镜子盒156折纸痕uva177pas197三色多边形ural1181208聪明的学生209丢失的数2310月亮之眼2811Yanghee的数表2912原子链3113铁轨uva514c3614小球钟——时间与运动uva239*3815笑脸acmpj.zstu.edu.cn/JudgeOnline/ 25274016猜猜我想说什么4417勇士Ilya的故事ural10885018蚂蚁和瓢虫http://www.acm.cs.ecnu.edu.cn/ 1340 阅读全文

posted @ 2011-10-03 13:06 龙豆 阅读(2835) 评论(0) 推荐(0) 编辑

Matroid[转]
摘要:【矩阵胚(拟阵)的定义】 矩阵胚(拟阵)是一个满足遗传性质与交换性质的序对M=(S, I),其中S是一个非空有限集,I是S的一个非空子集族。 【遗传性质的定义】 若X∈I,则X的任意子集∈I(X是遗传的)。 【交换性质的定义】 若A∈I,B∈I,且|A|>|B|,则∃x∈A-B,使B∪{x}∈I。 【独立子集的定义与性质】 定义:若X∈I,则X是S的独立子集。 性质:独立子集的任意子集都是独立子集。 【矩阵胚(拟阵)的性质】 ①S有至少一个独立子集——空集。 ②独立子集是遗传的。 【加权矩阵胚的定义与性质】 定义:把S中的元素加正的权,可以得到一个加权矩阵胚。 性质... 阅读全文

posted @ 2011-10-03 11:21 龙豆 阅读(441) 评论(0) 推荐(0) 编辑

普通人的编辑利器——Vim[转]
摘要:2005年5月,我开始用Vim。此后渐入佳境,原来因版权自律而放弃盗版UltraEdit的遗憾一扫而空。并且,从Vim我才体会到,什么才是真正的编辑利器。在善用佳软或 其他论坛发文,我都是先在Vim中输入,并方便高效地编辑好格式,再贴到网上。而我的通讯录、记事、读书笔记、工作记录也是在Vim中完成的。包括一些文 档、数据的处理,让Vim过一下,也会提高不少效率。一句话,自用Vim以来,对它迷恋日深,几乎要超过Total Commander。但是,正如善用佳软及论坛发文所提,我大力推荐“用IrfanView/XnView代替ACDSee、用7-zip代替 WinRar/WinZip、用GIMP. 阅读全文

posted @ 2011-10-02 23:47 龙豆 阅读(453) 评论(1) 推荐(0) 编辑

程序员技术练级攻略[转]
摘要:月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习Python和Web编程的一些点滴总结一下。于是他给我发来了一些他的心得和经历,我在把他的心得做了不多的增改,并根据我的经历增加了“进阶”一节。这是一篇由新手和我这个老家伙根据我们的经历完成的文章。我的这个朋友把这篇文章取名叫Build Your ProgrammingTechni 阅读全文

posted @ 2011-10-02 23:38 龙豆 阅读(286) 评论(0) 推荐(0) 编辑

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示