好题(爆搜和puts("2")一个分(雾)),不得不说思维真的强。

首先发现区间翻转很难受,考虑用差分(异或满足可逆性),注意是从0到n+1

然后就转化题意,操作改为选取距离为L的两个数异或1,我们需要把所有的1变成0(因为1代表前后两个数不同,0代表相同)

分情况考虑

不可能同时让两个0异或成1,所以:

1.一个0,一个1可以视为将1移动到0的位置

2.两个1可以认为将它俩全部消除

考虑一下可以bfs预处理出两个1消除的代价,时间复杂度O(nmk)。

进一步转化题意:

给定n个物品,每两个物品的消除都有一定代价,最小花费?

这就是普通的状压了,但要注意区分O(k*2^2k)和(k^2*2^2k)的打法

具体k*2^k的打法:

对于当前状态state,随便固定一个点,再枚举它和哪些物品同时消除,取min即可

这样做的话,相当于转移的时候只会转移固定一个点的状态,但实际上如果k^2枚举的话会有很多冗余状态,

一个state可以由k个last更新,就冗余啦。

最新文章

  1. PL/0编译器实践---后记
  2. CC2540串口输出调试功能
  3. 动态加载JS 和 CSS
  4. backtrack下vim的使用
  5. django 1.7+ default_permissions
  6. Excel文件操作方式比较
  7. Winform学习手册(目录)
  8. Protobuf语言指南
  9. 我的开发框架(WinForm)4
  10. 【转】monkeyrunner学习总结二:连接、安装、启动
  11. 100个常用的linux命令
  12. rsync实现文件备份同步(比如服务器镜像)
  13. Longest Palindromic Substring - 一题多解
  14. mac下面xcode+ndk7配置cocos2dx & box2d的跨ios和android平台的游戏教程
  15. suricata 配置文件threshold
  16. javase中javax源码下载地址
  17. 第一个ASP.NET Web API (C#)程序
  18. VMware 导出镜像文件供 Virtual Box 使用
  19. java使用POI实现excel文件的读取,兼容后缀名xls和xlsx
  20. AIX修改时区,配置NTP服务

热门文章

  1. 智慧金融时代,大数据和AI如何为业务赋能
  2. window 后台运行的应用程序点击没反应
  3. [HNOI2013][BZOJ3143] 游走 - 高斯消元
  4. 从C++到C++/CLI
  5. c#菜单动态合并
  6. mysql数据备份之 xtrabackup
  7. NOIP2018货币系统
  8. jenkins pipeline 流水线生产
  9. Java11新特性 - 新加一些实用的API
  10. [UWP]使用GetAlphaMask制作阴影