上一页 1 ··· 6 7 8 9 10 11 12 13 下一页
摘要: 时间限制:1000 ms | 内存限制:65535 KB难度:3描述在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量。如果前一颗能量珠的头标记为m,尾标记为r,后一颗能量珠的头标记为r,尾标记为n,则聚合后释放的能量为(Mars单位),新产生的珠子的头标记为m,尾标记为n。需要时,Mars人就用吸盘夹住相 阅读全文
posted @ 2012-02-26 19:47 qijinbiao1 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 时间限制:3000 ms | 内存限制:65535 KB难度:3描述咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。输入第一行给出一个整数N(0<N<100)表示待测数据组数接下来每组数据两行,分别为待测的两组字符串。每个字符串长度不大于1000.输出每组测试数据输出一个整数,表示最长公共子序列长度 阅读全文
posted @ 2012-02-26 13:40 qijinbiao1 阅读(248) 评论(0) 推荐(0) 编辑
摘要: View Code 1 #include <iostream>//2084 数塔 2 #define max(a,b) (((a) > (b)) ? (a) : (b)) 3 #define mx 101 4 using namespace std; 5 int f[mx][mx],a[mx][mx]; 6 int fan(int i,int j) 7 { 8 if (f[i][j]!=-1) 9 {10 return f[i][j];11 }12 else13 return max(f[i+1][j]=fan(i+1,j),f... 阅读全文
posted @ 2012-02-26 11:47 qijinbiao1 阅读(196) 评论(0) 推荐(0) 编辑
摘要: View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #define Max 10010 5 #define max(a,b) (((a) > (b)) ? (a) : (b)) 6 using namespace std; 7 char ch[Max]; 8 int d[Max]; 9 int dp(int i)10 {11 int k,ans=1;12 if(d[i]!=-1)13 return d[i];14 for(k=i-1;k>=0;k--)15 阅读全文
posted @ 2012-02-26 11:28 qijinbiao1 阅读(194) 评论(0) 推荐(0) 编辑
摘要: Doctor serves at a military air force base. One day, the enemy launch a sudden attack and the base is under heavy fire. The fighters in the airport must take off to intercept enemy bombers. However, the enemies know this clearly and they now focus on destroying the runway. The situation is becoming 阅读全文
posted @ 2012-02-25 19:54 qijinbiao1 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 时间限制:3000 ms | 内存限制:65535 KB难度:4View Code #include<iostream>#include<cstdio>#include<cstring>#define N 1005#define max(a,b) (((a) > (b)) ? (a) : (b))using namespace std;struct node{ int a,b;}map[N];int d[N],n;int dp(int k){ int ans=1,i; if(d[k]!=-1) return d[k]; for(i=0;i<n;i 阅读全文
posted @ 2012-02-25 09:33 qijinbiao1 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 时间限制:1000 ms | 内存限制:65535 KB难度:6描述给你一个字符串,里面只包含"(",")","[","]"四种符号,请问你需要至少添加多少个括号才能使这些括号匹配起来。如:[]是匹配的([])[]是匹配的((]是不匹配的([)]是不匹配的输入第一行输入一个正整数N,表示测试数据组数(N<=10)每组测试数据都只有一行,是一个字符串S,S中只包含以上所说的四种字符,S的长度不超过100输出对于每组测试数据都输出一个正整数,表示最少需要添加的括号的数量。每组测试输出占一行样例输入4[]([])[ 阅读全文
posted @ 2012-02-23 19:25 qijinbiao1 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 描述Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,一条可滑行的滑坡为24-17-16-1。当然25-24-23-...-3-2-1更长。事实上,这是最长的一条。输入第一行表示有 阅读全文
posted @ 2012-02-22 13:27 qijinbiao1 阅读(229) 评论(0) 推荐(1) 编辑
摘要: 小根堆#include <iostream>#include <stdio.h>#define M 20002using namespace std;int A[M],len;void Min_Heap(int i){ int l=i<<1,r=l+1; int temp,least=i; if(l<=len&&A[l]<A[i]) { least=l; } if(r<=len&&A[r]<A[least]) { least=r; } if(least<=len&&least!=i 阅读全文
posted @ 2011-11-06 22:51 qijinbiao1 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 表达式求值时间限制:3000 ms | 内存限制:65535 KB难度:4描述ACM队的mdd想做一个计算器,但是,他要做的不仅仅是一计算一个A+B的计算器,他想实现随便输入一个表达式都能求出它的值的计算器,现在请你帮助他来实现这个计算器吧。比如输入:“1+2/4=”,程序就输出1.50(结果保留两位小数)输入第一行输入一个整数n,共有n组测试数据(n<10)。每组测试数据只有一行,是一个长度不超过1000的字符串,表示这个运算式,每个运算式都是以“=”结束。这个表达式里只包含+-*/与小括号这几种符号。其中小括号可以嵌套使用。数据保证输入的操作数中不会出现负数。数据保证除数不会为0输出 阅读全文
posted @ 2011-10-25 21:46 qijinbiao1 阅读(298) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 下一页