# 奇怪的道路 状态压缩DP
Posted oieredsion
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了# 奇怪的道路 状态压缩DP相关的知识,希望对你有一定的参考价值。
奇怪的道路 状态压缩DP
问题:
小宇从历史书上了解到一个古老的文明。这个文明在各个方面高度发达,交通方面也不例外。
考古学家已经知道,这个文明在全盛时期有\(n\)座城市,编号为\(1..n\)。\(m\)条道路连接在这些城市之间,每条道路将两个城市连接起来,使得两地的居民可以方便地来往。一对城市之间可能存在多条道路。
据史料记载,这个文明的交通网络满足两个奇怪的特征。首先,这个文明崇拜数字K,所以对于任何一条道路,设它连接的两个城市分别为\(u\)和\(v\),则必定满足\(1 <=|u - v| <= K\)。此外,任何一个城市都与恰好偶数条道路相连(\(0\)也被认为是偶数)。
不过,由于时间过于久远,具体的交通网络我们已经无法得知了。小宇很好奇这\(n\)个城市之间究竟有多少种可能的连接方法,于是她向你求助。
方法数可能很大,你只需要输出方法数模\(1000000007\)后的结果。
解:
一看这题的范围\(k\) 这么小比一般状态压缩的题 所以肯定不是一维
对没错 他是的san维d
我们定义\(f[i][j] [k]\)表示前i个城市选前j条道路并且[1,i-k-1]已经满足变为偶数并且[i-k,i]集合为k的方案数
那么决策就是城市 i 的这条边选还是不选
- 如果选这条边
假如与s号城市连边
那状态转移方程\(f[i][j+1][k\)^\((1<<i-s)\)^\(1]+=f[i][j][k];\) - 如果它不连边
只要保证i-k 为0 即可
$ f[i+1][j][k<<1]+=f[i][j][k];$
以上是关于# 奇怪的道路 状态压缩DP的主要内容,如果未能解决你的问题,请参考以下文章