STOI是汕头OI...无聊翻到了去年的比赛题目,就写然后自己测了一下。

其实我很想吐槽为什么题目名是perm,perm好像和舞伴完全无关..

dp(x,s)=∑dp(x-1,s-{i}))(0<=i<n,i∈s,i号女生和x号男生是朋友),dp(x,s)表示前x个男生已和女生配对,已配对女生用集合s表示。边界:第0号男生和第i号女生(0<=i<n),若是朋友则 dp(0,{i})=1;否则dp(0,{i})=0.计算过程中边算边mod,最后输出就OK了。

----------------------------------------------------------------------------

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define rep(i,r) for(int i=0;i<r;i++)
#define clr(x,c) memset(x,c,sizeof(x))
using namespace std;
const int maxn=20+5;
int mod,n;
int ok[maxn][maxn];
int d[maxn][1<<20];
int dp(int x,int s) {
    int &ans=d[x][s];
    if(ans>=0) return ans;
    ans=0;
    rep(i,n) if(ok[x][i] && (s & (1<<i)))
        (ans+=dp(x-1,s^(1<<i)))%=mod;
    return ans;
}
int main()
{
    freopen("perm.in","r",stdin);
    freopen("perm.out","w",stdout);
    
    
    clr(ok,0); clr(d,-1);
    cin>>n>>mod;
    rep(i,n) rep(j,n) scanf("%d",&ok[i][j]);
    rep(i,n)
        if(ok[0][i]) d[0][1<<i]=1;
        else d[0][1<<i]=0;
    cout<<dp(n-1,(1<<n)-1)<<endl;
    
    return 0;
}

------------------------------------------------------------------------------------

[STOI2014]舞伴(dp)的更多相关文章

  1. BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]

    1911: [Apio2010]特别行动队 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 4142  Solved: 1964[Submit][Statu ...

  2. 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...

  3. AEAI DP V3.7.0 发布,开源综合应用开发平台

    1  升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...

  4. AEAI DP V3.6.0 升级说明,开源综合应用开发平台

    AEAI DP综合应用开发平台是一款扩展开发工具,专门用于开发MIS类的Java Web应用,本次发版的AEAI DP_v3.6.0版本为AEAI DP _v3.5.0版本的升级版本,该产品现已开源并 ...

  5. BZOJ 1597: [Usaco2008 Mar]土地购买 [斜率优化DP]

    1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4026  Solved: 1473[Submit] ...

  6. [斜率优化DP]【学习笔记】【更新中】

    参考资料: 1.元旦集训的课件已经很好了 http://files.cnblogs.com/files/candy99/dp.pdf 2.http://www.cnblogs.com/MashiroS ...

  7. BZOJ 1010: [HNOI2008]玩具装箱toy [DP 斜率优化]

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 9812  Solved: 3978[Submit][St ...

  8. px、dp和sp,这些单位有什么区别?

    DP 这个是最常用但也最难理解的尺寸单位.它与“像素密度”密切相关,所以 首先我们解释一下什么是像素密度.假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算 ...

  9. android px转换为dip/dp

    /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public int dipTopx(Context context, float dpValue) { final floa ...

随机推荐

  1. 1.iOS第一个简单APP

    大纲: iOS系统发展 UI和OC 简单的APP程序 程序的生命周期   1.iOS的系统发展 从1983年OC程序开始发展到2015年,30多年的时间,但这依然不是一个十分完善的语言,可以说现在都没 ...

  2. codeforces 336D Vasily the Bear and Beautiful Strings(组合数学)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Vasily the Bear and Beautiful Strings Vas ...

  3. jQuery 改变Form 指向的 Action

    var path = "shiftCancelAction"; $('#queryForm').attr("action",path).submit();

  4. zabbix之3触发器/action及模板

    1.触发器: {server_name:item_name.func.operator.condition} 一旦condition(条件)触发,则item状态改变 触发器之间可以存在依赖关系,即it ...

  5. 愉快的开始 - 零基础入门学习Python000

    愉快的开始 让编程改变世界 Change the world by program 为什么是Python 既然有各种各样的编程语言可以选择,小甲鱼为什么极力鼓励大家来学习Python呢? 跨平台哦亲 ...

  6. fence repair(队列水过)

    Fence Repair Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 32916   Accepted: 10638 点我 ...

  7. 信号量 <第六篇>

    一.ManualResetEvent 该对象有两种信号量状态True和False.构造函数设置初始状态. WaitOne:该方法用于阻塞线程,默认是无限期的阻塞,支持超时阻塞,如果超时就放弃阻塞,这样 ...

  8. bzoj1637 [Usaco2007 Mar]Balanced Lineup

    Description Farmer John 决定给他的奶牛们照一张合影,他让 N (1 ≤ N ≤ 50,000) 头奶牛站成一条直线,每头牛都有它的坐标(范围: 0..1,000,000,000 ...

  9. Maximal Square 解答

    Question Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1' ...

  10. python刷取CSDN博文访问量之二

    python刷取CSDN博文访问量之二 作者:vpoet 注:这个系列我只贴代码,代码不注释.有兴趣的自己读读就懂了,纯属娱乐,望管理员抬手      若有转载一定不要注明来源 #coding=utf ...