uva 10913 Walking on a Grid

题意:有一个大小有N(最多75)的方格,要你从(1,1)走到(n,n)。 有如下规则:你只有三个方向,左、右、下。不能走出方格。一个方格只能走一次。你要保证你的路径上的格子的和最大。你最多只能走k(最多为5)个负权值的格子,从起点到终点。 要注意,因为可以向右走,所以定义三维状态可能有问题,所...

2011-11-30 19:51:00

阅读数:1717

评论数:0

uva 10453 Make Palindrome

题意:给你n个串(长度最多为1000),问对于每个串插入最少多少m个字符能使它变成一个回文串。输出m,并把回文串输出. 看了解题报告。总结,还要随便用memset,否则会T。 #include #include #include using namespace std; const in...

2011-11-30 16:39:30

阅读数:1546

评论数:0

uva 10271 Chopsticks

题意:有t组测试数据,要你选出n+8对三元组(从m个数中)。要求这三个数x 设map[i][j]是从前j个数中选出i对三元组的最小的代价。 可以有如下的状态转移方程: map[i][j]=min(map[i][j-1],map[i-1][j-2]+bad[j]); 问题是z如何安排,当我们...

2011-11-30 11:16:32

阅读数:1865

评论数:0

uva 10617 Again Palindrome

题意:给你n个串(最长不超过60),问有多少种删去字符的方法使剩下的字符成为一个回文子串。 设map[x][y]为从x到y有多少个回文串。 当str[x]==str[y]的时候,我们要考虑x+1,y组成的回文串,x,y-1之间的回文串,但是两者都会计算x+1,y-1的回文串数,所以要减去,另外...

2011-11-29 22:38:54

阅读数:2058

评论数:0

uva 10404 Bachet's Game

题意:给你n个石头,有m种拿石头的方法,问是先手胜,还是后手胜。 用一个数组dp[i]表示当前的状态是必胜态还是必败态。设0表示必败,那么dp[0]=0,如果当前状态可能到达一个为0的状态,那么当前这个状态就是必胜态,因为为0的状态只可能是是全部为1的状态推来,即全部是必胜态推出。 #incl...

2011-11-29 21:30:14

阅读数:727

评论数:0

uva 10891 Game of Sum

题意:给你n(最多100)个数,有A,B两个人,两个人都可以从这些数的左右两个边界取数,A先取,如果两个都是按最优策略取,那么最后A的分数比B的多多少. 定义状态map[x][y][z]表示从x到y这段石子,z(0或1表示当前A取,或B取)能得到的最多的分数。 则状转移成,在x与y这个范围内的...

2011-11-29 18:07:34

阅读数:1274

评论数:0

uva 620 Cellular Structure

题意感觉有点奇怪,直接贴代码了。。 #include #include #include using namespace std; const int N=1000; char str[N]; int map[N][N]; bool vis[N][N]; int dp(int,int); ...

2011-11-29 15:30:34

阅读数:524

评论数:0

uva 10069 Distinct Subsequences

题意:给你t组字符串,要你找出第二个字符串在第一个字符串中有多少个(只要第二个字符串的任意一个字符在第一个字符串中的位置不一样就可以。) 起先用int WA了,用long long WA了,后来去看网上代码,自己写了一个大数类。。。奇葩~ #include #include #includ...

2011-11-28 18:31:47

阅读数:1259

评论数:0

uva 10163 Storage Keepers

题意:有n个仓库(最多100个),m个管理员(最多30个),每个管理员有一个能力值P(接下来的一行有m个数,表示每个管理员的能力值),每个仓库只能由一个管理员看管,但是每个管理员可以看管k个仓库(但是这个仓库分配到的安全值只有p/k,k=0,1,...),每个月公司都要给看管员工资,雇用的管理员的...

2011-11-27 19:24:11

阅读数:959

评论数:0

uva 10817 Headmaster's Headache

题意:有一个学校想要聘请老师,要求每个学科都有两个以上的老师授课,并且要使总费用最小。有S(最多8个)个学科,现任的M(最多20个)个老师(你必须继续聘请他们),N(最多100个)份申请。后来的M行每行有至少两个整数,表示现任的老师的工资,和他所教授的课程(可能不止一个)。再后来的N行每行有也有至...

2011-11-27 15:22:58

阅读数:817

评论数:0

uva 10599 Robots(II)

题意:给你一个n*m的矩阵,然后给你k个坐标(以0,0结束)表示上面有物品,然后有一个机器人只能往右走和往下走,起点在左上角,终点在右下角,问你,机器从起点到终点最多能拿起多少个物品。前面要输出有多少种路径,并给出其中一种路径(用物品的坐标表示),我们可以抽象成有多少个非降子序列 我的思路是:求...

2011-11-26 00:41:53

阅读数:871

评论数:0

uva 11258 String Partition

题意:给你t组测试数据,每组数据由一串不超过200个字符的字符串构成,问把它们分成不超过int类型的数,组合起来最大是多少? #include #include #include using namespace std; #define LL long long const int N=2...

2011-11-26 00:34:02

阅读数:991

评论数:0

uva 10723 Cyborg Genes

题意:有t组测试数据,每组测试数据有两个DNA,目标串为能保持两个给出的DNA的相对序列且为最小长度的串,并且要输出有多少种构造方法。 第一值可以通过求两个字符串的最长公共子序列,然后把两个字符串的长度加起来减去就可以了。重要的是第二值,当我们用DP去求时, 要注意终点。 设当前状态两个字符串...

2011-11-26 00:04:10

阅读数:1033

评论数:0

uva 11008 Antimatter Ray Clearcutting

题意:你手中有一激光枪,能使你当前方向上的树全部砍倒。第一行t组测试数据。每一组测试数据,开始由两行构成,分别表示有n棵树,你要砍倒m棵树,接下来的n行给出的是n棵树的坐标(坐标范围是-1000到1000)。问你最少需要几枪才能达到。 我的做法是选两个点枚举所有的方向,跪了近三 秒,差点T,不过...

2011-11-25 22:52:29

阅读数:693

评论数:0

uva 10604 Chemical Reaction

题意:有t组测试数据。 每组测试数据开始有一个整数n,表示有n种试剂(最多6种)。接下来的n*n行列出来了每种试剂混合产生的化合物以及放出的热量。 然后一个整数m,代表有m个试管(最多10个)。 接下来一行有m个数,表示m个试管里分别装了哪几种试剂。 问怎么组合能产生最少的热量。测试样例之...

2011-11-25 09:42:14

阅读数:1857

评论数:3

uva 607 Scheduling Lectures

题意:有n个主题。每堂课的时间是L。每个主题各要求t1,t2,...tn(1 1.每个主题必须完整地包含在一堂课里。不能分成两部分教。 2.主题之间的顺序不能调换,即主题i必须在主题i+1之前教。 同时,如果在每堂课的最后如果能留有10分钟以内的时候,那么学生的不满意程序是最小的。不满意程度...

2011-11-25 08:59:48

阅读数:1180

评论数:0

uva 10118 Free Candies

题意:有4堆糖果,每堆有n(最多40)个,有一个篮子,最多装5个糖果,我们每次只能从某一堆糖果里拿出一个糖果,如果篮子里有两个相同的糖果,那么就可以把这两个(一对)糖果放进自己的口袋里,问最多能拿走多少对糖果。糖果种类最多20种. 定义了四维的状态去跑。当然也可以定义五维的状态去跑 #in...

2011-11-24 17:06:41

阅读数:1434

评论数:0

uva 10626 Buying Coke

题意:题意:有t组测试数据。每组测试数据有4个数据,分别表示要买几瓶可乐,分别有多少个价值为1,5,10的硬币。每瓶可乐价值为8。问最少需要给自动贩卖机投多少枚硬币。注意,投入硬币后,自动贩卖机会用最少的硬币数给你多的钱。 如果我们开四维的数组,是开不下的,考虑到买了一听可乐之后,价值总是下降的...

2011-11-24 16:23:47

阅读数:1217

评论数:0

uva 662 Fast Food

题意:有n家餐馆,有m个仓库,然后后来有n个数字,代表了每个餐馆的坐标,0,0表示结束。求餐馆到离它最近仓库的距离和最小,注意仓库都是建立在餐馆上的。输出的时候,要把每个仓库离它最近的餐馆输出。数据范围是餐馆的数目是200。仓库的数目是30个。 如果是x,y之间的餐馆的个数奇数,那么中位数无疑是...

2011-11-24 15:51:49

阅读数:1001

评论数:0

uva 10564 Paths through the Hourglass

题意:给你一个2*n-1行的沙漏,要你找出有多少条路径上的权值和为s(只能由上一层走向下一层的与它最近的两个位置)。并输出一条字典序最小的路径,注意路径的开头是第一行的下标。然后随后都用向左走L或向右走R表示。 定义了三维的数组,表示在x,y位置到达k状态有多少种路径。反向跑这个沙漏,因为这样到...

2011-11-23 21:42:03

阅读数:1224

评论数:2

提示
确定要删除当前文章?
取消 删除
关闭
关闭