摘要: (1)0/1背包For i:=1 to n doFor j:=vtot downto v[i] doF[j]:=max(f[j-v[i]]+w[i],f[j]);如果题目要求恰好装满背包,则f数组除了f[0]初始化为0之外,其他的初始化为-maxlongint;(2)完全背包(每个物品有无限件可用)for i:=1 to n dofor j:=v[i] to vtot dof[j]:=max(f[... 阅读全文
posted @ 2010-11-09 20:58 liukee 阅读(729) 评论(1) 推荐(0) 编辑
摘要: 问题背景 BackgroundNOIP2007年提高组第三道描述 Description 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素a[i,j]均为非负整数。游戏规则如下: 1. 每次取数时须从每行各取走一个元素,共n个。m次后取完矩阵所有元素; 2. 每次取走的各个元素只能是该元素所在行的行首或行尾; 3. 每次取数都有一个得分值,为每行取数的得分之和,每行取... 阅读全文
posted @ 2010-11-09 18:05 liukee 阅读(752) 评论(0) 推荐(1) 编辑
摘要: 整体分析1(集合删数)题目大意问题描述:一个集合有如下元素:1是集合元素;若P是集合的元素,则2 * P +1,4*P+5也是集合的元素,取出此集合中最小的K个元素,按从小到大的顺序组合成一个多位数,现要求从中删除M个数位上的数字,使得剩下的数字最大,编程输出删除前和删除后的多位数字。注:不存在所有数被删除的情况`输入格式:输入的仅一行,K,M的值,K,M均小于等于30000。输出格式:输出为两行... 阅读全文
posted @ 2010-11-09 16:16 liukee 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 转载于http://www.matrix67.com 好像目前还没有这方面题目的总结。这几天连续看到四个问这类题目的人,今天在这里简单写一下。这里我们不介绍其它有关矩阵的知识,只介绍矩阵乘法和相关性质。 不要以为数学中的矩阵也是黑色屏幕上不断变化的绿色字符。在数学中,一个矩阵说穿了就是一个二维数组。一个n行m列的矩阵可以乘以一个m行p列的矩阵,得到的结果是一个n行p列的矩阵,其中的第i行第j列位置... 阅读全文
posted @ 2010-11-09 07:38 liukee 阅读(766) 评论(1) 推荐(1) 编辑