2019年2月9日

poj2441状态压缩dp基础

摘要: /* 给定n头牛,m个谷仓,每头牛只能在一些特定的谷仓,一个谷仓只能有一头牛 问可行的安排方式 dp[i][j]表示前i头牛组成状态j的方案数,状态0表示无牛,1表示有牛 使用滚动数组即可 枚举到第i头牛时,状态j必须有i-1头牛,然后由这个状态推导出第i头牛的状态,再清0 */ #include #include using namespace std; int n,m,k,mp[25][... 阅读全文

posted @ 2019-02-09 23:03 zsben 阅读(290) 评论(0) 推荐(0) 编辑

zoj3471 状态压缩dp基础

摘要: /* dp[S]表示状态S下的最大收益,0表示没有了,1表示还在 */ #include using namespace std; int dp[1>n && n){ for(int i=1;i>mp[i][j]; memset(dp,0,sizeof dp); int ans=0; for(int S=(1=1... 阅读全文

posted @ 2019-02-09 23:02 zsben 阅读(114) 评论(0) 推荐(0) 编辑

cf1108E2 线段树类似扫描线

摘要: /* 有点像扫描线 思路:从左到右枚举每个点,枚举到点i时,把所有以i为起点的区间的影响删去 再加上以i-1为结尾的区间的影响 */ #include using namespace std; #define maxn 200005 #define lson l,m,rt>1; build(lson); build(rson); pushup(rt); } void ... 阅读全文

posted @ 2019-02-09 21:41 zsben 阅读(100) 评论(0) 推荐(0) 编辑

poj1185 状态压缩经典题

摘要: 状态压缩的好题,直接求会爆内存,先把所有可能的状态求出来存在stk里,然后f[i][k][t]表示i行状态为t,i-1状态为k,由i-1状态来推出i状态即可 注意要打好边际条件的状态,并且某个可行状态必须由前一个可行状态推出 阅读全文

posted @ 2019-02-09 17:53 zsben 阅读(138) 评论(0) 推荐(0) 编辑

cf1110F 离线+树上操作+线段树区间更新

摘要: 自己搞的算法超时了。。但是思路没什么问题:用线段树维护每个点到叶子节点的距离即可 这是cf上的代码 阅读全文

posted @ 2019-02-09 14:36 zsben 阅读(203) 评论(0) 推荐(0) 编辑

导航