传送门

记忆化搜索。

在下觉得sxy大佬的代码写得相当好,通篇的骚操作(因为我都不会呀),%%% 学到了

预处理每个状态的值。以前的我都是zz地枚举每一位。。

for(int i=1;i<(1<<n);++i) {

x=(i&(-i));

if(i==x) continue;

tot[i]=tot[x]+tot[i^x];

}

f[r][s]==1表示搜索过且不合法,f[r][s]==2表示搜索过且合法

  if(f[r][s]) return f[r][s]-1;

若是只剩一块巧克力要分

 if(s==(s&(-s))) return f[r][s]=2,1;

枚举子集,y为x在s下的补集

for(x=(s-1)&s;x;x=(x-1)&s) {

        y=s-x;
}

两维状态值相加或相乘为定值时,用一维来代替也是一个常见的套路。

最新文章

  1. Java IO流学习总结
  2. google浏览器打开报出文件不可读解决方案
  3. Linux makefile 教程 非常详细,且易懂
  4. Who Says What to Whom on Twitter-www2011-20160512
  5. Map集合遍历的2种方法
  6. js中定时器的使用
  7. html5浮动、等高、弹性盒模型
  8. &lt;xliff:g&gt;标签
  9. ABBYY FineReader的图像编辑器功能使用方法
  10. MySql服务器的启动和关闭
  11. NeatUpload 同时选择并上传多个文件
  12. git的安装已经连github
  13. ACdream 1427 Nice Sequence
  14. 转:【Java集合源码剖析】Hashtable源码剖析
  15. 第一章 Linux系统介绍与环境搭建准备
  16. 负载均衡之让nginx跑起来
  17. 【数据结构】红黑树与跳表-(SortSet)-(TreeMap)-(TreeSet)
  18. 关于Java方法重载
  19. JavaScript是如何工作的:事件循环和异步编程的崛起 + 5种使用 async/await 更好地编码方式!
  20. matplotlib画sin(x)和cos(x)/2

热门文章

  1. EL fmt标签
  2. 牛客多校第六场 E Androgynos 自补图
  3. PHP如何实现百万级数据导出
  4. System.Web.HttpSessionStateBase.cs
  5. day22_4-pickle模块
  6. QT之QComboBox
  7. Mysql图解安装向导
  8. AndroidStudio 添加翻译插件
  9. html-from提交表单
  10. UVA - 11327