上一页 1 ··· 58 59 60 61 62 63 64 65 66 ··· 99 下一页

2011年5月13日

钱币兑换问题

摘要: #include<stdio.h>int c1[40000],c2[40000];void fun( ){ int i,j,k;for(i=0;i<40000;i++){ c1[i]=1;c2[i]=0;}for(i=2;i<=3;i++) {for(j=0;j<=32768;j++) for(k=0;k+j<=32768;k+=i) c2[k+j]+=c1[j];for(j=0;j<40000;... 阅读全文

posted @ 2011-05-13 09:38 more think, more gains 阅读(179) 评论(0) 推荐(0) 编辑

背包问题学习

摘要: 1.01背包 什么是01背包呢,就是给你一个体积v的背包,N件物品,第i件物品价值v[i],体积为w[i]. 问你怎么样装使背包体积最大? 2.完全背包 完全背包就是给你N件物品,和一个体积为v的背包,每种物品无限可用,第i种物品价值为 v[i],体积为w[i],同样问你怎么样装使背包体积最大? 3.多重背包 多重背包也是给你给你N件物品,和一个体积为v的背包,但第i种物品有限,最多有n[i]... 阅读全文

posted @ 2011-05-13 08:03 more think, more gains 阅读(153) 评论(0) 推荐(0) 编辑

2011年5月12日

Square Coins

摘要: #include<stdio.h>#include<string.h>#include<stdlib.h>int c1[300],c2[300],N=290;void fun( ){ int i,j,k; for(i=0;i<=N;i++) { c1[i]=1; c2[i]=0; } for(i=2;i*i<=N;i++) { for(j=0;j<=N;j++) for(k=0;k+j<=N;k+... 阅读全文

posted @ 2011-05-12 08:50 more think, more gains 阅读(161) 评论(0) 推荐(0) 编辑

2011年5月11日

括号匹配 (转载)

摘要: 此文转自黑水浮云空间/*DP解法:F[i][j]表示到第i个位置的字符位置,有j-1个未被匹配的‘(’的状态有多少种,那么 f[i][j]=f[i-1][j-1] s[i]=‘(’; f[i][j]=f[i-][j+1] s[i]=‘)’;f[i][j]=f[i-1][j-1]+f[i-1][j+1] s[i]=‘?';最后输出f[len-1][1]即可,之所以j不直接从0开始(即最后输出f[len-1][0]),是为了避免转移方程中出现j=0,使得减1后小于0。*/#include <iostream> using namespace std; int f[20][20] 阅读全文

posted @ 2011-05-11 10:56 more think, more gains 阅读(174) 评论(0) 推荐(0) 编辑

括号匹配 强大的DFS

摘要: 轩载 神牛黑水浮云空间 #include<stdio.h>#include<string.h>char s[20];int sum,l;void work(int k,int cnt) /*cnt用来记录到当前k位置为止尚未被匹配的'(''的个数,如果出现负数直接 返回,如果到串尾并且cnt为0那么就是一种合法的状态,sum加1;否则继续DFS。*/{ if(k==l||cnt<0) {if(cn... 阅读全文

posted @ 2011-05-11 10:50 more think, more gains 阅读(189) 评论(0) 推荐(0) 编辑

上一页 1 ··· 58 59 60 61 62 63 64 65 66 ··· 99 下一页

导航