随笔分类 -  动态规划-状压dp

摘要:Bishwock 题目链接:http://codeforces.com/problemset/problem/991/D 数据范围:略。 题解: 一眼题。 首先,每个$L$最多只占用两列,而且行数特别少,我们考虑状态压缩。 即$f_{i, S}$表示前$i$列,第$j$列的状态为$S$时,前$j$最 阅读全文
posted @ 2019-10-24 15:30 JZYshuraK_彧 阅读(205) 评论(2) 推荐(1)
摘要:棋盘 题目链接:https://cometoj.com/contest/38/problem/B?problem_id=1535 数据范围:略。 题解: 因为行数特别小,所以$dp$的时候可以状压起来。 之后就非常傻逼了.... 代码: 阅读全文
posted @ 2019-10-23 15:06 JZYshuraK_彧 阅读(130) 评论(0) 推荐(0)
摘要:Bill的挑战 题目链接:https://www.luogu.org/problem/P2167 数据范围:略。 题解: 因为$k$特别小,想到状压。 状压的方式也非常简单,就是暴力枚举。 但是会不会存在重复的问题呢? 我想到这里就转到容斥了。 就是暴力多步容斥就好了。 $Luogu$的题解们的状压 阅读全文
posted @ 2019-10-16 20:27 JZYshuraK_彧 阅读(106) 评论(0) 推荐(0)
摘要:学校食堂 题目链接:https://www.luogu.org/problem/P2157 数据范围:略。 题解: 发现$B$特别小,很容易想到状压。 即在$dp$的时候弄出来$f_{(i,j,k)}$表示前$i - 1$个都打完了饭,状态$j$也已经打完饭了,当前打饭的是$i$,上一个打饭的是$i 阅读全文
posted @ 2019-10-15 20:32 JZYshuraK_彧 阅读(113) 评论(1) 推荐(0)
摘要:动物园zoo 题目大意:https://www.lydsy.com/JudgeOnline/problem.php?id=1151 题解: 我们发现每个点只会往右延伸$5$个,这个数非常小。 再加上每个动物只有选和不选,很容易想到把每个点后面$5$个给状压到一起。 想到这里就好办了,随便弄个数组搞一 阅读全文
posted @ 2019-09-02 20:50 JZYshuraK_彧 阅读(278) 评论(0) 推荐(0)
摘要:E. Remembering Strings 题目大意: You have multiset of n strings of the same length, consisting of lowercase English letters. We will say that those string 阅读全文
posted @ 2019-07-24 20:24 JZYshuraK_彧 阅读(182) 评论(0) 推荐(0)
摘要:管道连接 bzoj-4006 JLOI-2015 题目大意:给定一张$n$个节点$m$条边的带边权无向图。并且给定$p$个重要节点,每个重要节点都有一个颜色。求一个边权和最小的边集使得颜色相同的重要节点互相连通。 注释:$1\le c_i \le p \le 10$,$1\le u_i,v_i,d_ 阅读全文
posted @ 2019-03-15 08:47 JZYshuraK_彧 阅读(183) 评论(0) 推荐(0)
摘要:Bill的挑战 bzoj-1879 Sdoi-2009 题目大意: 注释:$1\le t \le 5$,$1\le m \le 15$,$1\le length \le 50$。 想法: 又是一个看数据范围想做法的题,我们想到状压dp。 看了题解... ...网上给的状态是f[len][s]表示长度 阅读全文
posted @ 2018-07-27 23:00 JZYshuraK_彧 阅读(200) 评论(0) 推荐(0)
摘要:Pakowanie bzoj-3717 PA-2014 题目大意:给你n个物品m个包,物品有体积包有容量,问装下这些物品最少用几个包。 注释:$1\le n\le 24$,$1\le m\le 100$ 想法:以为是什么超级牛逼的背包dp,结果就是状压dp 状态:f[s]表示装s状态的物品需要多少背 阅读全文
posted @ 2018-07-26 23:08 JZYshuraK_彧 阅读(286) 评论(0) 推荐(0)
摘要:最短母串 bzoj-1195 HNOI-2006 题目大意:给一个包含n个字符串的字符集,求一个字典序最小的字符串使得字符集中所有的串都是该串的子串。 注释:$1\le n\le 12$,$1\le max length \le 50$。 想法:刚开始在那里AC自动机半天,然后瞅了一眼数据范围... 阅读全文
posted @ 2018-07-21 22:51 JZYshuraK_彧 阅读(227) 评论(0) 推荐(0)
摘要:Partitioning the Farm bzoj-3061 Usaco13Feb 题目大意:给定一个n*n的方格图,用k条贯穿方格图的直线将整个方格图分割,使得每一块的权值和的最大值最小。 注释:$1\le n \le 15$,$1\le k \le 2n-2$。 想法:想到dp不难,但是我想了 阅读全文
posted @ 2018-05-25 16:38 JZYshuraK_彧 阅读(260) 评论(0) 推荐(0)
摘要:Sky Code poj-3904 题目大意:给你n个数,问能选出多少满足题意的组数。 注释:如果一个组数满足题意当且仅当这个组中有且只有4个数,且这4个数的最大公约数是1,$1\le n\le 10^4$。 想法:我们显然可以知道4个数是可以不用两两互质的,所以正面计算难度较大,我们考虑从反面考虑 阅读全文
posted @ 2018-03-19 19:22 JZYshuraK_彧 阅读(183) 评论(0) 推荐(0)
摘要:愤怒的小鸟 noip-d2t3 luogu-2831 题目大意:给你n个点,问最少需要多少条经过原点的抛物线将其覆盖。 注释:1<=点数<=18,1<=数据组数<=30。且规定抛物线是开口向下的。 想法:其实一开始的想法是很偏的,就是设dp[i][j][k]表示在状态k下建立$i_{th}$和$j_ 阅读全文
posted @ 2018-03-19 10:41 JZYshuraK_彧 阅读(208) 评论(0) 推荐(0)
摘要:Easy Finding poj-3470 题目大意:给你一个01矩阵,问能否选出一些行,使得这些行所新组成的01矩阵每列中有且只有1个1。 注释:1<=行数<=16,1<=列数<=300. 想法:对于一个单独的01矩阵来讲,我们可以用一个数表示其中的每一行,然后暴力枚举每一行选取情况即可。 最后, 阅读全文
posted @ 2018-03-19 09:00 JZYshuraK_彧 阅读(173) 评论(0) 推荐(0)
摘要:Relocation poj-2923 题目大意:给出n个物品,有两辆车,两辆车必须一起出动并且每辆车有单独的容量。问最少需要运输多少次才能运走所有货物。 注释:n<=10,容量,物品代价<=1000且物品代价<=max(两车容量)。 想法:这题的入手比较的容易,之后的方法会直接影响代码美观性和时间 阅读全文
posted @ 2018-03-15 18:45 JZYshuraK_彧 阅读(290) 评论(0) 推荐(0)
摘要:Corn Fields poj3254 题目大意:给你一个n*m的地,每一块地可以种或不种,两块种过的地不能挨着,可以一块都不种,问所有的种地方案数。 注释:读入用0和1,1<=n,m<=12. 想法:这题和炮兵阵地特别像,比炮兵更简单。我们再度入的时候直接处理出当前行的地的不可种的情况。预处理出一 阅读全文
posted @ 2018-03-14 19:14 JZYshuraK_彧 阅读(178) 评论(0) 推荐(0)
摘要:炮兵阵地 poj-1185 题目大意:给出n列m行,在其中添加炮兵,问最多能加的炮兵数。 注释:n<=100,m<=10。然后只能在平原的地方建立炮兵。 想法:第2到状压dp,++。这题显然是很经典的。设状态dp[i][j][k]表示第i行的状态为j,i-1行的状态为k的最多炮兵数。在转移时,枚举所 阅读全文
posted @ 2018-03-14 11:28 JZYshuraK_彧 阅读(287) 评论(0) 推荐(0)
摘要:Hie with the Pie poj-3311 题目大意:n+1个点,伪旅行商问题。 注释:n<=10。 想法:咳咳,第一道状压dp,下面我来介绍一下状压dp。 所谓dp,就是动态性决策规划,通过上一时刻或上几时刻的状态来更新当前状态并且无后效性。而状压dp就是将之前的状态通过二进制表现出来。几 阅读全文
posted @ 2018-02-25 00:02 JZYshuraK_彧 阅读(387) 评论(2) 推荐(1)