- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 POJ 3624 Charm Bracelet - 01背包-详解
题目大意:有n个重量和价值分别为wi,vi,的物品,从这些物品中挑选出总重量不超过W的物品, 求所有的挑选方案中价值总和的最大值。(这里需要注意的问题每一件物品只有一件)。Sample Input4 6 1 4 2 6 3 12 2 7Sample Output23 解题思路: #include<iostream>#include<st...
2018-03-31 17:08:55 210
原创 POJ 1458 - Common Subsequence - 最长公共子序列-详解
题目大意: 给出两个字符串,求出这样的一个最长的公共子序列的长度:子序列中的每个字符都能在两个原串中找到,而且每个字符的先后顺序和原串中的先后顺序一致。 如: ABCBDAB BDCABA 它们的最长公共子序列就是 BCBA,长度为4。 #include<iostream>#include<cstring>using namespace std;...
2018-03-31 16:54:19 186
原创 POJ2533 -Longest Ordered Subsequence最长上升子序列-动规和nlogn二分算法详解
题目: 描述一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK),这里1 <= i1 < i2 < … < iK <= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序...
2018-03-31 16:17:17 220
原创 动态规划的一般解题思路-详解
1、将原问题转化为子问题2、确定状态3、确定一些初始状态(边界状态)以“数字三角形”为例,初始状态就是底边数字值4、确定状态转移方程5、动态规划的子问题的特点...
2018-03-31 16:03:44 3870
原创 POJ 1163 The Triangle - 数字三角形详解
题意大致: 解题思路:这道题目可以用递归的方法解决。基本思路是:D(r,j)表示第 r 行第 j 个数字(r,j都从 1 开始算),以 MaxSum(r,j)代表从第 r 行的第 j 个数字到底边的最佳路径的数字之和,则本题目要求MaxSum(1,1)。 从某个D(i,j)出发,显然下一步只能走D(r+1,j)或 D(r+1,j+1)。如果走D(r+1,j),那么得到的Ma...
2018-03-31 15:52:53 352
原创 快速排序的详解
下面时快速排序的过程: 把图看懂,下面程序打一遍你就会如何编写快速排序了#include<iostream>#include<stdio.h>using namespace std;int a[101],n;void quicksort(int left,int right){ int i,j,temp,t; if(left>ri...
2018-03-31 15:10:58 683 1
原创 归并排序详解
分治的子过程:#include<iostream>using namespace std;void Merge(int a[],int s,int m,int e,int tmp[]){//将数组 n的局部a[s,m]和a[m+1,e]合并到tmp,并保证tmp有序,然后再拷贝回a[s,m]//归并操作时间复杂度:O(e-m+1),即O(n) int pd ...
2018-03-31 14:40:41 488
原创 上台阶
题目:楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编一程序计算共有多少种不同的走法? #include<iostream>using namespace std;int N;int stairs(int n){ if(n < 0){ return 0; } if(n == 0){ return ...
2018-03-30 16:33:18 1254 1
原创 逆波兰表达式(后缀表达式)-详解
逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。 逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序, 例如(2 + 3) * 4的逆波兰表示法为* + 2 3 4。本题求解逆波兰表达式的值,其中运算符包括+ - * /四个。 本题考查的是递归形式定义的问题递归解决#include<iostream...
2018-03-30 16:25:32 2617
原创 POJ 1664放苹果 - 详解
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 36068 Accepted: 22275Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。Input 第一行是测试数据的数目t(0 &...
2018-03-30 16:16:21 524 1
原创 POJ 3983 算24 - 详解
快算24 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5339 Accepted: 3225Description 给定4个不大于10的正整数(范围1-10),要求在不改变数据先后顺序的情况下,采用加减乘除四种运算,找到一个表达式,使得最后的结果是24。Input 4个不大于10的正整数。输...
2018-03-30 16:06:26 1309
原创 n皇后问题-详解
问题描述:n皇后问题是一个以国际象棋为背景的问题:如何能够在 n x n 的国际象棋棋盘上放置n个皇后, 使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的, 任两个皇后都不能处于同一条横行、纵行或斜线上。解题思路:我们先用八皇后问题退出 n皇后问题来讲解解题思路,考虑一次将所有92种八皇后的摆放方法求解出并保存起来,则可以按照任意的要求直接输出指定的皇后串。寻找八皇后问题的所有92...
2018-03-30 15:59:25 658
原创 汉诺塔问题-详解
解题思路:可以用递归思路分析,即把原问题分解成一个或多个形式相同,但规模小一些的问题,结果会发现,要把 A座上的 n个盘子通过 B座中移动到 C座,可以分为一下三个步骤来完成 (1)将 A座上的 n - 1个盘子以 C座为中转,移动到 B座 (2)把 A座最小面的一个盘子移动到 C座 (3)将 B座上的 n - 1个盘子以A座为中转,移动到 C座 上面的...
2018-03-30 15:47:00 305
原创 POJ 1543Perfect Cubes - 完美立方 - 详解
题目大意:形如a3= b3 + c3 + d3的等式被称为完美立方等式。例如123= 63 + 83 + 103。编写一个程序,对任给的正整数N(NS100),寻找所有的四元组(a, b, c, d),使得a3 = b3 +c3 + d3,其中a,b,c,d大于1,小于等于N,且b<=c<=d。 •输入 一个正整数N (N<100)。 *输出 每行输出一个完美立方。...
2018-03-30 15:34:48 1642
原创 poj 1222 EXTENDED LIGHTS OUT - 熄灯问题-详解
一个由按钮组成的矩阵,其中每行有6个按钮,共5行。每个按钮的位置上有一盏灯。当按下一个按钮后,该按钮以及周围位置(上边、下边、左边、右边)的灯都会改变一次。即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的,则会被点亮。在矩阵角上的按钮改变3盏灯的状态;在矩阵边上的按钮改变4盏灯的状态;其他的按钮改变5盏灯的状态。 所以在5x6的矩阵中,左边矩阵中用X标记的按钮表示被按下,右边的矩阵表示...
2018-03-30 15:12:43 659
原创 poj1013 -Counterfeit Dollar 称硬币问题-详解
题目大意: 有12枚硬币。其中有11枚真币和1枚假币。假币和真币重量不同,但不知道假币比真币轻还是重。现在,用一架天平称了这些币三次,告诉你称的结果,请你找出假币并且确定假币是轻是重(数据保证一定能找出来)。 输入 第一行是测试数据组数。 每组数据有三行,每行表示一次称量的结果。银币标号为A-L。每次称量的结果用三个以空格隔开的字符串表示:天平左边放置的硬币天平右边放置的硬币平...
2018-03-30 14:16:17 487 1
原创 poj 1006 生理周期 - 详解
生理周期 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 143259 Accepted: 46060Description 人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,智力周期的...
2018-03-30 13:54:13 438
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人