[Jxoi2012] 奇怪的道路

题目

  小宇从历史书上了解到一个古老的文明。这个文明在各个方面高度发达,交通方面也不例外。考古学家已经知道,这个文明在全盛时期有n座城市,编号为1..n。m条道路连接在这些城市之间,每条道路将两个城市连接起来,使得两地的居民可以方便地来往。一对城市之间可能存在多条道路。
  据史料记载,这个文明的交通网络满足两个奇怪的特征。首先,这个文明崇拜数字K,所以对于任何一条道路,设它连接的两个城市分别为u和v,则必定满足1 <=|u - v| <= K。  
  此外,任何一个城市都与恰好偶数条道路相连(0也被认为是偶数)。不过,由于时间过于久远,具体的交通网络我们已经无法得知了。小宇很好奇这n个城市之间究竟有多少种可能的连接方法,于是她向你求助。
  方法数可能很大,你只需要输出方法数模1000000007后的结果。

INPUT

输入共一行,为3个整数n,m,K。

OUTPUT

输出1个整数,表示方案数模1000000007后的结果。

SAMPLE

INPUT1

3 4 1

OUTPUT1

3

INPUT2

4 3 3

OUTPUT2

4

解题报告

  考试时候想到了DP,一看数据范围也想到了状压,然而就是不会打,果然我DP就是弱啊- -
正解:
  仍然考虑状压,将i-K到i的度的奇偶性压成一维,设f[i][j][k][l]表示到点i,用了j条边,i-K的奇偶性状态为k,当前处理i-K+l和i之间的连边。
  如果这条边不连,可以转移到f[i][j][k][l+1].
  如果这条边连,可以转移到f[i][j][k^(1<<K)^(1<<l)][l].
  如果l=K并且i-K的度为偶数,可以转移到f[i+1][j][k>>1][0];
  最后答案就是f[n+1][m][0][0];
  需要注意的是特判,当你决定这条边需要连的时候,你需要判断这条边是否合法,因为我们是确定i,然后从i前面的点转移过来的,所以很有可能出现不合法的边,比如你当前的i为4,而你的K为8,那么你很有可能走到从-2转移过来的边,这显然是不合法的。还有,我们要枚举的是i前面的点,所以当你枚举的点>=i时,也是不合法的
  

 #include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
const int mod();
int n,m,k;
int st;
int bin[];
int f[][][<<][];
int main(){
bin[]=;
for(int i=;i<=;i++)
bin[i]=bin[i-]<<;
scanf("%d%d%d",&n,&m,&k);
st=bin[k+]-;
f[][][][]=;
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
for(int o=;o<=st;o++)
for(int l=;l<=k;l++){
if(l==k&&!(o&)){
f[i+][j][o>>][]+=f[i][j][o][l];
f[i+][j][o>>][]%=mod;
}
f[i][j][o][l+]+=f[i][j][o][l];
f[i][j][o][l+]%=mod;
if(j<m&&i-k+l>&&i-k+l<i){
f[i][j+][o^bin[k]^bin[l]][l]+=f[i][j][o][l];
f[i][j+][o^bin[k]^bin[l]][l]%=mod;
}
}
printf("%d",f[n+][m][][]);
}
这么短的码,然而自己没思路,也不能怪谁= =

[补档][Jxoi2012] 奇怪的道路的更多相关文章

  1. bzoj 3195 [Jxoi2012]奇怪的道路

    3195: [Jxoi2012]奇怪的道路 Description 小宇从历史书上了解到一个古老的文明.这个文明在各个方面高度发达,交通方面也不例外.考古学家已经知道,这个文明在全盛时期有n座城市,编 ...

  2. 【BZOJ】3195: [Jxoi2012]奇怪的道路【状压/奇偶性】【思路】

    3195: [Jxoi2012]奇怪的道路 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 802  Solved: 529[Submit][Statu ...

  3. [BZOJ3195][Jxoi2012]奇怪的道路

    3195: [Jxoi2012]奇怪的道路 Time Limit: 10 Sec  Memory Limit: 128 MB Description 小宇从历史书上了解到一个古老的文明.这个文明在各个 ...

  4. 【BZOJ3195】[Jxoi2012]奇怪的道路 状压DP

    [BZOJ3195][Jxoi2012]奇怪的道路 Description 小宇从历史书上了解到一个古老的文明.这个文明在各个方面高度发达,交通方面也不例外.考古学家已经知道,这个文明在全盛时期有n座 ...

  5. 3195: [Jxoi2012]奇怪的道路

    3195: [Jxoi2012]奇怪的道路 链接 思路: 因为一个点只会和它前后k个点连边,所以,记录下每个点的前k个点和它自己(共k+1个点)的状态,1表示奇数,0表示偶数. dp[i][j][s] ...

  6. BZOJ3195: [Jxoi2012]奇怪的道路【状压DP】

    Description 小宇从历史书上了解到一个古老的文明.这个文明在各个方面高度发达,交通方面也不例外.考古学家已经知道,这个文明在全盛时期有n座城市,编号为1..n.m条道路连接在这些城市之间,每 ...

  7. BZOJ3195:[JXOI2012]奇怪的道路——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=3195 Description 小宇从历史书上了解到一个古老的文明.这个文明在各个方面高度发达,交通方 ...

  8. bzoj3195: [Jxoi2012]奇怪的道路(状压dp)

    Description 小宇从历史书上了解到一个古老的文明.这个文明在各个方面高度发达,交通方面也不例外.考古学家已经知道,这个文明在全盛时期有n座城市,编号为1..n.m条道路连接在这些城市之间,每 ...

  9. 【bzoj3195】【 [Jxoi2012]奇怪的道路】另类压缩的状压dp好题

    (上不了p站我要死了) 啊啊,其实想清楚了还是挺简单的. Description 小宇从历史书上了解到一个古老的文明.这个文明在各个方面高度发达,交通方面也不例外.考古学家已经知道,这个文明在全盛时期 ...

随机推荐

  1. ubuntu16.04-x64系统中Jexus web server部署.NetCore和端口分析引发的猜想!

    您有这样的牢骚么? 有一周没更新博客了,简单说下在干什么吧:主要是公司安排对接某旅游大公司的接口,接口数量倒也就10个左右,对接完后还需要加入到业务系统中和App端,因此还是需要花点时间的:时间上来说 ...

  2. Ubuntu下使用nginx和nginx-rtmp-module搭建流媒体服务器的正确姿势

    之前在使用nginx和nginx-rtmp-module搭建流媒体服务器的时候遇到一个很尴尬的问题,就是在把nginx-rtmp-module模块添加到nginx中去的时候,我最开始采取的做法是先卸载 ...

  3. JAVA程序员成长历程(二)

    提几个方向可以去尝试下: 1.订阅一些牛人的博客,这里面包括技术,学习,生活等等.不一定学技术,他们的经验都会让人受益匪浅. 我经常看的: 唐巧,IOS程序员.http://blog.devtang. ...

  4. css3学习系列之移动(一)

    transform功能 放缩 使用sacle方法实现文字或图像的放缩处理,在参数中指定缩放倍率,比如sacle(0.5)表示缩小50%,例子如下: <!DOCTYPE html> < ...

  5. linux命令行解刨

    linux命令需要在命令行界面上操作(windows的cmd也是一个命令行界面).只有在了解命令行界面含义才能知道我们输入这些命令意义是什么,为什么要输入这些命令. 首先我们要知道怎么找出linux输 ...

  6. kbengine所有的demo源代码

    回复才可见的内容https://github.com/kbengine/kbengine_ue4_demo回复才可见的内容https://github.com/kbengine/kbengine_og ...

  7. 第一章:pip 安装 tar.gz 结尾的文件 和 .whl 结尾的文件

    1. 假如后缀中还有 .tar.gz 的文件通过 pip 命令进行安装步骤. .单击 .tar.gz结尾的文件,并且对文件进行解压,进入到解压目录中,通过python命令进行安装. 命令如下:在dos ...

  8. H3CNE实验:通过Console端口本地访问H3C设备

    连接好Console线后,将交换机开机,在SecureCRT上会显示如下信息: Starting...... RAMLine.....OK System is booting............. ...

  9. usaco training 4.1.3 fence6 题解

    Fence Loops题解 The fences that surround Farmer Brown's collection of pastures have gotten out of cont ...

  10. Vuejs——Vue生命周期,数据,手动挂载,指令,过滤器

    版权声明:出处http://blog.csdn.net/qq20004604   目录(?)[+]   原教程: http://cn.vuejs.org/guide/instance.html htt ...