BZOJ1088: [SCOI2005]扫雷Mine
这道题A的好莫名其妙啊2333
状压DP,枚举上一个雷的分布情况(1<<3)-1,然后和当前的分布相结合,推出下一状态。
//BZOJ 1088 //by Cydiater //2016.8.26 #include <iostream> #include <cstring> #include <string> #include <algorithm> #include <cmath> #include <ctime> #include <cstdlib> #include <queue> #include <map> #include <iomanip> #include <cstdio> using namespace std; #define ll long long #define up(i,j,n) for(ll i=j;i<=n;i++) #define down(i,j,n) for(ll i=j;i>=n;i--) ; const int oo=0x3f3f3f3f; inline ll read(){ ,f=; ;ch=getchar();} +ch-';ch=getchar();} return x*f; } ll N,a[MAXN],f[MAXN][<<],ans=; namespace solution{ inline ll col(ll num){ ; <<))cnt++; <<))cnt++; return cnt; } void init(){ N=read(); up(i,,N)a[i]=read(); } void dp(){ memset(f,,sizeof(f)); f[][]=;f[][]=; up(i,,N)up(S,,(<<)-)][S]>){ int tmp=col(S); )f[i][S>>]+=f[i-][S]; &&i<N)f[i][(S>>)|(<<)]+=f[i-][S]; } } void output(){ up(i,,(<<)-)ans+=f[N][i]; cout<<ans<<endl; } } int main(){ //freopen("input.in","r",stdin); using namespace solution; init(); dp(); output(); ; }
BZOJ1088: [SCOI2005]扫雷Mine的更多相关文章
- BZOJ1088 [SCOI2005]扫雷Mine 动态规划
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1088 题意概括 扫雷.只有2行.第2行没有雷,第一行有雷.告诉你第二行显示的数组,问有几种摆放方式 ...
- 【题解】 bzoj1088: [SCOI2005]扫雷Mine (神奇的做法)
bzoj1088,懒得复制,戳我戳我 Solution: 其实这个有个结论,答案只会有\(0\),\(1\),\(2\)三种(我真的是个弱鸡,这个都想不到) 然后我们假设第一个就可以推出所有的状态(显 ...
- 【暴力】【推导】bzoj1088 [SCOI2005]扫雷Mine
考虑右侧的一个格子是否放雷,只可能对其左侧的三个格子造成影响. 也就是说,若左侧一个格子旁的两个格子已经放了雷,对第三个格子也就唯一确定了. 因此只枚举前两个格子是否放雷,剩下的暴力判断是否合法即可. ...
- [BZOJ1088][SCOI2005]扫雷Mine DP
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1088 记录下每一个格子对应左边格子放的雷的情况,然后dp转移就好了. #include&l ...
- 【递推】BZOJ 1088: [SCOI2005]扫雷Mine
1088: [SCOI2005]扫雷Mine Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2275 Solved: 1328[Submit][St ...
- 【BZOJ】1088: [SCOI2005]扫雷Mine
1088: [SCOI2005]扫雷Mine Description 相 信大家都玩过扫雷的游戏.那是在一个n*m的矩阵里面有一些雷,要你根据一些信息找出雷来.万圣节到了,“余”人国流行起了一种简单的 ...
- bzoj 1088: [SCOI2005]扫雷Mine
题目链接 1088: [SCOI2005]扫雷Mine Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2525 Solved: 1495[Submi ...
- 1088: [SCOI2005]扫雷Mine
1088: [SCOI2005]扫雷Mine Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1635 Solved: 979[Submit][Sta ...
- BZOJ 1088: [SCOI2005]扫雷Mine【思维题,神奇的模拟+枚举】
1088: [SCOI2005]扫雷Mine Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3791 Solved: 2234[Submit][St ...
随机推荐
- Python3.5 + django1.8.5 安装”import pymysql pymysql.install_as_MySQLdb()”的解决方法
最近在学习Python,打算先看两个在线教程,再在github上找几个开源的项目练习一下,在学到"被解放的姜戈"时遇到django同步数据库时无法执行的错误,记录一下. 错误现象: ...
- STM32 C语言,端口映射
static XX 有记忆的定义 typedef XX 可以多次定义一个 #ifedf XXX XXX(程序段1) #else XXX(程序段2)
- Win2008上.NET4.0部署出错HTTP 错误 500.21 - Internal Server Error的解决方法
原因:在安装Framework v4.0之后,再启用IIS,导致Framework没有完全安装 解决:开始->所有程序->附件->鼠标右键点击“命令提示符”->以管理员身份运行 ...
- morris的用法
參數選項說明: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ...
- css3-新属性-用户界面
多列:(对文本进行布局,像报纸那样) column-count: 规定元素应该被分隔得列数: column-gap:规定列之间的间距: column-rule: 列与列之间的间隔线: column-w ...
- java线程安全
(一).java并发之原子性与可见性 原子性 原子是世界上的最小单位,具有不可分割性.比如 a=0:(a非long和double类型) 这个操作是不可分割的,那么我们说这个操作时原子操作.再比如:a+ ...
- Struts2拦截器模拟
前言: 接触Struts2已经有一段时间,Student核心内容就是通过拦截器对接Action,实现View层的控制跳转.本文根据自身理解对Struts2进行一个Java实例的模拟,方便大家理解! 示 ...
- C++之再续前缘(一)——C++基础(与C语言的差异)(下)
1.void型指针 void本身是一种数据类型,通常表示无值,不能声明void类型的变量,但是可以声明void类型的指针, void*类型的指针表示不确定的类型,是一种通用型的指针,也就是说任何类型的 ...
- JAVA实现打印机
我这里有以前收藏的代码,两个类实现了简易的文本打印机的功能,包括预览.简单跟你说一下. 1.PrinterDemo.java主体类,也是入口类,里面有main方法可以直接在Eclipse中调试运行,他 ...
- IE中使用jquery的fadeIn()失效的问题
在自己写的一个轮播组件中遇到一个问题,使用jquery的fadeIn动画时,在IE11中表现不正常,没有渐入的效果. 1.HTML结构 <div class="mainpage-sli ...