博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[BZOJ] 1087 [SCOI2005]互不侵犯King
阅读量:6709 次
发布时间:2019-06-25

本文共 710 字,大约阅读时间需要 2 分钟。

Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 5337  Solved: 3105[Submit][Status][Discuss]Description  在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。Input  只有一行,包含两个数N,K ( 1 <=N <=9, 0 <= K <= N * N)Output  方案数。Sample Input3 2Sample Output16HINTSource

状压dp,一开始想写二维的无果。。

f[第i行][状态j][共有k个1]

#include
#include
using namespace std;long long f[20][513][105];int n,lim,m;int cnt[513];void init(){ for(int i=0;i<=512;i++) cnt[i]=cnt[i>>1]+(i&1);}inline bool invaild(int x){
return x&((x&(x<<1)));}inline bool check(int x,int y){
return ((x|(x<<1)|(x>>1))&y);}signed main(){ cin>>n>>lim; m=1<

转载于:https://www.cnblogs.com/ghostcai/p/9247401.html

你可能感兴趣的文章
UVa 11503 - Virtual Friends
查看>>
构建apache web 服务器
查看>>
内核和用户空间共享内存的实现例程-proc和mmap
查看>>
jquery 判断ul下是否存在li
查看>>
Backtrack5 R3实用新工具分析(上)
查看>>
如何解决在 beamer 中使用 utf8 的中文标签乱码问题
查看>>
NYOJ1238 最小换乘 (dijkstra)
查看>>
【Android】保存Fragment切换状态
查看>>
关于TextView的setText()与Integer之间一个易犯的小错误
查看>>
杭电OJ2004——成绩转换
查看>>
第一阶段冲刺10
查看>>
POJ-1679 The Unique MST---判断最小生成树是否唯一
查看>>
(转)关于Struts 2 拦截器参数丢失问题
查看>>
数据筛选和排序
查看>>
Promise 理解
查看>>
Ueditor在MVC中上传文件和远程图片下载的脚本
查看>>
关于索引
查看>>
让pandoc输出pdf时支持中文
查看>>
利用反射实现页面控件与实体之间的绑定
查看>>
Xamarin-Android_BaseAdapter 简单的复用
查看>>