摘要:        
这题的模式需要记住一下,当需要从上下同时得到最优的时候,我记得还有一题NOIP的原题也是这个类型的,题目。。合唱队形也是类似的,两个DP相加。 这题还是有一点学习和参考的价值,代码:#include <stdio.h>#include <stdlib.h>int f1[27][27], f2[27][27], num[26][26];#define max(a, b) ((a)>(b)?(a):(b))int main(int argc, char **argv){	int n;	int i, j;	scanf("%d", &n);	f    阅读全文
posted @ 2011-07-08 17:53
zqynux
阅读(251)
评论(0)
推荐(0)
        
            
        
        
摘要:        
一定要经过n / 2, n / 2,就是说从上面到n / 2这一行都只能取最右边的一个,然后下面的部分DP就行了。 代码:#include <stdio.h>#include <stdlib.h>int num[25][25];int f[26][25];#define max(i, j) ((i)>(j)?(i):(j))int main(int argc, char **argv){	int i, j;	int n, ans = 0;	scanf("%d", &n);	for(i = 0; i < n; i++){ for(j    阅读全文
posted @ 2011-07-08 15:33
zqynux
阅读(361)
评论(0)
推荐(0)
        
            
        
        
摘要:        
....太水了...排序,输出, Ok.#include <stdio.h>#include <string.h>#include <stdlib.h>char name[10000][100];int num[10000];int com(const void *a, const void *b){	return *(int *)a - *(int *)b;}int com_(const void *a, const void *b){	return strcmp(a, b);}int main(int argc, char **argv){	int i;    阅读全文
posted @ 2011-07-08 14:48
zqynux
阅读(222)
评论(0)
推荐(0)
        
 
                    
                 
 浙公网安备 33010602011771号
浙公网安备 33010602011771号