- 博客(24)
- 收藏
- 关注
原创 0-1背包问题从复杂到简单的优化历程
0-1背包是动态规划里面一个典型的案例,大致要求就是给你一个容量为M的背包,然后给你N个价值不同的物品,让你在不超过背包容量的前提之下使得装入背包的物品的总价值最大。物品只可以装入一次,这也是0-1背包的问题所在,每个物品只有两个状态,装入或者不装入,即0和1 两种状态。我们简单来分析一下这个问题,其实把子问题抽象出来就是,在装入第i个物品时,如果该物品不被装入,那么此时背包的总价值就是前i-1个
2017-11-27 22:08:06 968
原创 L - 最大子段和
N个整数组成的序列a11,a22,a33,…,ann, 求该序列如aii+ai+1i+1+…+ajj的连续子段和的最大值。当所给的整数均为负数时和为0。例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。Input第1行:整数序列的长度N(2 第2 - N + 1行:N个整数(-10^9 ii <= 10^9)Output输出最大子段和
2017-11-26 13:29:03 365
原创 Longest Ordered Subsequence--dp水题
A numeric sequence of ai is ordered if a1 a2 aN. Let the subsequence of the given numeric sequence ( a1, a2, ..., aN) be any sequence ( ai1, ai2, ..., aiK), where 1 i1 i2 iK N. For example, sequen
2017-11-26 12:22:19 429
原创 Super Jumping! Jumping! Jumping! --简单dp
Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a good boy, and know little about this game, so I introduce it to you now. The
2017-11-23 20:37:07 352
原创 剪格子--dfs
题目描述如图p1.jpg所示,3 x 3 的格子中填写了一些整数。 我们沿着图中的红色线剪开,得到两个部分,每个部分的数字和都是60。 本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。 如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目。 如果无法分割
2017-11-22 18:19:00 365
原创 买不到的数目--数论+模拟
题目描述小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。 小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。 你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。 本题的要求就是在已知两个包装的数量时,求
2017-11-22 17:05:41 301
原创 第39级台阶--递归
标题: 第39级台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢? 请你利用计算机的优势,
2017-11-18 16:41:39 596
原创 dfs-字符全排列
package aaa;import java.util.*;public class Main { static Scanner in = new Scanner(System.in); static boolean[] vis= new boolean[28]; static char[] ans= new char[26]; static char[] c = n
2017-11-18 15:55:56 386
原创 猜年龄--根据条件限制范围
标题: 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。 一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说: “我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”
2017-11-18 15:21:32 750
原创 Flipping Burned Pancakes --模拟
The cook at the Frobbozz Magic Pancake House sometimes falls asleep on the job while cooking pancakes. As a result, one side of a stack of pancakes is often burned. Clearly, it is bad business to serv
2017-11-16 21:22:52 478
原创 The Suspects --并查集水题
Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a global threat in mid-March 2003. To minimize transmission to others, the best strategy is to s
2017-11-14 22:00:05 378
原创 Wireless Network --并查集
An earthquake takes place in Southeast Asia. The ACM (Asia Cooperated Medical team) have set up a wireless network with the lap computers, but an unexpected aftershock attacked, all computers in the n
2017-11-14 21:46:03 351
原创 还是畅通工程--最小生成树+并查集
某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。 Input测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( 当N为0时,输入结束,该用例不被处理。 Output对每个测
2017-11-12 14:32:27 387
原创 - How Many Tables --并查集
Today is Ignatius' birthday. He invites a lot of friends. Now it's dinner time. Ignatius wants to know how many tables he needs at least. You have to notice that not all the friends know each other, a
2017-11-12 12:00:55 301
原创 A - 畅通工程 --并查集
某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( 注意:两个城市之间可以有多条道路相通,也就是说 3 3
2017-11-12 11:57:27 283
原创 Catch That Cow --bfs
Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ K ≤ 100,0
2017-11-04 20:26:44 285
原创 经典回溯八皇后问题--递归
是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果分析:我们对于每一行进行摆放,设pos[i]的值表示第i
2017-11-04 19:08:48 407
原创 棋盘问题 --dfs加回溯
在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。 每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n 当为-1 -1时表示输入结束
2017-11-04 12:13:55 311
原创 哈哈
记录一下这个搜索题的链接。。。没带笔。。。http://blog.csdn.net/qq_31736627/article/details/53409662
2017-11-02 19:58:47 211
原创 Hdu--Rescue之bfs加优先队列
Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M (N, M Angel's friends want to save Angel. Their task is: approach Angel. We assume that "approa
2017-11-02 19:11:41 404
原创 搜索算法的剪枝优化
概要:众所周知,搜索算法分为深度优先搜索和广度优先搜索两种。深度优先算法就是一条道走到底,直到走到了死胡同就会回溯继续寻找下一条路径直到找到可行结果。广度优先搜索就是一层一层的进行扩展,在每一步可达的基础之上再进一步扩展,直到叶子节点一定会有结果值。但是,深搜的时间复杂度令人头疼,而广搜的空间复杂度也是令人望而生怯。于是就出现了剪枝这一种优化方法,因为我们在进行搜索时实际上形成了一棵搜索树,而剪枝
2017-11-02 15:44:53 1683
原创 Tempter of the Bone--dfs加剪枝优化
Problem DescriptionThe doggie found a bone in an ancient maze, which fascinated him a lot. However, when he picked it up, the maze began to shake, and the doggie could feel the ground sinking. He
2017-11-02 13:04:57 312
转载 hdu搜索练习
刷题是人生最大的乐趣,也是通往成功的捷径加油啦,附上大佬的刷题链接http://blog.csdn.net/qq_31736627/article/details/53409662http://www.cnblogs.com/kiwi-bird/archive/2012/11/24/2785247.html
2017-11-02 11:09:28 360
原创 G - 非常可乐--重复广搜
大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为。因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多。但seeyou的手中只有两个杯子,它们的容量分别是N 毫升和M 毫升 可乐的体积为S (SInput三个整数 : S 可乐的体积 , N 和 M是两个杯子的容量,以"0 0 0"结束。Output
2017-11-02 10:26:51 413
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人