var
f:array[..,..,..] of int64;
a:Array[..] of longint;
count:array[..] of longint;
ans:int64;
n,m:longint; procedure init;
var
t,i:longint;
begin
readln(n,m);
fillchar(count,sizeof(count),);
for i:= to ( shl n)- do
if (i and (i shl ) =) and (i and (i shr ) = ) then
begin
inc(a[]);
a[a[]]:=i;
t:=i;
while t> do
begin
t:=t- (t and -t);
inc(count[a[]]);
end;
end;
end; procedure main;
var
i,j,k,l:longint;
begin
fillchar(f,sizeof(f),);
for i:= to a[] do
f[,count[i],a[i]]:=;
for i:= to n do
for j:= to m do
if i*n>=j then
for k:= to a[] do
if count[k]<=j then
for l:= to a[] do if ( count[l]<=j) and
( (a[k] shl ) and a[l]= ) and
( (a[k] shr ) and a[l]= ) and
( a[k] and a[l]=) then
f[i,j,a[k]]:=f[i-,j-count[k],a[l]]+f[i,j,a[k]]; for i:= to a[] do
ans:=ans+f[n,m,a[i]];
writeln(ans);
end; begin
init;
main;
end.

BZOJ 1087的更多相关文章

  1. 轮廓线DP POJ3254 && BZOJ 1087

    补了一发轮廓线DP,发现完全没有必要从右往左设置状态,自然一点: 5 6 7 8 9 1 2 3 4 如此设置轮廓线标号,转移的时候直接把当前j位改成0或者1就行了.注意多记录些信息对简化代码是很有帮 ...

  2. BZOJ 1087: [SCOI2005]互不侵犯King [状压DP]

    1087: [SCOI2005]互不侵犯King Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3336  Solved: 1936[Submit][ ...

  3. 【BZOJ 1087】【SCOI 2005】互不侵犯King

    http://www.lydsy.com/JudgeOnline/problem.php?id=1087 很简单的状压,需要预处理,我两个状态可不可以挨着的预处理出错WA了好几次. 这个位运算预处理好 ...

  4. BZOJ 1087 题解【状压DP】

    1087: [SCOI2005]互不侵犯King Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3112  Solved: 1816[Submit][ ...

  5. BZOJ 1087 互不侵犯

    Description 在\(N \times N\)的棋盘里面放\(K\)个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共\(8 ...

  6. BZOJ 1087 互不侵犯King 状态压缩DP

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1087 题目大意; 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国 ...

  7. bzoj 1087 状压dp

    1087: [SCOI2005]互不侵犯King Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4130  Solved: 2390[Submit][ ...

  8. bzoj 1087 [SCOI2005]互不侵犯King 状态压缩dp

    1087: [SCOI2005]互不侵犯King Time Limit: 10 Sec  Memory Limit: 162 MB[Submit][Status][Discuss] Descripti ...

  9. BZOJ 1087(SCOI 2005) 互不侵犯

    1087: [SCOI2005]互不侵犯King Time Limit: 10 Sec Memory Limit: 162 MB Submit: 5333 Solved: 3101 [Submit][ ...

  10. bzoj[1087][SCOI2005]互不侵犯King

    Description 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. Input 只有一行,包 ...

随机推荐

  1. android解决内存溢出的问题(没有从根本上解决)

    Android游戏虚拟机算法JNI 尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完 ...

  2. linux核心之进程管理

    进程就是处于执行期的程序(目标码存放在某中介质上).进程并不仅仅局限于一段可执行程序代码,通常还包括其他资源,例如打开的文件,挂起的信号,内核内部数据,处理器状态,一个或多个具有内存映射的内存地址空间 ...

  3. BSTR、char*和CString转换

    (1) char*转换成CString 若将char*转换成CString,除了直接赋值外,还可使用CString::Format进行.例如: char chArray[] = "This  ...

  4. SQLite For .Net 已经整合了32位和64位

    以前引用SQLite.DLL的时候,如果是winform等桌面程序,还要分32位和64位不一样的DLL,但最近已经整合为一个包了 打开vs的程序包管理器控制器,输入: install-package ...

  5. les nationalités et les pays

    masculin  féminin pays français  française  la France chinois  chinoise  la Chine   suisse  suisse  ...

  6. virtualbox 中安装win7虚拟机

    下载了win7镜像文件后,在virtualbox中装了几次都提示 windows faied to start,后来在网上找了些解决办法,在这记录下,免得下次又忘了 创建新的虚拟机: 1.安装virt ...

  7. c 语言简单计算器源码

    //  main.c //  计算器 //  Created by qianfeng on 14-7-15. //  Copyright (c) 2014年 ___FGY___. All rights ...

  8. IOS FoundationKit (NSString) 知识汇总

    1. interface 代表类声明,@implement 代表类实现,@encode 代表将object-c 中类型转换成指定字符串 2  当前char * 类型转化为字符串需要转化为NSStrin ...

  9. Win32 SecuritySetting

    http://flylib.com/books/en/2.21.1.207/1/ http://blogs.technet.com/b/heyscriptingguy/archive/2011/11/ ...

  10. 配置管理多个ssh key

    假设需要为两台主机建立ssh key以便抓取.更新代码,主机A:111.111.111.111,主机B:222.222.222.222. 首先,用两个账户(hostA@email.com与hostB@ ...