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 ...
随机推荐
- app状态监听广播
手机中的应用在安装.更新和卸载时都会发送广播 清单文件 <?xml version="1.0" encoding="utf-8"?> <man ...
- js正则表单验证汇总,邮箱验证,日期验证,电话号码验证,url验证,信用卡验证,qq验证
本文主要汇总各种正则验证,很多都是转载,本人也会尽可能验证准确性,如有错误欢迎留言 //trim()方法在有些浏览器中不兼容,最好自己重写一下 String.prototype.trim=functi ...
- 10-xargs 简明笔记
从标准你输入获取内容创建和执行命令 xargs [options] 选项 -n 数字,分组 示例 x ...
- 创建Maven项目
在MyEclipse10中创建Maven Web项目 1.构建maven项目 2.将maven项目转换成Dynamic Web Project 3.设置部署集 4.pom.xml文件配置 参考: ht ...
- plsql解决中文乱码以及问号问题
PLSQL执行sql语句,不识别中文,输出的中文标题显示成问号???? 输入sql语句select * from V$NLS_PARAMETERS查看字符集,查看第一行value值是否为简体中文 设置 ...
- android与网络的交互
有三种方式: 数据下载,数据上传,数据浏览 URL中一些符号 ?分隔URL和参数 &URL中参数之间的分隔符 =URL中参数对应的值
- MySQL的恢复脚本
原文转自: http://blog.csdn.net/dbanote/article/details/13295727 应用场景: ********************************** ...
- Android网络开发之实时获取最新数据
在实际开发中更多的是需要我们实时获取最新数据,比如道路流量.实时天气信息等,这时就需要通过一个线程来控制视图的更新. 示例:我们首先创建一个网页来显示系统当前的时间,然后在Android程序中每隔5秒 ...
- Easyui表单,文本框,下拉菜单三级联动练习代码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 【BZOJ 3879】SvT
http://www.lydsy.com/JudgeOnline/problem.php?id=3879 SvT的中文是后缀虚树? 反正本蒟蒻不懂,还是$O(nlogn)$的后缀数组和单调栈维护来做, ...