题目大意:用 2*1 或者2*2-1的格子覆盖M*N的矩阵,有多少种覆盖方式。分析:容易知道有以下6种放置方式。然后用深搜的方法直接搞出来就行了,不过要使用两个变量来判断本位是否受影响。如果本行的放置可以影响上一行,比如(1,3,4,5,6)那么所影响的位置为0,如果没有受到影响那么就是1。代码如下...
分类:
其他好文 时间:
2015-10-03 13:08:35
阅读次数:
159
题意:一共n道菜,吃m道,有k个规则,每个菜有自己的价值,每个规则说明吃完X接着吃Y可以额外获得Z个价值。问可以获得的最大价值是多少。思路:1#include #include #include #include #include #include #include #include using n...
分类:
其他好文 时间:
2015-10-02 16:02:39
阅读次数:
139
题目大意:有一些1*2的矩形,现在用这些小矩形覆盖M*N的大矩形,不能重复覆盖,并且要覆盖完全,求有多少种覆盖方式。分析:可以使用1和0两种状态来表示这个位置有没有放置,1表示放置,0表示没有放置,可以有三种放置方式。一,竖着放。 二,不放。三,横着放。直接DFS这些情况就行了..............
分类:
其他好文 时间:
2015-10-01 19:11:13
阅读次数:
201
题目大意:有个人需要搬家,有N件物品,给个物品的重量是 w[i] 然后又两个车,每个车的载重量分别是C1和C2,求最少需要运输多少次才能把这些物品全部运输完毕。分析:刚开始就发现物品数不多,想着直接先枚举一辆车运输的物品,然后计算它运输这些物品需要多少次,不过后来发现复杂度有点高,另一种比较好的解法...
分类:
其他好文 时间:
2015-10-01 16:35:43
阅读次数:
243
题目大意:貌似是一个游戏,首先给出卢布的攻击,防御,还有血量,再给出每升一级增加的攻击防御还有血量,然后又N个敌人,杀死每个敌人都会得到一些经验,求杀死完所有敌人时剩余的最大血量。分析:因为敌人比较少,最多只有20个,所以状态最多有2^20种,用dp[i]表示状态为i的时候的最大剩余血量,然后模拟战...
分类:
其他好文 时间:
2015-09-30 20:53:07
阅读次数:
171
分析:首先想到每个钥匙的结尾有4种状态,不过题目还需要判断有三种不同的钥匙深度,所以每种深度结尾后有2^4种状态,0000->1111,不过题目还需需要有相邻的钥匙深度大于等于3,所以需要两种不同的状态表示0表示没有出现过这样的,1表示出现过,然后开一个4维的数组进行状态转移就好了dp[MAXN][...
分类:
其他好文 时间:
2015-09-30 17:48:03
阅读次数:
133
题目大意:有一列数据,可以从最上面的开始连接下面相同的元素,然后消除,不过距离不能超过6,询问最后能不能消除完整个数列。分析:首先讨论一点最远能消除的地方,比如点的位置是x,如若想要消除x+1位置处的值,那么至少也得在x-4处开始消除,所以x后面最多能有4个被消除,也就是最多能下落4个位置,能够消除...
分类:
其他好文 时间:
2015-09-30 16:34:55
阅读次数:
199
Kefa and Dishes Problem's Link Mean:菜单上有n道菜,需要点m道。每道菜的美味值为ai。有k个规则,每个规则:在吃完第xi道菜后接着吃yi可以多获得vi的美味值。问:最多可以获得多少美味值?(1≤m≤n≤18,0≤k≤n?(n?1)) analy...
分类:
其他好文 时间:
2015-09-29 23:22:30
阅读次数:
201
主题链接~~>做题情绪:时候最后有点蛋疼了,处理点的坐标处理晕了。so~比赛完清醒了一下就AC了。解题思路: 状态压缩DP ,仅仅有 20 个点。假设安排灯的时候仅仅有顺序不同的问题。全然能够用状态压缩去递推出来,仅仅是处理点的坐标的时候非常麻烦,理清思路就好了。 状态方程:dp [...
分类:
其他好文 时间:
2015-09-27 17:33:27
阅读次数:
202
http://codeforces.com/problemset/problem/580/D 状态压缩DP。#includeconst int maxn=18;using namespace std;typedef long long int64;typedef pair PII;int64 f[....
分类:
其他好文 时间:
2015-09-25 12:42:43
阅读次数:
151