题意: (好难看) 给你 N 个 男的, 女的, 男的选女票, 题目给出矩阵, Mp[i][j] 表示 第 i 个男的选 第 J 个女的优先值

    选了 J 之后的就不能选 J 了; 求所有狗男女的最大优先值

思路: Dp + 状态 压缩

#include<bits/stdc++.h>
using namespace std;
const int maxn = 1<<16;
int Mp[20][20];
int Dp[20][maxn + 131]; int main()
{
int t, n;
scanf("%d",&t);
for(int kase = 1; kase <= t; ++kase)
{
scanf("%d",&n);
for(int i = 0; i < n; ++i)
for(int j = 0; j < n; ++j) scanf("%d",&Mp[i][j]);
int All = 1<<n;
memset(Dp,0,sizeof(Dp));
for(int i = 0; i < n; ++i)
Dp[0][1<<i] = Mp[0][i];
for(int i = 1; i < n; ++i)
{
for(int s = 0; s < All; ++s) /// 枚举状态
{
if(Dp[i-1][s] == 0) continue ;
/// 扫描状态
for(int j = 0; j < n; ++j)
{
if(s & (1 << j)) continue ;
Dp[i][s|(1<<j)] = max(Dp[i][s|(1<<j)],Dp[i-1][s] + Mp[i][j]);
///当前选取 j 在 当前 和上一层 不选j的情况下 取 Max;
}
}
}
printf("Case %d: %d\n",kase, Dp[n-1][All-1]);
}
}

Light OJ 1011的更多相关文章

  1. Light OJ 1011 - Marriage Ceremonies(状压DP)

    题目大意: 有N个男人,和N个女人要互相匹配,每个男人和每个女人有个匹配值. 并且匹配只能是1对1的. 问所有人都匹配完成,最大的匹配值是多少?   状压DP,暴力枚举就OK了, 这个题目略坑,因为他 ...

  2. light oj 1011 - Marriage Ceremonies

    题目大意: 给出n*n的矩阵Map,Map[i][j]代表第i个男人和第j个女人之间的满意度,求男女一一配对后,最大的满意度之和. 题目思路:状态压缩 题目可看做每行取一点,所有点不同列的情况下,各个 ...

  3. light oj 1011 - Marriage Ceremonies (状态压缩+记忆化搜索)

    题目链接 大概题意是有n个男的n个女的(原谅我这么说,我是粗人),给你一个n*n的矩阵,第i行第j列表示第i个女(男)对第j个男(女)的好感度,然后要安排n对相亲,保证都是正常的(无搞基百合之类的), ...

  4. Light OJ 1114 Easily Readable 字典树

    题目来源:Light OJ 1114 Easily Readable 题意:求一个句子有多少种组成方案 仅仅要满足每一个单词的首尾字符一样 中间顺序能够变化 思路:每一个单词除了首尾 中间的字符排序 ...

  5. Light OJ 1429 Assassin`s Creed (II) BFS+缩点+最小路径覆盖

    题目来源:Light OJ 1429 Assassin`s Creed (II) 题意:最少几个人走全然图 能够反复走 有向图 思路:假设是DAG图而且每一个点不能反复走 那么就是裸的最小路径覆盖 如 ...

  6. Light OJ 1406 Assassin`s Creed 减少国家DP+支撑点甚至通缩+最小路径覆盖

    标题来源:problem=1406">Light OJ 1406 Assassin`s Creed 意甲冠军:向图 派出最少的人经过全部的城市 而且每一个人不能走别人走过的地方 思路: ...

  7. Light OJ 1316 A Wedding Party 最短路+状态压缩DP

    题目来源:Light OJ 1316 1316 - A Wedding Party 题意:和HDU 4284 差点儿相同 有一些商店 从起点到终点在走过尽量多商店的情况下求最短路 思路:首先预处理每两 ...

  8. light oj 1007 Mathematically Hard (欧拉函数)

    题目地址:light oj 1007 第一发欧拉函数. 欧拉函数重要性质: 设a为N的质因数.若(N % a == 0 && (N / a) % a == 0) 则有E(N)=E(N ...

  9. Light OJ 1406 Assassin`s Creed 状态压缩DP+强连通缩点+最小路径覆盖

    题目来源:Light OJ 1406 Assassin`s Creed 题意:有向图 派出最少的人经过全部的城市 而且每一个人不能走别人走过的地方 思路:最少的的人能够走全然图 明显是最小路径覆盖问题 ...

随机推荐

  1. java 调用 python 脚本

    有时候在java项目里,需要执行Python脚本以下几种方式: 1.直接执行Python脚本代码 引用 org.python包 创建一个 python解释器,貌似这种方式不可以导入第三方库,模块... ...

  2. ArcGis Python脚本——要素图斑自动编号,自上而下,从左到右

    原理: 利用图斑最小外包矩形的左上角坐标(数学坐标)Y坐标将序.X坐标升序的方式获取自上而下,从左到右的要素记录排序,然后遍历编号. "!shape.extent.xmin!"计算 ...

  3. 比较好用的Copy代码到博客VS扩展工具

    这个工具叫做TrimCopy,可以避免拷贝出来的代码带空格,影响布局.

  4. Java8新特性 重复注解与类型注解

    import java.lang.annotation.Repeatable; import java.lang.annotation.Retention; import java.lang.anno ...

  5. partial.js client-side routing(客户端路由-基于HTML5 SPA特性的历史API)

    partial.js client-side routing https://github.com/petersirka/partial.js-clientside Framework support ...

  6. 如何使用xss带cookie

    参考连接:https://pentesterlab.com/exercises/xss_and_mysql_file/course 打开测试网站: 然后在192.168.1.46机器上使用socat, ...

  7. PHP文件管理—实现网盘以及压缩包的功能操作

    代码如下: 1.主页面file_zip.php <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...

  8. Linux之增加系统调用[内核编译]

    声明:如需引用或者摘抄本博文源码或者其文章的,请在显著处注明,来源于本博文/作者,以示尊重劳动成果,助力开源精神.也欢迎大家一起探讨,交流,以共同进步- 0.0 由于操作系统实验的缘故,有一个实验需要 ...

  9. Vue项目在表单中限制输入数字

    <template> <div> <input v-model="userPhone" autofocus type="text" ...

  10. Codeforces Round #545 (Div. 2)(B. Circus)

    题目链接:http://codeforces.com/contest/1138/problem/B 题目大意:贼绕口的题目,就是给你两个字符串s1,s2,然后每一个人代表一列,第一列代表技能一每个人是 ...