题目链接 大概题意是有n个男的n个女的(原谅我这么说,我是粗人),给你一个n*n的矩阵,第i行第j列表示第i个女(男)对第j个男(女)的好感度,然后要安排n对相亲,保证都是正常的(无搞基百合之类的),然后求怎么安排能使好感度和最大,求出最大值. 开始试了纯暴力的方法,时间复杂度是n!果断超时 #include <iostream> #include <string.h> #include <algorithm> using namespace std; int vis[…
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=25837 思路:状态压缩+记忆化搜索. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define FILL(a,b) memset(a,b,sizeof(a)) <<],…
http://acm.hdu.edu.cn/showproblem.php?pid=4628 题意:给个字符窜,每步都可以删除一个字符窜,问最少用多少步可以删除一个字符窜分析:状态压缩+记忆化搜索         先打表,把每一个构成回文的字符窜的状态i都存到一个ss数组中.然后再判断某一个回文是否能够删除,判断条件是(ans|i)==ans,ans或i等于ans,这个说明i没有多余的1 //pragma comment(linker, "/STACK:102400000,102400000&q…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1074 有n(n<=15)门课需要做作业,每门课所需时间是used_time以及每门课作业上交的最后期限是deadline,晚交一天扣一分,现在来安排最好的写作业计划,让最终的扣除分数最少:   由于n的取值范围不大所以我们可以枚举除所有的状态进行判断是否是最优的即可,状态数为2^n-1; 我们可以用状态压缩来表示出各种状态:二进制中的第i为为1代表第i门课已经完成了.   #include <cs…
Description Recently, researchers on Mars have discovered N powerful atoms. All of them are different. These atoms have some properties. When two of these atoms collide, one of them disappears and a lot of power is produced. Researchers know the way…
题目大意: 给出n*n的矩阵Map,Map[i][j]代表第i个男人和第j个女人之间的满意度,求男女一一配对后,最大的满意度之和. 题目思路:状态压缩 题目可看做每行取一点,所有点不同列的情况下,各个点的最大和为多少. dp[i][j],代表第i行,状态为j的情况下的最优解,其中j的含义为:j所代表的二进制数中:若第i位为1则取第i列的值,为0则不取. 这样j从1到(1<<n)-1,便包含了矩阵中所有列的取法 为了节约时间,我们需要作出一点优化:我们知道i*i的矩阵中不可能存在比i大的列,也就…
题意:我方有n个士兵,敌方有m个,每方士兵都有一个血量,现在有k轮无差别炮火打击,每次都会从存活的士兵中随机选一人,这名士兵的HP就-1,问对方被团灭的概率有多大? 思路:因为n和m的范围很小,我们可以考虑暴力搜索,中间使用记忆化.这里状态压缩有一个小技巧,我们的正常想法是:因为士兵总数最多只有10个,我们可以用一个十位数来表示状态,每一位数代表这个士兵的现在的HP.但是我这样设计状态超时了...网上的状态设置的比较巧妙,网上用了12位数来表示状态,每一位代表敌方或者我方的HP为某个值的士兵还剩…
题目大意: 有N个男人,和N个女人要互相匹配,每个男人和每个女人有个匹配值. 并且匹配只能是1对1的. 问所有人都匹配完成,最大的匹配值是多少?   状压DP,暴力枚举就OK了, 这个题目略坑,因为他卡常数,可以有一些简单的优化,能优化1500ms............. =================================================================   #include<cstdio> #include<cstring> #i…
题目链接:http://acm.swust.edu.cn/problem/409/ Time limit(ms): 1000 Memory limit(kb): 65535   Description 小鼠a与小鼠b身处一个m×n的迷宫中,如图所示.每一个方格表示迷宫中的一个房间.这m×n个房间中有一些房间是封闭的,不允许任何人进入.在迷宫中任何位置均可沿上,下,左,右4个方向进入未封闭的房间.小鼠a位于迷宫的(p,q)方格中,它必须找出一条通向小鼠b所在的(r,s)方格的路.请帮助小鼠a找出所…
 Marriage Ceremonies Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submit Status Practice LightOJ 1011 Description You work in a company which organizes marriages. Marriages are not that easy to be made, so, the job is qu…