08 2011 档案

摘要:Common SubsequenceTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 9595Accepted Submission(s): 3923Problem DescriptionA subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = <x1, x 阅读全文
posted @ 2011-08-31 23:57 沐阳 阅读(5949) 评论(0) 推荐(1) 编辑
摘要:Free DIY TourTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1135Accepted Submission(s): 381Problem DescriptionWeiwei is a software engineer of ShiningSoft. He has just excellently fulfilled a software project with his fellow workers. His boss is.. 阅读全文
posted @ 2011-08-31 22:51 沐阳 阅读(672) 评论(0) 推荐(0) 编辑
摘要:Super Jumping! Jumping! Jumping!Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 9547Accepted Submission(s): 3918Problem DescriptionNowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a good 阅读全文
posted @ 2011-08-31 20:57 沐阳 阅读(396) 评论(0) 推荐(0) 编辑
摘要:这里主要预习了素数筛选以及输入外挂的编写。涛神的筛选法一直记着,给力。 #include <cstdio>#include <cstring>#include <cstdlib>using namespace std;char hash[16005] = {0};bool getint( int &t ){ char c; int f = 1; while( c = getchar(), c != '-' && ( c < '0' || c > '9' ) ) { if( c 阅读全文
posted @ 2011-08-29 21:22 沐阳 阅读(292) 评论(0) 推荐(0) 编辑
摘要:Calculate the formulaTime Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3836Accepted Submission(s): 1126Problem DescriptionYou just need to calculate the sum of the formula: 1^2+3^2+5^2+……+ n ^2.InputIn each case, there is an odd positive integer n.Ou 阅读全文
posted @ 2011-08-29 20:19 沐阳 阅读(537) 评论(0) 推荐(0) 编辑
摘要:模拟题。 代码如下:#include <cstdio>#include <cstring>#include <cstdlib>using namespace std;char q[2000];int main(){ while( gets( q ) ) { char * t, *p; int len = strlen( q ); t = q; while ( 1 ) { if( p = strchr( t, '?' ) ) { ... 阅读全文
posted @ 2011-08-29 15:07 沐阳 阅读(211) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3257 刚开始没有弄明白哪些十六进制数的意义,后来才恍然大悟,原来就是一个七行有无 '#' 二进制的表示,知道了这个后就比较简单了。 代码如下: 1 #include <cstring> 2 #include <cstdlib> 3 #include <cstdio> 4 using namespace std; 5 6 int num[85][10], base[10]; 7 8 int main() 9 {10 for( int i = 0; i < 阅读全文
posted @ 2011-08-29 13:38 沐阳 阅读(347) 评论(0) 推荐(0) 编辑
摘要:I Love You TooTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 865Accepted Submission(s): 531Problem DescriptionThis is atrue story. A man showed his love to a girl,but the girl didn't replied clearly ,just gave him a Morse Code:****-/*----/---- 阅读全文
posted @ 2011-08-29 12:49 沐阳 阅读(463) 评论(0) 推荐(0) 编辑
摘要:亲和串Time Limit: 3000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2427Accepted Submission(s): 1080Problem Description人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问题,同样的问题Eddy也一直在思考,因为他在很小的时候就知道亲和串如何判断了,但是发现,现在长大了却不知道怎么去判断亲和串了,于是他只好又再一次来请教聪明且乐于助人的你来解决这个问题。亲和串的定义是这样的:给定两个.. 阅读全文
posted @ 2011-08-29 01:38 沐阳 阅读(635) 评论(0) 推荐(0) 编辑
摘要:由于该题是求一个数是不是“自身数”,而定义一个数是不是“自身数”的根据就是是否有祖先,又因为一个数的祖先一定比这个数要小,所以这就和筛选法很像了。 代码如下: 1 #include <cstring> 2 #include <cstdlib> 3 #include <cstdio> 4 using namespace std; 5 6 char hash[1000005]; 7 8 void deal( int x ) 9 {10 int rec = x;11 while( x > 0 )12 {13 int c = x % 10;14 ... 阅读全文
posted @ 2011-08-29 00:44 沐阳 阅读(822) 评论(0) 推荐(0) 编辑
摘要:月之数Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2744Accepted Submission(s): 1585Problem Description当寒月还在读大一的时候,他在一本武林秘籍中(据后来考证,估计是计算机基础,狂汗-ing),发现了神奇的二进制数。如果一个正整数m表示成二进制,它的位数为n(不包含前导0),寒月称它为一个n二进制数。所有的n二进制数中,1的总个数被称为n对应的月之数。例如,3二进制数总共有4个,分别是4(10 阅读全文
posted @ 2011-08-28 23:38 沐阳 阅读(876) 评论(0) 推荐(0) 编辑
摘要:简单点说题目就是要求连个分数的最小公倍数,这个题目上次在参加比赛时遇到过,不过那时候是用很暴力的方法过的。本来上次我们已经推出来是求两个最简形式分数的分母的最小公倍数以及分母的最大公约数,不过就是A不掉,不过还好这次过掉了,方法论证是没错的。 对于两个最简的分数a / b, c / d 把他们两个的最小公倍数 x / y 也设为一个分数形式,那么这个 x 一定能够整除 a , c, y 一定能够被b , d整除。那么要求得最小公倍数,那么肯定是分子尽量小,即 a , c 的最小公倍数, 分母尽量大, 即 b , d 的最大公约数。 代码如下: 1 #include <stdio.h> 阅读全文
posted @ 2011-08-28 09:30 沐阳 阅读(1324) 评论(0) 推荐(0) 编辑
摘要:Distribute MessageTime Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 605Accepted Submission(s): 259Problem DescriptionThe contest’s message distribution is a big thing in prepare. Assuming N students stand in a row, from the row-head start transmit me 阅读全文
posted @ 2011-08-27 17:26 沐阳 阅读(425) 评论(0) 推荐(0) 编辑
摘要:一个很朴素的问题,但是貌似以前没有接触到过,给定一个长度的棍子,现在要得到三种规格的棍子,每种若干条,问最少需要多少条长棍来分成三种棍子。 一开始用模拟,结果超时了,后面想想思路也是错的。这题应该是这样去考虑,现在想象我们是一个木匠师傅,现在要为客户来解决这个问题,当我拿到一根长为75的木棍时,我肯定要物尽其极,最大利用率的截断方式是 75 = 20 + 20 + 32 次之 为 75 = 20 + 20 + 28 , 再者为 75 = 20 + 20 + 20, 这时截成三段,当然还可以截成两段,这时组合方式就没有关系了,因为前面已经算完了所有组成三段的可能,也就不许要考虑剩余的多少问... 阅读全文
posted @ 2011-08-27 16:21 沐阳 阅读(276) 评论(0) 推荐(0) 编辑
摘要:题目的意思求标号为1的点的最小可能的度,即在满足给定的条件下,如何连线能够使得连到1上的边尽可能的小。 由于题中要求 ① degree(i) != degree(j), (i != j, 1 <= i, j <= N). 所以每个点的度一定会是 1,2,3,4 ... N 分布,产生一个度为N的点,那么该点就要与其余N - 1个点以及标号为 “A”的点相连,一次这样的操作后,假设该次选择的点为X,那么N个点中除了 度为N的 X点,度为 1的与 X 相对的点 外,其余所有点的度均为 2,此时我们要选取出度为N-1的点,由于度为1的点(仅存的度为1的点)不能够改变它,所以下一步要在度为 阅读全文
posted @ 2011-08-27 14:41 沐阳 阅读(209) 评论(0) 推荐(0) 编辑
摘要:晚上果然是头昏脑涨,有点蛋蛋的忧伤啊。 该题讲的是一个交通系统,车票可以共享,即所有人坐车时,只要满足所有人加起来的时间比车票的总面值小就行,所以当有一个人要坐到更远的地方时,只要查看已经买的票是否够用,如果不够用就要增买车票。也即是车票能够满足后面的人能够到达这一站。 所以每次更新准则就是前面的车票总额能否使后面的人都到达下一站,如果能,花费不变,否则,花费为前面所述。 代码如下: 1 #include <cstdio> 2 #include <cstring> 3 #include <cstdlib> 4 #include <algorithm&g 阅读全文
posted @ 2011-08-27 13:44 沐阳 阅读(313) 评论(0) 推荐(0) 编辑
摘要:该题为简单的并查集应用,只要按要求把给定的关系合并起来,并在合并时遴选出最佳个数即可。 代码如下:#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>using namespace std;int set[100005];int cnt[100005];int max;inline int find( int x ){ return set[x]= x == set[x]? x: find( set[x] );}inline void merge( int x, 阅读全文
posted @ 2011-08-17 22:07 沐阳 阅读(323) 评论(0) 推荐(0) 编辑
摘要:1602: GCD depthTime Limit:1 SecMemory Limit:128 MBSubmit:24Solved:3[Submit][Status][Web Board]DescriptionIn mathematics, the greatest common divisor (gcd), also known as the greatest common factor (gcf), or highest common factor (hcf), of two or more non-zero integers, is the largest positive intege 阅读全文
posted @ 2011-08-17 17:25 沐阳 阅读(473) 评论(0) 推荐(0) 编辑
摘要:给定一个IP要求判断是否为正确IP。这里用sscanf进行处理较为方便。在数据末尾添加一个tail字符来判定是否还有缀余字符,利用到该函数的返回值。 #include <cstdio>#include <cstring>#include <cstdlib>using namespace std;bool r( int x ){ return x>= 0&& x<= 255? 1: 0;}int main(){ char ip[105]; while( gets( ip ) ) { int a, b, c, d, len= strl 阅读全文
posted @ 2011-08-16 22:34 沐阳 阅读(474) 评论(2) 推荐(0) 编辑
摘要:题义:给定一个数字串,求出这些串的第K小组合串。 代码如下:#include <cstdio>#include <algorithm>using namespace std;int num[1005];int main( ){ int N, M; while( scanf( "%d %d", &N, &M )!= EOF ) { for( int i= 1; i<= N; ++i ) { num[i]= i; } while( --M ) { next_permutation( num+ 1, num+ N+ 1 ); } fo 阅读全文
posted @ 2011-08-16 14:22 沐阳 阅读(286) 评论(0) 推荐(0) 编辑
摘要:BillboardTime Limit: 20000/8000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1619Accepted Submission(s): 809Problem DescriptionAt the entrance to the university, there is a huge rectangular billboard of size h*w (h is its height and w is its width). The board is the 阅读全文
posted @ 2011-08-16 11:17 沐阳 阅读(589) 评论(0) 推荐(0) 编辑
摘要:题目要求 x^2 + y^2+ z^2 = N,把 1^2 到 100^2 的平方数保留一份,并且标记一份,后面就使用两重循环就可以了。 代码如下:#include <cstring>#include <cstdlib>#include <cstdio>using namespace std;char hash[100005][2];int rec[105];int main(){ for( int i= 1; i<= 100; ++i ) { rec[i]= i* i; hash[rec[i]][0]= 1; hash[rec[i]][1]= i; 阅读全文
posted @ 2011-08-15 22:16 沐阳 阅读(429) 评论(0) 推荐(0) 编辑
摘要:题目:给定一个数字串0 - N-1,每次可以移动首位数字到末尾,求最少的逆序对的组合方式。先求出原序列的逆序对,再用数学公式算出最佳值。 假设有 10 个数,依题义为 0 - 9,那么首位为4的话,从首位移动到末尾产生新的逆序对为0 - 9中大于4的数字减去少于4的数。 代码如下:#include <cstdio>#include <cstring>#include <cstdlib>using namespace std;int N, num[5005];void getint( int &t ){ char c; while( c= getcha 阅读全文
posted @ 2011-08-15 21:52 沐阳 阅读(214) 评论(0) 推荐(0) 编辑
摘要:以下代码G++超时,C++勉强过,果然是链式的伤不起啊!!!#include <cstdio>#include <cstring>#include <cstdlib>using namespace std;int N, M, rec[200010];struct Node{ int l, r, best; Node *lch, *rch; Node( int ll, int rr ) { l= ll, r= rr, best= 0, lch= rch= NULL; } int mid( ) { return ( l+ r )>> 1; }};in 阅读全文
posted @ 2011-08-15 18:16 沐阳 阅读(251) 评论(0) 推荐(0) 编辑
摘要:这题就直接用Java水过了,利用BigDecimal 类型,但是还是有一种情况会判断出错,就是输入 0.0 和 0 ,程序会认为不相等,可能是由于在去除后导零的时候是在寻找前面的非零数字吧。解决的办法是先给 a , b 两个数都加上 1,判断是否相等。但是这样 -1.0 和 -1 又会判断错误了,没事,再分别加上一个1就可以了。 代码如下:import java.math.BigDecimal;import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(Str. 阅读全文
posted @ 2011-08-15 17:19 沐阳 阅读(493) 评论(0) 推荐(0) 编辑
摘要:该题也算是最基础的线段树了,由于没有很好的理解Lazy思想,导致前面为了写出一个正确的程序花了半天功夫啊。前面是这样想的,对于某一段区间,如果已经赋了值,那么后面的修改就在这个值上进行,例如前面如果1 - 3 赋为2,后面如果又有一次 2 - 3赋为1的话,那么就在 2- 3的区间上赋值为 -1,因为前面已经在1-3算作 2 了。虽说思路出来了,但后面一直还是WA,原因在于经过多次的更新后,有些应该被舍弃的值被重复利用了,比如上例中再出现一组1 - 3 赋值为3,后面的 2- 3区间值就不对了,于是又加了时间戳,最后写出来AC的代码也便是搓不可言了。#include <cstdio> 阅读全文
posted @ 2011-08-15 16:48 沐阳 阅读(525) 评论(0) 推荐(0) 编辑
摘要:写的这个伪线段树花了一个下午,为什么说是伪线段树呢,因为这道题目其实并没有对一定域进行更新,而只是找的某个点,所以这里的程序在找的时候无论是要更新的结点还是经过的路径都统一的 " += update " 了,加油,今天晚上在写点题目,写一个完整版的出来。小结也就等到下个完整版再一一写出来。 代码如下:#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <queue>#include <algorithm&g 阅读全文
posted @ 2011-08-14 19:53 沐阳 阅读(240) 评论(0) 推荐(0) 编辑
摘要:首先把100位长的斐波那契数全部计算出来,然后遍历计数,很暴力啊! 代码如下:import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); BigInteger[] a = new BigInteger[1000]; a[1] = BigInteger.ONE; a[2] = BigInteger.ONE.add( BigInteger.ONE ); a[. 阅读全文
posted @ 2011-08-14 15:14 沐阳 阅读(383) 评论(0) 推荐(0) 编辑
摘要:开辟一个数组通过 %2来计算斐波那契数。 代码如下:import java.math.BigDecimal;import java.math.BigInteger;import java.util.Locale;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); BigInteger[] a = new BigInteger[2]; int num, ca; ca = in.nextInt(); wh. 阅读全文
posted @ 2011-08-14 14:30 沐阳 阅读(297) 评论(0) 推荐(0) 编辑
摘要:输出之前先去掉前导的零,再转化为普通字符型,可能会以科学计数法输出。 代码如下:import java.math.BigDecimal;import java.util.Locale;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); BigDecimal a, b; while( in.hasNextBigDecimal() ) { a = in.nextBigDecimal(); b = in.n. 阅读全文
posted @ 2011-08-14 14:12 沐阳 阅读(317) 评论(0) 推荐(0) 编辑
摘要:这次是被彻底的无语了,由于对java语言的不熟悉,很对简单的操作都是无计可施,还好上网查了一下一些函数的API,熟悉了相关的操作。只能惊叹java自带的类还是很强大的。代码如下: import java.math.BigDecimal;import java.util.Locale;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); BigDecimal a, res; int exp; while . 阅读全文
posted @ 2011-08-14 13:58 沐阳 阅读(432) 评论(0) 推荐(0) 编辑
摘要:在做这个题的过程中有了解到了在java这么语言中,只有八种常量是直接分配内存的,其余对象均为引用类型,这样有效的避免了内存的浪费。不过还有一个问题,为什么这样写就不正确呢? if( b == BigInteger.ZREO ) {} 这个判定输入的b是否为零就不正确。 代码如下:import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { BigInteger sum, b; int T; Scanner in = new Sc. 阅读全文
posted @ 2011-08-14 11:08 沐阳 阅读(411) 评论(0) 推荐(0) 编辑
摘要:一道最基本的大数相加题,java果然强大啊。import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { BigInteger a, b; int T; Scanner in = new Scanner(System.in); T = in.nextInt(); for (int i = 1; i <= T; ++i) { System.out.println("Case" + " " 阅读全文
posted @ 2011-08-14 09:53 沐阳 阅读(2442) 评论(0) 推荐(0) 编辑
摘要:汉诺塔IIITime Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3657Accepted Submission(s): 1668Problem Description约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下、由小到大顺序串着由64个圆盘构成的塔。目的是将最左边杆上的盘全部移到右边的杆上,条件是一次只能移动一个盘,且不允许大盘放在小盘的上面。现在我们改变游戏的玩法,不允许直接从最左(右)边移到最右(左) 阅读全文
posted @ 2011-08-12 21:49 沐阳 阅读(3927) 评论(0) 推荐(0) 编辑
摘要:首先解释下这题的名字,下沙是个地名,面的是一种公共交通工具,小是个形容词...... 对于这题那便是DFS纯暴力了,每次先到达不同的第一站,再扩展下去到第二站... 暴力枚举每一种可能,最后保留最小值。 代码如下:#include <cstdio>#include <cstring>#include <cstdio>using namespace std;int map[35][35], N, K, obj[35], RK;void DFS( int pos, int step, int dis, int &ans ){ if( step== RK 阅读全文
posted @ 2011-08-12 15:09 沐阳 阅读(536) 评论(0) 推荐(1) 编辑
摘要:可恶的模拟题,刚进入的那一步竟然不算,贡献了多次WA啊,只要注意这点应该就木有问题了。#include <cstring>#include <cstdlib>#include <cstdio>using namespace std;int N, M, sx, sy;char map[15][15], hash[15][15];bool out( int x, int y ){ if( x< 1|| x> N|| y< 1|| y> M ) { return true; } return false;}bool DFS( int &am 阅读全文
posted @ 2011-08-12 14:39 沐阳 阅读(200) 评论(0) 推荐(0) 编辑
摘要:给定一个非递减的序列,要求从这些序列中找出一系列的数相加等于要求的数。这题的主要任务就是怎样去重。 现分析如下: 对于给定的两个非递减序列,A, B, C, D 用来映射各个数的位置,2(A) 1(B) 1(C) 1(D) 以及 2(A) 2(B) 2(C) 1(D), 要求求出和为3的表达式。 显然前面的序列递归下去会首先出现A+ B的组合,由于此时A+ B已经等于了3,所以递归就会回溯,此时会形成A+ C的组合,按照正常人的思维,这个解肯定是不能够取的,但是计算机有这么聪明吗?显然还是要我们来设计各种复杂的判断...... 转回正题,我们在递归时有一个属性就是递归的层数,而该题的求解就会. 阅读全文
posted @ 2011-08-12 11:35 沐阳 阅读(419) 评论(0) 推荐(0) 编辑
摘要:简单DFS,需要注意的是最后的那个数加上一要是个素数。 代码如下:#include <cstring>#include <cstdlib>#include <cstdio>#include <cmath>using namespace std;int hash[25], rec[25], cnt;bool isprime( int x ){ if( x<= 1 ) return false; if( x== 2 ) return true; int lim= sqrt( x ); for( int i= 2; i<= lim; ++i 阅读全文
posted @ 2011-08-11 21:14 沐阳 阅读(193) 评论(0) 推荐(0) 编辑
摘要:Accepted NecklaceTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1027Accepted Submission(s): 407Problem DescriptionI have N precious stones, and plan to use K of them to make a necklace for my mother, but she won't accept a necklace which is to 阅读全文
posted @ 2011-08-11 20:38 沐阳 阅读(296) 评论(0) 推荐(0) 编辑
摘要:简单DFS,代码如下:#include <cstdio>#include <cstring>#include <cstdlib>using namespace std;char word[10000][100];int hash[10000];void DFS( char *w, int cnt, int &ans ){ if( w[ strlen( w )- 1 ]== 'm' ) { ans= 1; return; } for( int i= 0; i< cnt; ++i ) { if( !hash[i]&& 阅读全文
posted @ 2011-08-11 16:02 沐阳 阅读(259) 评论(0) 推荐(0) 编辑
摘要:连连看Time Limit: 20000/10000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5613Accepted Submission(s): 1455Problem Description“连连看”相信很多人都玩过。没玩过也没关系,下面我给大家介绍一下游戏规则:在一个棋盘中,放了很多的棋子。如果某两个相同的棋子,可以通过一条线连起来(这条线不能经过其它棋子),而且线的转折次数不超过两次,那么这两个棋子就可以在棋盘上消去。不好意思,由于我以前没有玩过连连看,咨询了同学的意见 阅读全文
posted @ 2011-08-09 18:20 沐阳 阅读(1023) 评论(0) 推荐(0) 编辑
摘要:Asteroids!Problem DescriptionYou're in space.You want to get home.There are asteroids.You don't want to hit them.InputInput to this problem will consist of a (non-empty) series of up to 100 data sets. Each data set will be formatted according to the following description, and there will be n 阅读全文
posted @ 2011-08-09 16:30 沐阳 阅读(688) 评论(0) 推荐(0) 编辑
摘要:NightmareTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2853Accepted Submission(s): 1423Problem DescriptionIgnatius had a nightmare last night. He found himself in a labyrinth with a time bomb on him. The labyrinth has an exit, Ignatius should get 阅读全文
posted @ 2011-08-09 15:32 沐阳 阅读(315) 评论(0) 推荐(0) 编辑
摘要:Knight MovesTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2169Accepted Submission(s): 1380Problem DescriptionA friend of you is doing research on the Traveling Knight Problem (TKP) where you are to find the shortest closed tour of knight moves th 阅读全文
posted @ 2011-08-09 14:43 沐阳 阅读(1588) 评论(0) 推荐(1) 编辑
摘要:RescueTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5895Accepted Submission(s): 2192Problem DescriptionAngel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M (N, M <= 200) matrix. There are WALLs, 阅读全文
posted @ 2011-08-09 12:16 沐阳 阅读(399) 评论(0) 推荐(0) 编辑
摘要:诡异的楼梯Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 3323Accepted Submission(s): 746Problem DescriptionHogwarts正式开学以后,Harry发现在Hogwarts里,某些楼梯并不是静止不动的,相反,他们每隔一分钟就变动一次方向. 比如下面的例子里,一开始楼梯在竖直方向,一分钟以后它移动到了水平方向,再过一分钟它又回到了竖直方向.Harry发现对他来说很难找到能使得他最快到达目的地的路线 阅读全文
posted @ 2011-08-09 11:17 沐阳 阅读(502) 评论(0) 推荐(0) 编辑
摘要:由于对一道题目的错误理解,导致突然萌发了对与map的用法的开发,就是在形如 map< Node, int >,那么只要在重载Node的 '<'操作符时只针对个别元素,那么这些特别元素相同的结构体会被map视为相同的。 代码如下:#include <map>#include <cstdio>#include <cstring>#include <iostream>using namespace std;struct Node{ int a, b; string str; Node( int n, int m, st 阅读全文
posted @ 2011-08-08 22:26 沐阳 阅读(243) 评论(0) 推荐(0) 编辑
摘要:非常可乐Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1190Accepted Submission(s): 500Problem Description大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为。因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多。但seeyou的手中只有两个杯子,它们的容量分别是N 毫升和M 毫升 可乐的体积为S (S<1 阅读全文
posted @ 2011-08-08 17:51 沐阳 阅读(1987) 评论(0) 推荐(0) 编辑
摘要:A计划Time Limit: 3000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4156Accepted Submission(s): 936Problem Description可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生命的考验。魔王已经发出消息说将在T时刻吃掉公主,因为他听信谣言说吃公主的肉也能长生不老。年迈的国王正是心急如焚,告招天下勇士来拯救公主。不过公主早已习以为常,她深信智勇的骑士LJ肯定能将她救出。现据密探所报,公主被 阅读全文
posted @ 2011-08-08 16:28 沐阳 阅读(1207) 评论(0) 推荐(0) 编辑
摘要:注意求最小公倍数的时候先乘后除,代码如下:#include <stdio.h>#include <math.h>int gcd( int a, int b ){ if( b== 0 ) { return a; } return gcd( b, a% b );}int main(){ int T; scanf( "%d", &T ); while( T-- ) { int N, last, cur; scanf( "%d", &N ); scanf( "%d", &last ); for( 阅读全文
posted @ 2011-08-08 12:15 沐阳 阅读(261) 评论(0) 推荐(0) 编辑
摘要:Flow ProblemTime Limit: 5000/5000 MS (Java/Others)Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 1252Accepted Submission(s): 606Problem DescriptionNetwork flow is a well-known difficult problem for ACMers. Given a graph, your task is to find out the maximum flow for the weighted direc 阅读全文
posted @ 2011-08-08 10:40 沐阳 阅读(2410) 评论(0) 推荐(1) 编辑
摘要:World ExhibitionTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 568Accepted Submission(s): 264Problem DescriptionNowadays, many people want to go to Shanghai to visit the World Exhibition. So there are always a lot of people who are standing along 阅读全文
posted @ 2011-08-06 16:48 沐阳 阅读(378) 评论(0) 推荐(0) 编辑
摘要:Burn the Linked CampTime Limit: 1 Second Memory Limit: 32768 KBIt is well known that, in the period of The Three Empires, Liu Bei, the emperor of the Shu Empire, was defeated by Lu Xun, a general of the Wu Empire. The defeat was due to Liu Bei's wrong decision that he divided his large troops in 阅读全文
posted @ 2011-08-05 19:23 沐阳 阅读(712) 评论(0) 推荐(0) 编辑
摘要:作为最短路的其他几种解法,是很有必要掌握的,已知的Dijkstra只能够解决不存在负权边的图形(其灵魂是在确定点的时候同时预言了其后面一定是大于零的边),而 Floyed 算法的时间复杂度决定了其使用的范围。所以在遇到负权边的时候就要用到Bellman-Ford或者是SPFA了,可以说其是对于 Dijkstra 算法的一个简化,没有了寻找最小路径长度点然后加入集合的过程。Bellman每次都暴力搜索所有顶点,直到没有点再被更新为止,SPFA遇到更新的点就加入队列,直到队列为空为止,当然也可以使用栈。 这是写的两个简单的程序:// Bellman-Ford#include <cstdio& 阅读全文
posted @ 2011-08-05 15:39 沐阳 阅读(309) 评论(0) 推荐(0) 编辑
摘要:题目给定一个非常巨大的串,然后给定许多模式串去匹配,如果是用KMP的话那么母串会被扫描很多次,这样便会超时。 AC自动机,一种对于多串匹配的优化,其原理很想KMP,只不过,在KMP算法中,next值只在于与自身的前缀进行匹配,而这里则将next的范围扩展到其他串的前缀,很NB的想法啊。哦,对了,其与KMP的区别还有一些地方,每次匹配一个字符时都搜索到根节点,看在这途中是否存在一个完整的单词。时间有限,不详写了。 代码如下:#include <stdio.h>#include <string.h>#include <math.h>#include <qu 阅读全文
posted @ 2011-08-04 12:05 沐阳 阅读(383) 评论(0) 推荐(0) 编辑
摘要:题目是给定一个数字串,求出这些数字串中哪些出现的次数是奇数次,所以运用按位异或就能够直接将出现偶数次的数字抵消掉。不加输入外挂G++ 500MS+加了之后62MS 代码如下:#include <stdio.h>void getint( int &c ){ char chr; while( chr= getchar(), chr< '0'|| chr> '9' ) ; c= chr- '0'; while( chr= getchar(), chr>= '0'&& chr<= 阅读全文
posted @ 2011-08-03 19:53 沐阳 阅读(317) 评论(0) 推荐(0) 编辑
摘要:1567: 折纸Time Limit: 1 SecMemory Limit: 128 MBSubmit: 10Solved: 3[Submit][Status][Web Board]Description小熊vee很喜欢玩折纸,所以经常把她哥哥的作业本撕下来折纸,今天vee纸张的时候突然想到了一个问题,给你一张格子张纸(.... 就是小学时写作业用的小字本一样的格子)共有n行,m列,然后规定你有四种折的方法,top flip,bottom flip,left flip,right flip。top flip: 是将最上面的第一行翻折,并与第二行重叠,在第二行之上。(于是折之前的第二行将变为第一 阅读全文
posted @ 2011-08-03 18:44 沐阳 阅读(297) 评论(0) 推荐(0) 编辑
摘要:1558: Count CyclesTime Limit: 1 SecMemory Limit: 128 MBSubmit: 84Solved: 21[Submit][Status][Web Board]DescriptionIn information theory, a low-density parity-check (LDPC) code is a linear error correcting code, a method of transmitting a message over a noisy transmission channel, and is constructed u 阅读全文
posted @ 2011-08-02 19:22 沐阳 阅读(275) 评论(0) 推荐(0) 编辑
摘要:1560: The Least Palindromic NumberTime Limit: 1 SecMemory Limit: 128 MBSubmit: 111Solved: 15[Submit][Status][Web Board]Description Palindromic numbers are digital strings that read the same both forwards and backwards. For example, 121, 44 and 3 are Palindromic numbers, 175, 36 are not;For a given i 阅读全文
posted @ 2011-08-02 19:08 沐阳 阅读(474) 评论(0) 推荐(0) 编辑
摘要:1102: 月份牌Time Limit: 1 SecMemory Limit: 128 MBSubmit: 48Solved: 2[Submit][Status][Web Board]Description这里有一份2011年的月份牌可以参考 January February March Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 1 2 3 4 5 1 2 3 4 5 2 3 4 5 6 7 8 6 7 8 9 10 11 12 6 7 8 9 10 11 12 9 10 11 12 13 14 15 13 阅读全文
posted @ 2011-08-02 10:28 沐阳 阅读(366) 评论(0) 推荐(0) 编辑
摘要:1556: 网址Time Limit: 1 SecMemory Limit: 128 MBSubmit: 16Solved: 4[Submit][Status][Web Board]Description我们平时上网总是需要输入网址的,可是,这里有一堆的字符串,请判断这是不是一个网址。网址的规则如下:1、网址由协议、域名、端口、路径和文件构成,一个网址的实例:http://openoj.awaysoft.com:80/JudgeOnline/index.html2、协议,以协议名+://构成,如1中的http://,这里限定使用ftp和http两种协议,这部分可以省略。3、域名由字母、数字、下 阅读全文
posted @ 2011-08-01 22:24 沐阳 阅读(556) 评论(0) 推荐(0) 编辑
摘要:不容易系列之(4)——考新郎Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 8373Accepted Submission(s): 3155Problem Description国庆期间,省城HZ刚刚举行了一场盛大的集体婚礼,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目,叫做"考新郎",具体的操作是这样的:首先,给每位新娘打扮得几乎一模一样,并盖上大大的红盖头随机坐成一排;然后,让各位新郎寻找自己的新娘.每人只 阅读全文
posted @ 2011-08-01 22:19 沐阳 阅读(383) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示