hdu5890 bitset优化DP

hdu5890 暴力DP(bitset常数优化)

        

        题目连接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5890

        这道题目我的队友当场暴力搜索写过,ORZ。赛后发现是bitset优化的DP,因为之前没写过这样的DP,所以记录一下。
其实暴力的DP很好写,不过算一下复杂度,本质不同的询问有2W左右,可以开数组记录一下,每次暴力DP的代价是87*10*47*47大概4W左右,总复杂度8e8,一般是跑不过的。但是常数优化很强大有木有?何况bitset是自带的stl,用起来很方便。因为状态只有01两种,所以直接用bitset存储,状态转移的时候没加一个数,87个状态整体左移这个数的大小即可,复杂度为8e8/w,w据说是机器字长,w=8位左右正好可以卡过。还有其他优化方法本渣渣就不在介绍了,可以上X姐博客上看。
附上代码:


//#include <bits\stdc++.h>
//#pragma comment(linker, "/STACK:102400000,102400000")
#include <cstdio>
#include <cstring>
#include <iostream>
#include <cstdlib>
#include &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值