算法
文章平均质量分 76
cherrcy
这个作者很懒,什么都没留下…
展开
-
poj刷题顺序
注明出处:http://blog.csdn.net/thestoryofsnow/article/details/409420091000 A+B Problem 0.55 188072 3389771004 Financial Management 0.41 58282 1403011003 Hangover 0.48 50457 1037421002 487-3279转载 2015-09-25 09:53:29 · 17516 阅读 · 0 评论 -
RQNOJ21--FBI树(树形结构)
题目描述 我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。 FBI树是一种二叉树1,它的结点类型也包括F结点,B结点和I结点三种。由一个长度为2^N的“01”串S可以构造出一棵FBI树T,递归的构造方法如下: 1) T的根结点为R,其类型与串S的类型相同; 2) 若串S的长度大于1,原创 2015-10-19 15:25:54 · 414 阅读 · 0 评论 -
POJ1657--Distance on Chessboard
#include #include #include #include #include #include #include #include using namespace std;int main(){ int t; string s1,s2; cin>>t; while(t--) { cin>>s1>>s2;原创 2015-10-12 14:44:09 · 377 阅读 · 0 评论 -
OpenJudge2749:分解因数
分解因数 总时间限制: 1000ms 内存限制: 65536kB描述给出一个正整数a,要求分解成若干个正整数的乘积,即a = a1 * a2 * a3 * ... * an,并且1 输入第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a (1 输出n行,每行输出对应一个输入。输出应是一个正整数,指明满足要求的分解的种数样例输原创 2015-10-12 17:49:11 · 4705 阅读 · 0 评论 -
POJ1664--放苹果(动态规划)
简单动态规划问题Description把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。Input第一行是测试数据的数目t(0 Output对输入的每组数据M和N,用一行输出相应的K。Sample Input17 3Sample Output81.当苹原创 2015-10-12 14:57:41 · 517 阅读 · 0 评论 -
POJ2387--Til the Cows Come Home(dijkstra算法)
DescriptionBessie is out in the field and wants to get back to the barn to get as much sleep as possible before Farmer John wakes her for the morning milking. Bessie needs her beauty sleep, so she原创 2015-10-19 17:35:56 · 312 阅读 · 0 评论 -
POJ1154--LETTERS(DFS)
LETTERSTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 7805 Accepted: 3544DescriptionA single-player game is played on a rectangular board divided in原创 2015-10-21 14:29:44 · 273 阅读 · 0 评论 -
修改栈,使得能O(1)的求出栈里最大的数和最小的数
思路:首先,建立3个栈,dataStack , minStack , maxStack 。这里只说如何求出最小元素。1.push() 将k插入dataStack中,如果minStack中没有数,则加入k;如果k比minStack.top()小,也加入k;否则对minStack不做操作。2.pop() 如果两个栈的头元素相同,则一起取出;若不相同,则只取出dataStack。3.原创 2015-09-14 16:34:46 · 363 阅读 · 0 评论 -
最大子数组和
暴力遍历可以解决这个问题,把所有情况遍历一遍,取最大值,但是如果要把时间复杂度控制在O(n),1.cursum2.cursum>0,把cursum =cursum + a[i]3.得打cursum的值再与sum的值比较,如果cursum大,则赋值给sum4.最后得到最大子数组和sum#include #include #include #include #define原创 2015-09-14 15:04:20 · 290 阅读 · 0 评论 -
OpenJudge4079:二叉搜索树
#include #include #include #include #include #include #include #include using namespace std;typedef struct BiNode{ struct BiNode *left; struct BiNode * right; int num;}BiNode,*Bi原创 2015-10-30 17:29:08 · 1043 阅读 · 0 评论