BZOJ 1231: [Usaco2008 Nov]mixup2 混乱的奶牛 状态压缩dp
2024-09-03 04:05:34
开始读错题了,然后发现一眼切~
Code:
#include <cstdio>
#include <algorithm>
#define ll long long
#define setIO(s) freopen(s".in","r",stdin)
using namespace std;
int s[20];
ll dp[1<<18][17],fac[20];
int main() {
// setIO("input");
int n,k,i,j,l;
scanf("%d%d",&n,&k);
fac[0]=1;
for(i=1;i<=n;++i) fac[i]=fac[i-1]*i;
for(i=0;i<n;++i) scanf("%d",&s[i]), dp[(1<<i)][i]=1;
for(l=1;l<(1<<n);++l) {
for(j=0;(1<<j)<=l;++j) {
if((l&(1<<j)) && dp[l][j]) {
for(int p=0;(1<<p)<(1<<n);++p) {
if(((1<<p)^l)&&abs(s[p]-s[j])>k){
dp[l^(1<<p)][p]+=dp[l][j];
}
}
}
}
}
ll re=0;
for(i=0;i<n;++i) re+=dp[(1<<n)-1][i];
printf("%lld\n",re);
return 0;
}
最新文章
- mysqldump:Couldn't execute 'show create table `tablename`': Table tablename' doesn't exist (1146)
- TODO软件工程--如何预算项目的工期
- 201509020-js
- HDU 1068 Girls and Boys (二分图最大独立集)
- JAVA CAS单点登录(SSO) 教程
- RHEL 7特性说明(七):编译程序及工具
- Nuget升级问题
- Design Pattern——开放封闭原则
- apache代理转发
- 小程序脚本语言WXS,你想要的都在这里了
- [HNOI2012]双十字
- linux下数据同步、回写机制分析
- 数据库scheme设计(9.4 小结)
- 更换MariaDB数据库
- iOS:练习题中如何用技术去实现一个连线题
- java倒计时简易实现,只按单线程,以秒为单位
- C++二维数组 取地址 复制给 二维指针
- destoon入门实例与常见问题
- hdu2090-2097
- 在mac console下 执行c++文件