bzoj1231[Usaco2008 Nov]mixup2 混乱的奶牛
2015-09-24 13:55
405 查看
状压dp
用01存的是第i个数有没有在里面,而不是这个数值。&判断是否在里面,在为1。| (或)用来添加。
#include<stdio.h> #include<algorithm> using namespace std; typedef long long ll; ll n,m; ll a[20]; ll f[20][1<<16]; int main() { scanf("%lld %lld",&n,&m); for(ll i=0;i<n;i++) { scanf("%lld",&a[i]); } for(ll i=0;i<n;i++) { f[i][1<<i]=1;//以a[i]为开头 } for(ll j=0;j<(1<<n);j++) { for(ll i=0;i<n;i++) { if(j&(1<<i))//a[i]要在这个集合里 { for(ll k=0;k<n;k++) { if(!((1<<k)&j)&&abs(a[i]-a[k])>m)//a[k]不在这个集合里 { f[k][j|(1<<k)]+=f[i][j]; } } } } } ll ans=0; for(ll i=0;i<n;i++) { ans+=f[i][(1<<n)-1]; } printf("%lld",ans); }
用01存的是第i个数有没有在里面,而不是这个数值。&判断是否在里面,在为1。| (或)用来添加。
相关文章推荐
- 基于Android中dp和px之间进行转换的实现代码
- Android中dip、dp、sp、pt和px的区别详解
- LFC1.0.0 版本发布
- Android px、dp、sp之间相互转换
- android中像素单位dp、px、pt、sp的比较
- Android对px和dip进行尺寸转换的方法
- Android根据分辨率进行单位转换-(dp,sp转像素px)
- android 尺寸 dp,sp,px,dip,pt详解
- DP问题各种模型的状态转移方程
- POJ-1695-Magazine Delivery-dp
- nyoj-1216-整理图书-dp
- TYVJ1193 括号序列解题报告
- 对DP的一点感想
- TYVJ上一些DP的解题报告
- soj1005. Roll Playing Games
- 01背包问题
- LeetCode之Maximum Product Subarray
- DP Flow
- zoj3605 Find the Marble(三维dp)
- Word Break I,II, Triangle,Palindrome Partitioning 动态规划 DP