参考:http://www.cnblogs.com/kuangbin/archive/2011/08/04/2127687.html膜拜斌巨orz算法核心:状态压缩DP大意:有n门课程作业,每门作业的截止时间为D,需要花费的时间为C,若作业不能按时完成,每超期1天扣1分。这n门作业按课程的字典序先后...
分类:
其他好文 时间:
2015-12-09 19:39:11
阅读次数:
173
是中国标题。大家都说水问题。但是,良好的1A它?标题效果:给出n*m的矩阵,当某个单元格有炮兵部队时它的上下左右两格(不包含斜着的方向)是这支部队的攻击范围。问在两支部队之间不可能相互攻击到的情况下。最多能部署多少炮兵部队。解题思路:状态压缩DP,DP[i][j][k]代表当第i行是第j种状态时。第...
分类:
其他好文 时间:
2015-12-07 22:36:03
阅读次数:
182
题意:给n个点,给出矩阵代表i到j单向边的距离。要求,不介意访问每个点的次数,要求访问完每个点,使得路程总和最小。思路:由于不介意访问每个点的次数,所以可以先进行FLOYD求出任意两个点之间的最短路,然后就是DP。同样的,1代表有访问过,0代表没访问过。dp[s][j]代表访问状态为s的情况下最终到...
分类:
其他好文 时间:
2015-11-06 22:21:26
阅读次数:
213
题意:给n个点m条无向边。要求每个点最多走两次,要访问所有的点给出要求路线中边的权值总和最小。思路:三进制状态压缩DP,0代表走了0次,1,2类推。第一次弄三进制状态压缩DP,感觉重点是对数据的预处理,利用数组分解各个位数,从而达到类似二进制的目的。然后就是状态的表示,dp[s][i]表示状态s时到...
分类:
其他好文 时间:
2015-11-06 22:20:44
阅读次数:
269
题意:给一块n*m的田地,1代表肥沃,0代表贫瘠。现在要求在肥沃的土地上种草,要求任何两个草都不能相邻。问一共有多少种种草的方法。种0棵草也是其中的一种方法。n和m都不大于12.思路:状态压缩DP,dp[i][j]代表在第i行状态j一共有多少种可能的种植方法。j是二进制转化而来的状态,0代表不种草,...
分类:
其他好文 时间:
2015-11-06 20:57:06
阅读次数:
336
题目大意:给你一个矩阵,'x'是你的起始位置, 'g'是宝藏的位置,问最少多少步可以把所有的宝藏取完,并且最后返回起始位置。注意:没有宝藏的时候输出 0==========================================================================...
分类:
其他好文 时间:
2015-10-29 10:50:54
阅读次数:
148
题目大意:有个特工要执行任务,他会遭遇到最多15个目标,特工必须把他们全部杀死。当他杀死一个目标后他可以使用目标的武器来杀死其他人。因此他必须有一个杀人的顺序,使得他开枪的次数最小。现在给你一个表,代表每种武器对每个目标可以造成多少伤害。并且你知道每个目标的血量。当这个目标的血量小于等于0的时候说明...
分类:
其他好文 时间:
2015-10-27 16:50:40
阅读次数:
233
题目大意N头牛,M个谷仓,每个牛c都有它喜欢的若干个谷仓,现在要将这N头牛安排进谷仓,使得每个牛都位于它喜欢的谷仓,而每个谷仓只能有一头牛。求安排的方案总数。N, M #include#include #include using namespace std;#define MAX_N 22vect...
分类:
其他好文 时间:
2015-10-25 20:56:32
阅读次数:
131
题目大意: 一个二维平面上有N个点,一把刷子,刷一次可以把一条线上的所有点都刷掉。问最少刷多少次,可以把全部的点都刷完状态压缩DP, 用记忆化搜索来写, 需要有个优化不然会超时。============================================================....
分类:
其他好文 时间:
2015-10-23 17:55:33
阅读次数:
191
题意:一共n道菜,吃m道,有k个规则,每个菜有自己的价值,每个规则说明吃完X接着吃Y可以额外获得Z个价值。问可以获得的最大价值是多少。思路:1#include #include #include #include #include #include #include #include using n...
分类:
其他好文 时间:
2015-10-02 16:02:39
阅读次数:
139