摘要: 转载自:click here 对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,所以如果你在 阅读全文
posted @ 2016-10-29 10:05 zxzhang 阅读(225) 评论(0) 推荐(0)
摘要: DP基础 简单dp 背包问题 记忆化搜索 简单dp 数字三角形 给一个数字构成的三角形,求从顶端走到底部的一条路径,使得路径上的和最大(或者最小)。 1 2 3 6 5 4 Example_1 7 3 8 8 1 0 5 2 6 100000 Example_2 根据Example_2可以知道贪心显 阅读全文
posted @ 2016-10-28 23:41 zxzhang 阅读(265) 评论(0) 推荐(0)
摘要: #define SUFFIX_ARRAY_PFXDBL #ifdef SUFFIX_ARRAY_PFXDBL namespace SA{ /* Suffix Array, Prefix Doubling Method MAXN : Maximum length for string s : String for buil... 阅读全文
posted @ 2016-10-15 20:47 zxzhang 阅读(141) 评论(0) 推荐(0)
摘要: 转载自:Click Here LCA问题(Lowest Common Ancestors,最近公共祖先问题),是指给定一棵有根树T,给出若干个查询LCA(u, v)(通常查询数量较大),每次求树T中两个顶点u和v的最近公共祖先,即找一个节点,同时是u和v的祖先,并且深度尽可能大(尽可能远离树根)。L 阅读全文
posted @ 2016-10-14 21:03 zxzhang 阅读(390) 评论(0) 推荐(0)
摘要: 传送门 Description You are given names of two days of the week. Please, determine whether it is possible that during some non-leap year the first day of 阅读全文
posted @ 2016-10-10 20:22 zxzhang 阅读(235) 评论(0) 推荐(0)
摘要: 传送门 Description 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。 Input 第1行是整数n(1<=n<=200000),表示自然数 阅读全文
posted @ 2016-10-08 19:10 zxzhang 阅读(263) 评论(0) 推荐(0)
摘要: 资料参考: 维基百科 卡特兰数 新浪博客折现法证明 github——卡特兰数汇总 Catalan数计算及应用 卡特兰数 — 计数的映射方法的伟大胜利 卡特兰数(Catalan) 卡塔兰数是组合数学中一个常在各种计数问题中出现的数列。以比利时的数学家欧仁·查理·卡塔兰(1814–1894)命名。历史上 阅读全文
posted @ 2016-10-07 23:33 zxzhang 阅读(1040) 评论(0) 推荐(0)
摘要: 插入排序(O(N2)) 堆排序(2NlogN-O(NloglogN)) 归并排序O(NlogN) 快速排序O(NlogN) 阅读全文
posted @ 2016-10-07 14:35 zxzhang 阅读(266) 评论(0) 推荐(0)
摘要: 传送门 Description 给你n个整数,请按从大到小的顺序输出其中前m大的数。 Input 每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数。 Output 对每组测试数据按从大到小的顺序输出前m 阅读全文
posted @ 2016-10-07 14:25 zxzhang 阅读(624) 评论(0) 推荐(0)
摘要: 题目链接: [传送门][1] 最短路 Time Limit: 1000MS     Memory Limit: 65536K 题目描述 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t shirt。但是每当我们的工作人员把上百件的衣服从商店运 阅读全文
posted @ 2016-10-01 00:19 zxzhang 阅读(208) 评论(0) 推荐(0)
摘要: 传送门 之前我们介绍过图的邻接矩阵存储法,它的空间和时间复杂度都是N2,现在我来介绍另外一种存储图的方法:邻接表,这样空间和时间复杂度就都是M。对于稀疏图来说,M要远远小于N2。先上数据,如下。 第一行两个整数n m。n表示顶点个数(顶点编号为1~n),m表示边的条数。接下来m行表示,每行有3个数x 阅读全文
posted @ 2016-09-30 23:25 zxzhang 阅读(470) 评论(0) 推荐(1)
摘要: 传送门 食物链 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 65579 Accepted: 19336 Description 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现 阅读全文
posted @ 2016-09-26 21:47 zxzhang 阅读(505) 评论(0) 推荐(0)
摘要: 传送门 Wireless Network Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 24513 Accepted: 10227 Description An earthquake takes place in Southe 阅读全文
posted @ 2016-09-25 22:58 zxzhang 阅读(251) 评论(0) 推荐(0)
摘要: 有时候在OJ刷题目的时候,总是会遇到不知名bug,题目总不能AC,自己测试的一些数据又都能得出正确的结果,又或是直接暴力会TLE,改了算法,但是仍然WA,这时候进行程序对拍测试数据不失为一个好办法。程序对拍主要是通过数据生成器生成随机数据,然后与正确程序跑出来的结果进行比对,虽然有时候数据很难构造, 阅读全文
posted @ 2016-09-23 23:06 zxzhang 阅读(532) 评论(0) 推荐(0)
摘要: 传送门 Description 有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除 阅读全文
posted @ 2016-09-16 16:44 zxzhang 阅读(446) 评论(0) 推荐(0)
摘要: 原博文:传送门 最长递增子序列(Longest Increasing Subsequence) 下面我们简记为 LIS。 定义d[k]:长度为k的上升子序列的最末元素,若有多个长度为k的上升子序列,则记录最小的那个最末元素。注意d中元素是单调递增的,下面要用到这个性质。首先len = 1,d[1] 阅读全文
posted @ 2016-09-15 22:51 zxzhang 阅读(383) 评论(0) 推荐(0)
摘要: 1、辗转相除法求最大公约数 2、最大公约数 3、拓展欧几里德算法 4、求区间[m,n]内的素数( 埃氏筛选法) 5、无平方因子的数 6、快速乘 7、快速幂 8、二分查找 9、并查集 10、生成1~n的排列 11、生成可重集的排列 12、强连通分量的targin算法 13、SBT 14、关闭同步 阅读全文
posted @ 2016-09-11 10:55 zxzhang 阅读(393) 评论(0) 推荐(0)
摘要: 资料参考 Tarjan算法寻找有向图的强连通分量 基于强联通的tarjan算法详解 有向图强连通分量的Tarjan算法 处理SCC(强连通分量问题)的Tarjan算法 强连通分量的三种算法分析 Tarjan算法详解理解集合 ppt图解分析下载 强连通分量 强连通分量(strongly connect 阅读全文
posted @ 2016-09-11 02:06 zxzhang 阅读(1041) 评论(0) 推荐(2)
摘要: 一、概念介绍 1、 双端队列 双端队列是一种线性表,是一种特殊的队列,遵守先进先出的原则。双端队列支持以下4种操作: (1) 从队首删除 (2) 从队尾删除 (3) 从队尾插入 (4) 查询线性表中任意一元素的值 双端队列是一种线性表,是一种特殊的队列,遵守先进先出的原则。双端队列支持以下4种操作: 阅读全文
posted @ 2016-09-04 14:10 zxzhang 阅读(702) 评论(0) 推荐(0)
摘要: ``` int find_kth(int k) { int ans = 0,cnt = 0; for (int i = 20;i = 0;i ) //这里的20适当的取值,与MAX_VAL有关,一般取lg(MAX_VAL) { ans += (1 = maxn || cnt + c[ans] = k 阅读全文
posted @ 2016-08-19 18:45 zxzhang 阅读(1157) 评论(1) 推荐(1)