【状压dp】Bzoj1231 [Usaco2008 Nov]mixup2 混乱的奶牛
Description
混乱的奶牛 [Don Piele, 2007] Farmer John的N(4 <= N <= 16)头奶牛中的每一头都有一个唯一的编号S_i (1 <= S_i <= 25,000). 奶牛为她们的编号感到骄傲, 所以每一头奶牛都把她的编号刻在一个金牌上, 并且把金牌挂在她们宽大的脖子上. 奶牛们对在挤奶的时候被排成一支"混乱"的队伍非常反感. 如果一个队伍里任意两头相邻的奶牛的编号相差超过K (1 <= K <= 3400), 它就被称为是混乱的. 比如说,当N = 6, K = 1时, 1, 3, 5, 2, 6, 4 就是一支"混乱"的队伍, 但是 1, 3, 6, 5, 2, 4 不是(因为5和6只相差1). 那么, 有多少种能够使奶牛排成"混乱"的队伍的方案呢?
Solution
一开始看错题也是非常地囧
然后就是很水的状压了
f[S][i]已排列集合为S最后为i的方案数
最近好想水usaco>.<
Code
用cmath库竟然CE是怎么回事QwQ
#include<cstdio>
#include<cstdlib>
#define ll long long
using namespace std;
const int maxn=; int n,k,a[maxn];
ll f[<<maxn][maxn]; int main(){
scanf("%d%d",&n,&k);
for(int i=;i<n;i++)
scanf("%d",&a[i]);
for(int i=;i<n;i++)
f[<<i][i]=; for(int S=;S<(<<n);S++)
for(int i=;i<n;i++) if(S&(<<i))
for(int j=;j<n;j++)
if(!(S&(<<j))&&abs(a[j]-a[i])>k)
f[S^(<<j)][j]+=f[S][i];
ll ans=;
for(int i=;i<n;i++)
ans+=f[(<<n)-][i];
printf("%lld\n",ans);
return ;
}
【状压dp】Bzoj1231 [Usaco2008 Nov]mixup2 混乱的奶牛的更多相关文章
- bzoj1231[Usaco2008 Nov]mixup2 混乱的奶牛(状压dp)
		1231: [Usaco2008 Nov]mixup2 混乱的奶牛 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1032 Solved: 588[ ... 
- bzoj1231 [Usaco2008 Nov]mixup2 混乱的奶牛——状压DP
		题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1231 小型状压DP: f[i][j] 表示状态为 j ,最后一个奶牛是 i 的方案数: 所以 ... 
- bzoj1231: [Usaco2008 Nov]mixup2 混乱的奶牛
		思路:状压dp,设f[i][j]表示当前已经选出的牛的状态为i,最后一头选出的牛为j的方案数. 然后注意就是初值不能是f[0][i]=1,因为所有牛本来都可以第一个被选中,然而这样一定初值有些牛可能就 ... 
- [Usaco2008 Nov]mixup2 混乱的奶牛 简单状压DP
		1231: [Usaco2008 Nov]mixup2 混乱的奶牛 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 685 Solved: 383[S ... 
- bzoj 1231: [Usaco2008 Nov]mixup2 混乱的奶牛  -- 状压DP
		1231: [Usaco2008 Nov]mixup2 混乱的奶牛 Time Limit: 10 Sec Memory Limit: 162 MB Description 混乱的奶牛 [Don Pi ... 
- bzoj[Usaco2008 Nov]mixup2 混乱的奶牛 状压dp
		[Usaco2008 Nov]mixup2 混乱的奶牛 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1204 Solved: 698[Submit ... 
- BZOJ 1231: [Usaco2008 Nov]mixup2 混乱的奶牛( dp )
		状压dp dp( x , S ) 表示最后一个是 x , 当前选的奶牛集合为 S , 则状态转移方程 : dp( x , S ) = Σ dp( i , S - { i } ) ( i ∈ S , ... 
- B1231 [Usaco2008 Nov]mixup2 混乱的奶牛 状压dp
		发现是状压dp,但是还是不会...之前都白学了,本蒟蒻怎么这么菜,怎么都学不会啊... 其实我位运算基础太差了,所以状压学的不好. 题干: Description 混乱的奶牛 [Don Piele, ... 
- 1231: [Usaco2008 Nov]mixup2 混乱的奶牛 - BZOJ
		Description 混乱的奶牛 [Don Piele, 2007] Farmer John的N(4 <= N <= 16)头奶牛中的每一头都有一个唯一的编号S_i (1 <= S ... 
随机推荐
- javah tool for Android Native Application
			javah可以在Eclipse中配置成为External Tools,选择External Tools Configurations,配置如下,经过测试通过. Location: ${system_p ... 
- 17.QT-事件处理分析、事件过滤器、拖放事件
			Qt事件处理介绍 Qt平台会将系统产生的消息转换为Qt事件 Qt事件是一个QEvent的对象 Qt事件用来描述程序内部或外部发生的动作 任意的QObject对象都具备事件处理的能力 Qt常见的事件继承 ... 
- IT小团队的管理者的突围之道
			笔者前几天被问到一个问题,你在团队管理方面有什么值得分享的吗?咋一听,实用千言万语,但是事后回忆说出来的东西感觉空无一物,缺少干货.故想通过写一篇随笔思考整理一下,刷新一下自己对小团队管理的认知.这里 ... 
- datetime的精度
			最近有需要将分钟线的数据进行内联拼接,但时间没有必要精确到秒,微秒. df['datetime'] = pd.to_datetime(df['datetime']) df = df.set_index ... 
- FFPLAY的原理(三)
			播放声音 现在我们要来播放声音.SDL也为我们准备了输出声音的方法.函数SDL_OpenAudio()本身就是用来打开声音设备的.它使用一个叫做SDL_AudioSpec结构体作为参数,这个结构体中包 ... 
- 关于Python的那些话
			1.第一个选择:版本2还是3,我选择2,保守谨慎,3的成熟周期会很长2.三种基本的文本操作: 2.1.解析数据并将数据反序列化到程序的数据结构中 2.2.将数据以某种方式转化为另一种相 ... 
- CentOS, FreeBSD, Ubuntu LTS 维护风格的简单比较
			https://jackqq.wordpress.com/2014/06/24/centos-vs-freebsd-vs-ubuntu-lts/ 看到周围的人好多在用或者学 CentOS,忍不住也想看 ... 
- Fiddler抓包使用教程-Android应用抓包
			转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/74439165 本文出自[赵彦军的博客] Fiddler 也可以支持对手机应用进行 ... 
- spring cloud 入门系列六:使用Zuul 实现API网关服务
			通过前面几次的分享,我们了解了微服务架构的几个核心设施,通过这些组件我们可以搭建简单的微服务架构系统.比如通过Spring Cloud Eureka搭建高可用的服务注册中心并实现服务的注册和发现: 通 ... 
- 如何确保API的安全性
			目标: 定义API安全性要求 使用security scheme来应用资源和方法级策略 定义API的自定义security scheme 将OAuth2.0外部供应商策略应用到资源方法 为API定义一 ... 
