C++笔记 算法
文章平均质量分 80
kingeasternsun
向linus致敬!
展开
-
九度笔记之 1499:项目安排 的两种动态规划方法比较
为何在有时间限制的项目规划问题中,动态规划的更新变量用项目而不是用时间更好。原创 2013-08-08 14:00:30 · 1889 阅读 · 0 评论 -
九度笔记之 1494:Dota
利用动态规划求解 在给定金钱下如何购买装备,合成装备,获取最大价值的DOTA装备,原创 2013-08-07 13:13:43 · 1751 阅读 · 0 评论 -
九度笔记之 1462:两船载物问题
题目1462:两船载物问题时间限制:1 秒内存限制:128 兆特殊判题:否提交:690解决:167题目描述:给定n个物品的重量和两艘载重量分别为c1和c2的船,问能否用这两艘船装下所有的物品。输入:输入包含多组测试数据,每组测试数据由若干行数据组成。第一行为三个整数,n c1 c2,(1 接下去原创 2013-08-09 09:38:38 · 1515 阅读 · 0 评论 -
在排序数组中查找特定条件数值的程序总结
int find(int b, int e,int value)1.在数组num的下标范围b,e,查找num[i]int findpm(int b,int e,int value){ int id = b-1;//Attention int mid; while(b<=e){ //ATTENTION <= mid = (b+e)>>1; if(num[mid]<原创 2013-08-08 13:56:01 · 1335 阅读 · 0 评论 -
九度笔记之 1501:最大连续子序列乘积
题目1501:最大连续子序列乘积题目描述:给定一个浮点数序列(可能有正数、0和负数),求出一个最大的连续子序列乘积。输入:输入可能包含多个测试样例。每个测试样例的第一行仅包含正整数 n(n第二行输入n个浮点数用空格分隔。输入数据保证所有数字乘积在双精度浮点数表示的范围内。输出:对应每个测试案例,输出序列中最大的连续原创 2013-08-20 15:56:22 · 989 阅读 · 0 评论 -
九度笔记之 1364:v字仇杀队
题目1364:v字仇杀队时间限制:1 秒内存限制:32 兆特殊判题:否提交:302解决:109题目描述: v整整策划了一年炸掉英国政府的大楼来推翻独裁统治,在这期间,v遇到了一个问题:如何使用有限的炸弹来达到最大的破坏力。 看过电影的人都知道,v最后使用自己偷偷建造的一个装满炸药的地铁直接开向国会大厦。原创 2013-08-07 12:33:20 · 2123 阅读 · 0 评论 -
九度笔记之 1369:字符串的排列
利用深度优先搜索进行字符的排列组合原创 2013-08-06 14:02:22 · 1389 阅读 · 0 评论 -
九度笔记之 1355:扑克牌顺子
题目1355:扑克牌顺子时间限制:2 秒内存限制:32 兆特殊判题:否提交:629解决:161题目描述:LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,原创 2013-08-06 15:12:09 · 1200 阅读 · 0 评论 -
九度笔记之 1342:寻找最长合法括号序列II(25分)-给括号当红娘,解决最长合法字符串问题
给括号当红娘,解决最长合法字符串问题原创 2013-08-02 14:48:41 · 3037 阅读 · 1 评论 -
九度笔记之 1528:最长回文子串 用manacher算法
manaha 求回文字符串。原创 2013-08-05 10:06:36 · 1055 阅读 · 0 评论 -
九度笔记之 1420:Jobdu MM分水果
动态规划分水果,使两个人尽可能分的差值最小原创 2013-08-02 13:49:22 · 1864 阅读 · 0 评论 -
九度笔记之 1463:招聘会
题目1463:招聘会时间限制:1 秒内存限制:128 兆特殊判题:否提交:306解决:91题目描述:又到毕业季,很多大公司来学校招聘,招聘会分散在不同时间段,小明想知道自己最多能完整的参加多少个招聘会(参加一个招聘会的时候不能中断或离开)。输入:第一行n,有n个招聘会,接下来n行每行两个整数表示起止时间,由原创 2013-08-07 16:56:51 · 1306 阅读 · 0 评论 -
九度笔记之 1467:二叉排序树
题目1467:二叉排序树时间限制:1 秒内存限制:128 兆特殊判题:否提交:1292解决:518题目描述: 二叉排序树,也称为二叉查找树。可以是一颗空树,也可以是一颗具有如下特性的非空二叉树: 1. 若左子树非空,则左子树上所有节点关键字值均不大于根节点的关键字值;原创 2013-08-15 14:44:36 · 1319 阅读 · 0 评论 -
九度笔记之 1468:Sharing
题目1468:Sharing求两个单词的共同后缀具体参见http://ac.jobdu.com/problem.php?pid=1468算法分析 把两个单词右对齐,然后从短的单词开始和长的单词的对应位置进行比较如下两个单词,loading的长度为7,ending的长度为6,则loading从第2个位置开始,ending从第1个位置开始依次比较。 L o原创 2013-08-15 15:26:37 · 1101 阅读 · 0 评论 -
九度笔记之 1478:三角形的边
题目1478:三角形的边时间限制:1 秒内存限制:128 兆特殊判题:否提交:256解决:170题目描述:给定三个已知长度的边,确定是否能够构成一个三角形,这是一个简单的几何问题。我们都知道,这要求两边之和大于第三边。实际上,并不需要检验所有三种可能,只需要计算最短的两个边长之和是否大于最大那个就可以了。这次的问题就是:给原创 2013-08-14 17:32:18 · 1124 阅读 · 0 评论 -
九度笔记之 1466:排列与二进制
题目1466:排列与二进制时间限制:1 秒内存限制:128 兆特殊判题:否提交:454解决:197题目描述:在组合数学中,我们学过排列数。从n个不同元素中取出m(m输入:输入包含多组测试数据,每组测试数据一行。每行两个整数,n和m,0输出:对于每个输入,输出排列数p(n, m)的二进原创 2013-08-14 17:18:47 · 990 阅读 · 0 评论 -
九度笔记之 1511:从尾到头打印链表
题目1511:从尾到头打印链表时间限制:1 秒内存限制:128 兆特殊判题:否提交:332解决:121题目描述:输入一个链表,从尾到头打印链表每个节点的值。输入:每个输入文件仅包含一组测试样例。每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点。第一行是链表第一个节点的值,依次类推原创 2013-08-14 16:42:09 · 1511 阅读 · 0 评论 -
九度笔记之 1434:今年暑假不AC
利用动态规划合理安排任务原创 2013-08-07 16:56:47 · 2073 阅读 · 0 评论 -
九度笔记之 1455:珍惜现在,感恩生活
背包问题中,如果每个物品都有固定数量的求解方法。原创 2013-08-07 13:40:41 · 1747 阅读 · 0 评论 -
九度笔记之 1209最小邮票数
动态规划求最少邮票数原创 2013-07-26 14:40:22 · 2923 阅读 · 0 评论 -
九度笔记之 1346:会员积分排序
题目1346:会员积分排序时间限制:1 秒内存限制:32 兆特殊判题:否提交:668解决:270题目描述:元旦佳节快到了,超市A想要给会员一些奖品。但是奖品有限,所以它需要给这些会员做一个排序,然后将名单输出来。排序的规则是,先按积分排序,如果会员的积分相同则按他的ID排序,因为ID号小则表示他注册的时间早。现在某超市有每原创 2013-08-05 09:56:25 · 1184 阅读 · 0 评论 -
九度笔记之 1354:和为S的连续正数序列
题目1354:和为S的连续正数序列时间限制:2 秒内存限制:32 兆特殊判题:否提交:571解决:163题目描述:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为原创 2013-08-05 17:19:33 · 971 阅读 · 0 评论 -
九度笔记之 1207质因数的个数
题目1207:质因数的个数时间限制:1 秒内存限制:32 兆特殊判题:否提交:2117解决:544题目描述:求正整数N(N>1)的质因数的个数。相同的质因数需要重复计算。如120=2*2*2*3*5,共有5个质因数。输入:可能有多组测试数据,每组测试数据的输入是一个正整数N,(1输出:对原创 2013-07-26 14:07:59 · 1243 阅读 · 0 评论 -
九度笔记之 1358:陈博的平均主义
题目1358:陈博的平均主义时间限制:1 秒内存限制:32 兆特殊判题:否提交:240解决:117题目描述:在JOBDU团队里,陈博是最讲平均主义的人了,但并不是像梁山好汉那样能够做到有钱同花,有肉同吃,毕竟,他还是被家里的领导管着的……陈博的平均主义,就只能体现在他对数字的喜好了。陈博特别喜欢一类“平均数”,“平均数”的具体定义原创 2013-08-02 13:53:13 · 1217 阅读 · 0 评论 -
O(n)回文子串算法
O(n)回文子串算法注:转载的这篇文章,我发现下面那个源代码有点bug。。。在下一篇博客中改正了。。 这里,我介绍一下O(n)回文串处理的一种方法。Manacher算法.原文地址:http://zhuhongcheng.wordpress.com/2009/08/02/a-simple-linear-time-algorithm-for-finding-lo转载 2013-08-01 14:41:26 · 883 阅读 · 0 评论 -
九度笔记之 1405:店小二的IDEA
题目描述: 如何把一段信息最大限度的压缩,例如字符串abababab就可以看成是abab和abab的连接,在库中可以用串abab2来表示,但是你会发现这个压缩串并不是最好的,可以进一步压缩成ab4。利用辅助信息快速求解原创 2013-07-23 09:17:20 · 1373 阅读 · 0 评论 -
九度笔记之 项目安排
九度 http://ac.jobdu.com/problem.php?pid=1499题目描述:小明每天都在开源社区上做项目,假设每天他都有很多项目可以选,其中每个项目都有一个开始时间和截止时间,假设做完每个项目后,拿到报酬都是不同的。由于小明马上就要硕士毕业了,面临着买房、买车、给女友买各种包包的鸭梨,但是他的钱包却空空如也,他需要足够的money来充实钱包。万能的网友麻烦你来帮原创 2013-06-17 15:39:24 · 1195 阅读 · 0 评论 -
九度笔记之 调整数组顺序使奇数位于偶数前面
题目题目1516:调整数组顺序使奇数位于偶数前面时间限制:1 秒内存限制:128 兆特殊判题:否提交:13解决:6题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。输入原创 2013-06-26 13:53:03 · 1417 阅读 · 0 评论 -
九度笔记之 二叉树遍历
题目描述:二叉树的前序、中序、后序遍历的定义:前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树;中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树;后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。给定一棵二叉树的前序遍历和中序遍历,求其后序遍历(提示:给定前序遍历与中序遍历能够唯一确定后序遍历)。输入:原创 2013-06-08 15:35:38 · 1553 阅读 · 0 评论 -
九度笔记之 最大公约数
参考《编程之美》直接利用求余的话 对于特别大的数字计算量还是很大,利用辗转相减递归速度太慢,所以就用下面的方法a a,b都为偶数 则= 2*(a/2,b/2)a奇数 b偶数 =(a,b/2)a偶数 b奇数 =(a/2,b)a奇数 b奇数 =(a-b,b) int gcd(int a,int b){ if(a==b) retu原创 2013-06-08 05:47:33 · 966 阅读 · 0 评论 -
九度笔记之 最大上升子序列和
题目描述:一个数的序列bi,当b1 你的任务,就是对于给定的序列,求出最大上升子序列和。注意,最长的上升子序列的和不一定是最大的,比如序列(100, 1, 2, 3)的最大上升子序列和为100,而最长上升子序列为(1, 2, 3)。输入:输入包含多组测试数据。每组测试数据由两行组成。第一行是序列的长度N (1 输出:对于每组测试数据,原创 2013-06-14 15:50:54 · 966 阅读 · 0 评论 -
九度笔记之 1202排序
题目1202:排序时间限制:1 秒内存限制:32 兆特殊判题:否提交:2313解决:998题目描述: 对输入的n个数进行排序并输出。输入: 输入的第一行包括一个整数n(1 接下来的一行包括n个整数。输出: 可能有多组测试数据,对于每组数据,将排序后的n个整数输原创 2013-07-25 10:43:24 · 1006 阅读 · 0 评论 -
九度笔记之 1337:寻找最长合法括号序列
寻找最长合法括号序列 有图有真相原创 2013-08-02 14:47:31 · 2966 阅读 · 2 评论 -
九度笔记之 1351:数组中只出现一次的数字
题目1351:数组中只出现一次的数字1 秒内存限制:32 兆特殊判题:否提交:1139解决:314题目描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。输入:每个测试案例包括两行:第一行包含一个整数n,表示数组大小。2第二行包含n个整数,表示数组元素,元素均为int。原创 2013-08-05 15:31:40 · 1003 阅读 · 0 评论 -
九度笔记之 1352:和为S的两个数字
题目1352:和为S的两个数字时间限制:2 秒内存限制:32 兆特殊判题:否提交:1054解决:256题目描述:输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输入:每个测试案例包括两行:第一行包含一个整数n和k,n表示数组中的元素个数,k原创 2013-08-05 15:07:10 · 966 阅读 · 0 评论 -
九度笔记之 1350:二叉树的深度
题目1350:二叉树的深度时间限制:1 秒内存限制:32 兆特殊判题:否提交:298解决:174题目描述:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。输入:第一行输入有n,n表示结点数,结点号从1到n。根结点为1。 n 接下来有n行,每行有两个个整型a和b,表示第原创 2013-08-05 09:22:32 · 943 阅读 · 0 评论 -
九度笔记之 1339:ACM
题目1339:ACM题目描述:今年的ACM世界总决赛快要开始了,需要有一个排名算法来对每支队伍进行现场排名。ACM组委会把这个任务交给了你,相信你一定能很好地完成。 排名规则如下:通过题的数目多的队伍排名靠前,如果有多支队伍过的题的数目相同,则罚时少的队伍排名靠前。输入:输入的第一行包括一个整数N(1 接下来的N行每行包括一个字符串和两个整数num,原创 2013-08-05 09:53:22 · 1074 阅读 · 0 评论 -
九度笔记之 1357:疯狂地Jobdu序列
题目1357:疯狂地Jobdu序列时间限制:1 秒内存限制:32 兆特殊判题:否提交:529解决:168题目描述:阳仔作为OJ的数据管理员,每一周的题目录入都让其很抓狂,因为题目不是他出的,他控制不了出题的速度……在等题目的时候,阳仔又不敢出去打篮球,所以只能在纸上乱涂乱写,这天,阳仔在纸上写下了这样的序列:1 2 2原创 2013-08-05 15:55:36 · 1249 阅读 · 0 评论 -
九度笔记之 1333:考研海报(25分)
题目1333:考研海报(25分)时间限制:1 秒内存限制:32 兆特殊判题:否提交:544解决:201题目描述:sun是万千考研学子中的一员,他每天过着三点一线的生活。学校里有一个公告栏,他每天都看到上面张贴着各种考研海报。sun提出了一个问题:公告栏上还剩多少空白区域是没被考研海报张贴过的?于是sun果断上王道贴原创 2013-08-05 17:16:02 · 1213 阅读 · 0 评论 -
九度笔记之 1349:数字在排序数组中出现的次数
题目1349:数字在排序数组中出现的次数时间限制:1 秒内存限制:32 兆特殊判题:否提交:919解决:230题目描述:统计一个数字在排序数组中出现的次数。输入:每个测试案例包括两行:第一行有1个整数n,表示数组的大小。1第二行有n个整数,表示数组元素,每个元素均为int。第三行有1个整数m,表示接下来有m次查询。1下面有m行,每原创 2013-08-05 15:52:14 · 885 阅读 · 0 评论