3195: [Jxoi2012]奇怪的道路
3195: [Jxoi2012]奇怪的道路
思路:
因为一个点只会和它前后k个点连边,所以,记录下每个点的前k个点和它自己(共k+1个点)的状态,1表示奇数,0表示偶数。
dp[i][j][s][p]表示当前考虑到第i个点,一共连了m条边,状态为s,在前k个点中,当前考虑第p个点是否与i连边。
那么如果p不与i连边,之间转移到p+1即可。如果连边,那么i和p的奇偶性就会改变,j->j+1,转移。
点与点之间的转移要求,当前状态先i-k这个位置的状态是偶数(下一个点就无法更新i-k了),即s&1=0;
总之,是一道好题。
代码
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<iostream> using namespace std; const int mod = 1e9+; int f[][][(<<)+][]; //- int main() {
int n,m,k,MaxS;
cin >> n >> m >> k;
MaxS = (<<(k+));
f[][][][] = ;
for (int i=; i<n; ++i) //-
for (int j=; j<=m; ++j)
for (int s=; s<MaxS; ++s) {
for (int p=; p<k; ++p) {
if (!f[i][j][s][p]) continue;
(f[i][j][s][p+] += f[i][j][s][p]) %= mod;
if (j<m && i-k++p >= ) (f[i][j+][s^(<<k)^(<<p)][p] += f[i][j][s][p]) %= mod;
if ((s&)==) (f[i+][j][s>>][] += f[i][j][s][k]) %= mod;
}
}
printf("%d",f[n][m][][]);
return ;
}
参考:https://blog.csdn.net/BlackJack_/article/details/78161827
3195: [Jxoi2012]奇怪的道路的更多相关文章
- bzoj 3195 [Jxoi2012]奇怪的道路
3195: [Jxoi2012]奇怪的道路 Description 小宇从历史书上了解到一个古老的文明.这个文明在各个方面高度发达,交通方面也不例外.考古学家已经知道,这个文明在全盛时期有n座城市,编 ...
- 【BZOJ】3195: [Jxoi2012]奇怪的道路【状压/奇偶性】【思路】
3195: [Jxoi2012]奇怪的道路 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 802 Solved: 529[Submit][Statu ...
- BZOJ 3195 [Jxoi2012]奇怪的道路 | 状压DP
传送门 BZOJ 3195 题解 这是一道画风正常的状压DP题. 可以想到,\(dp[i][j][k]\)表示到第\(i\)个点.已经连了\(j\)条边,当前\([i - K, i]\)区间内的点的度 ...
- BZOJ 3195: [Jxoi2012]奇怪的道路(状压dp)
f[i][j][s]表示当前处理第i个点,前i-1个点已连j条边,第i个点开始k个点的奇偶性状态. #include<cstring>#include<algorithm>#i ...
- [BZOJ3195][Jxoi2012]奇怪的道路
3195: [Jxoi2012]奇怪的道路 Time Limit: 10 Sec Memory Limit: 128 MB Description 小宇从历史书上了解到一个古老的文明.这个文明在各个 ...
- [补档][Jxoi2012] 奇怪的道路
[Jxoi2012] 奇怪的道路 题目 传送门 :http://www.lydsy.com/JudgeOnline/problem.php?id=3195 小宇从历史书上了解到一个古老的文明.这个文明 ...
- 【BZOJ3195】[Jxoi2012]奇怪的道路 状压DP
[BZOJ3195][Jxoi2012]奇怪的道路 Description 小宇从历史书上了解到一个古老的文明.这个文明在各个方面高度发达,交通方面也不例外.考古学家已经知道,这个文明在全盛时期有n座 ...
- 【BZOJ 3195 】[Jxoi2012]奇怪的道路 装压dp
受惯性思维的影响自动把二进制状态认为是连与不连......... 我们这里二进制状态表示的是奇偶,这样的话我们f[i][j][k]表示的就是前i个城市用了j个边他前k个城市的奇偶状态,然后想想怎么转移 ...
- BZOJ3195:[JXOI2012]奇怪的道路——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=3195 Description 小宇从历史书上了解到一个古老的文明.这个文明在各个方面高度发达,交通方 ...
随机推荐
- ScrollView镶嵌listview显示不全的原因
当ScrollView镶嵌listview会显示不全,通过查看ScrollView测量高度的源码,会发现ScrollView重写了父类viewGroup的measureChildWithMargins ...
- html5 chrome 摄像头 &&bootstrap
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- Javascript基础--运算符与表达式
一.运算符 1.运算符分类: 按功能:算术运算符:+.-.*./.%.++.-- 例:12+12-11+5*6+20/5+5%2+(5%-2)+(-5++2)+(a++)+(++a)+(--a)+(a ...
- ALPS语言学校(西雅图)|ALPS Language School (Seattle)
http://www.swliuxue.com/school-3879.html 所属国家: 美国 所在省洲: 华盛顿州 所在城市: 华盛顿州 建校时间: 1992年 学校类型: 院校 学校类别: 私 ...
- jquery中对于ul>li列表分页。学习记录
这个是很简单的一种分页,只能对列表进行分页.为了开发有可能需要用到记录下来 Html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 T ...
- BZOJ 3090: Coci2009 [podjela]
3090: Coci2009 [podjela] Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 23 Solved: 17[Submit][Statu ...
- 分享个谷歌浏览器下的一款插件PostMan
用作POST GET调试非常好用 先下载谷歌浏览器 然后在应用里搜索安装即可
- IOS 计算文字尺寸(UILabel)
方式1 :普通用法 #define MJNameFont [UIFont systemFontOfSize:14] /** * 计算文字尺寸 * * @param text 需要计算尺寸的文字 * ...
- 如何在spring中运行多个schedulers quartz 实例
http://wzping.iteye.com/blog/468263 1.定义一个JOB <!-- 使用pojo来做job,指定pojo和method --> <bean ...
- 旧文备份:对象字典0x1005和0x1006的理解
SYNC不一定由主站产生,因此,产生SYNC的节点,0x1005对象的值一般是0x40000080,第30位为1表示本节点产生 SYNC,而本节点的0x1006对象就是产生同步周期值了;而接收SYNC ...