UVA 10313 - Pay the Price
摘要:理解了别人的代码,找好状态,以后再做一遍。。#include<stdio.h>#include<string.h>#define MAXN 310char b[100];int N, L1, L2;long long int f[MAXN][MAXN];void prepare(){ int i, j; N = 300; memset(f, 0, sizeof(f)); f[0][0] = 1; for(i = 0; i <= N; i ++) for(j = 1; j <= N; j ++) { if(i - j...
阅读全文
posted @
2012-07-31 13:39
BFP
阅读(223)
推荐(0) 编辑
UVA 10599 - Robots(II)
摘要:又是一道做的不成熟的题:怎么改呢。。。明天想想。。。#include<stdio.h>#include<string.h>#include<stdlib.h>#define MAXN 10000+100int num, n, m, g, e;int x[MAXN], y[MAXN], f[MAXN], flag[MAXN], p[MAXN], r[MAXN];int cmp(const void *_p, const void *_q){ int *p = (int *)_p; int *q = (int *)_q; if(x[*p] == x[*q]) r
阅读全文
posted @
2012-07-30 20:57
BFP
阅读(243)
推荐(0) 编辑
UVA 11258 - String Partition
摘要:注意用long long就可以了#include<stdio.h>#include<string.h>#define INF 0x7fffffffchar s[210];int n;long long f[210];void solve(){ memset(f,0,sizeof(f)); int len = strlen(s); for(int i = 0; i < len; i ++) { if(s[i] == '0') { if(f[i] > f[i+1]) f[i+1] = f[i];...
阅读全文
posted @
2012-07-30 10:43
BFP
阅读(294)
推荐(0) 编辑
UVA 10635 - Prince and Princess
摘要:题不是很难,但不知道怎么。。。请教下面两个代码有什么不同吗?为什么一个可以A,一个却是WA。AC:#include<stdio.h>#include<string.h>#define MAXD 70000int N, P, Q, s[MAXD], r[MAXD];void solve(){ int i, j, p, q, top, mid, max, min; scanf("%d%d%d", &N, &P, &Q); memset(r, 0, sizeof(r)); for(i = 1; i <= P+1; i ++)
阅读全文
posted @
2012-07-29 22:00
BFP
阅读(201)
推荐(0) 编辑
UVA 11151 - Longest Palindrome
摘要:尽管很容易,还是贴出来吧。#include<stdio.h>#include<string.h>int n, f[1000][1000], len;char s[1010];void solve(){ memset(f,0,sizeof(f)); for(int i = 0; i < len; i ++) f[i][i] = 1; for(int k = 1; k < len; k ++) { for(int i = 0; i+k < len; i ++) { if(s[i] == s[i+k]) f[i][i+...
阅读全文
posted @
2012-07-29 19:47
BFP
阅读(181)
推荐(0) 编辑
UVA 10154 - Weights and Measures
摘要:这道题隔了一个才做,动归有些生疏了,但从新捡起来发现比以前理解的更透彻了。f[i]表示托i个乌龟时的最轻重量,不断的去更新重量使其最小。这里要先做好预处理, 也就是为最长子序列拍好序。但是按照什么顺序排序呢?这里要用到一点贪心,我们想如果现在有两个乌龟,一个力气大一个力气小,重力我们不用管,那么应该把力气大的乌龟放在下面,还是力气小的呢,你可能会想,这和重力有关啊,仔细分析,如果力量大的在下面,力量小的在上面,那么力量大的还能承受的重力就是s[da]-w[xiao]-w[da],力量小的能够承受的重力为s[xiao],前者可能大于,等于,或小于后者;如果力量小的在下面,力量大的在上面,那么力量
阅读全文
posted @
2012-07-21 15:42
BFP
阅读(250)
推荐(0) 编辑
每日一题 隐式图 倒水问题
摘要:很久没有做题了,慢慢熟悉起来吧!ACM不可间断,唉唉唉唉有三个无刻度标志的水杯,分别可装 a ,b , c升水,并且a>b , a>c , a,b,c,均为正整数。任意两个水杯之间可以相互倒水。用杯子x给y倒水的时必须一直持续到把杯子y倒满或者把杯子x倒空,而不能中途停止。倒水过程中水量不变。最初的时候只有大杯子装满水,其他两个杯子为空。问能不能量出x升水,如果可以,最少需要多少步?#include<stdio.h>#include<string.h>#define MAXN 4000int a, b, c, x;char v[1010][1010];typ
阅读全文
posted @
2012-07-16 18:33
BFP
阅读(514)
推荐(0) 编辑