做不出来主要是老想着用2^30存每个点的状态,用0 1表示连边奇偶,,就被限制住了

实际上我们应该注意到k=8,这样我们就只用记录前k个、、

其实就是递推的思路,每次加入一个新点,枚举这个点与前K个点各种情况的连边,再考虑连与不连有什么影响

再就是不同点的转移要注意保持合法性

注意状态记录从右往左,这是因为>>正好可以削掉一个边界

只要能把所有情况都考虑进来,完成每一个点加入前所有其他点的状态的完整, 就是成功的dp

码:

#include<iostream>
#include<cstdio>
using namespace std;
#define p 1000000007
int n,m,K,k,f[35][35][(1<<9)][10];
int main()
{scanf("%d%d%d",&n,&m,&K);f[2][0][0][0]=1;for(int i=2;i<=n;i++)for(int j=0;j<=m;j++)for(int k=0;k<(1<<(K+1));k++){for(int l=0;l<K;l++){if(f[i][j][k][l]){f[i][j][k][l+1]+=f[i][j][k][l];f[i][j][k][l+1]%=p;              //放过这次连边机会,给下一个连边 if(j<m&&i-K+l>0){f[i][j+1][k^(1<<K)^(1<<l)][l]+=f[i][j][k][l];f[i][j+1][k^(1<<K)^(1<<l)][l]%=p;     //连边之后的影响 }   }}if((k&1)==0&&f[i][j][k][K])f[i+1][j][k>>1][0]=f[i][j][k][K];
//因为K个以前的再也没有机会合法,所以必须K个前满足才能转给下一个 }printf("%d",f[n+1][m][0][0]);
}

做题一定不要钻一个几乎不可能的点,要考虑从其他角度切入(尤其是dp的状态设计)

还有就是不要看到题目奇怪就觉得不会了,这时应该尽量把题目压缩,然后针对题目奇怪的地方找角度切入(如对8用状压、)

2017.7.26 奇怪的道路 失败总结相关推荐

  1. 2017.9.26 于神之怒加强版 失败总结

    .这个题直接上反演可以化成: 然后后面的部分是可以预处理的,最简单的预处理是nlogn的,理论能过,但不知为何死活过不了. 所以就需要o(n)来求后面函数的值 设f=∑d|t  mu(d)*(T/d) ...

  2. matlab 模拟交易,股票量化投资策略模拟交易系统 [2017.03.26 更新]

    本帖最后由 heawjc 于 2017-3-27 17:13 编辑 本系统允许自主研发量化投资策略并进行模拟交易,从2000多只A股中自动选取并交易:策略研发完成即可对历史行情数据进行模拟调试,验证其 ...

  3. Visual Studio 2017启动x86的Android模拟器失败

     Visual Studio 2017启动x86的Android模拟器失败 Visual Studio 2017默认提供多个Android模拟器.其中,x86模拟器运行较快.但是由于和Hyper-V服 ...

  4. 2017.9.26 货币兑换 失败总结

    这个题首先要注意到提示:全买全卖,,不然很容易误入歧途 然后可以根据确定性n^2 dp,,由于它是全买全卖,所以枚举上一个买入的点在哪里,算全卖出的价值取max 如果这个点不卖,则它一定有钱,所以继承 ...

  5. 2017.7.26 幻想乡战略游戏 失败总结

    因为时间关系,就先强行明白了 dt点分治是接触过最难懂的东西了(可能是这一个题) 就是建立一颗点分树 注意子树向重心连边,修改时直接往上跳,用过点和不过点可以简单容斥 就知道这些了 码: #inclu ...

  6. 看完2017年这10大AI失败案例,就知道什么是人工智障了

    本文授权转自网路冷眼(微信公众号:gh_37ca35f41890) 现在尽管我们大多人自然是机器智能的粉丝,但是我们也必须意识到一些新技术正在努力地有效地执行他们的任务,经常以人类不会犯错的方式出错. ...

  7. bzoj 3195 奇怪的道路

    Written with StackEdit. Description 小宇从历史书上了解到一个古老的文明.这个文明在各个方面高度发达,交通方面也不例外.考古学家已经知道,这个文明在全盛时期有\(n\ ...

  8. Visual Studio 2017 、2019安装Windows SDK失败的解决办法(改盘符引起)

    如果是改盘符出错就请往下看,如果不是就别往下看了 这是血泪踩出来的坑,希望有所帮助.我是手残把电脑盘符改了,然后vs就开始疯狂报错,百试无果.百度不出,果断放弃,刚开始是安装的2017,卸载完后安装的 ...

  9. 状压[Jxoi2012]奇怪的道路

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

最新文章

  1. 牛客算法周周练2 B Music Problem(DP,抽屉原理,二进制拆分)
  2. Linux下杀毒软件Clamav的安装和使用
  3. c# 大数据量比较时-方案
  4. Linux的Nginx四:功能|模块
  5. 20个简单汇编语言程序_20个简单的Photoshop技巧将使您的照片看起来很棒
  6. python之字典使用方法总结
  7. Android开发之WebView加载HTML源码包含转义字符实现富文本显示的方法
  8. Mac OS X 安装和配置ngrok
  9. 跨境电商指南:如何处理客户投诉
  10. 语音信号处理(赵力)作业答案1-3章
  11. 微信小程序弹框(后面有灰色蒙版) 获取手机号
  12. python xlwt_python中使用 xlwt 操作excel的常见方法与问题
  13. 使用javascript实现对于chineseocr的API调用
  14. HTML+CSS实现小米官网首页
  15. 宏碁电脑BIOS没有usb启动项怎么办?
  16. craftsmanship中文_欢迎访问叶登民简体中文主页!
  17. 一个DDD指导下的实体类设计案例
  18. tinyMediaManager 群晖 docker
  19. php表白情话,唯美表白情话短句 八字古风情话
  20. python 模拟键盘输入组合键_Python 模拟键盘输入

热门文章

  1. java 运行管理-基础
  2. LaTeX学习经验与常用文档
  3. Vue的基础认知二---vue的双向绑定/vue获取DOM节点
  4. java t9 字母组合_太赞了!美团T9终于整理出Java架构之完美设计实战开源文档
  5. 虚拟服务器怎么进去,怎么进入虚拟主机
  6. 安工大计算机学院肖维民,安工大路由器实验报告.docx
  7. 哔哩哔哩公司swot分析_可口可乐公司2019年SWOT分析
  8. php swoole多进程,PHP基于swoole多进程操作示例
  9. 万分之二用百分之怎么表示_农村建房时,“砖砌的化粪池”怎么做?听完内行人的分析,明白了...
  10. dubbo 支持服务降级吗_关于dubbo的服务降级