每日一题:连通两组点的最小成本

题意

给你两组点,其中第一组中有 $size1$ 个点,第二组中有 $size2$ 个点,且 $size1 >= size2$。

任意两点间的连接成本 $cost$ 由大小为 size1 x size2 矩阵给出,其中 $cost[i][j]$ 是第一组中的点 $i$ 和第二组中的点 $j$ 的连接成本。如果两个组中的每个点都与另一组中的一个或多个点连接,则称这两组点是连通的。换言之,第一组中的每个点必须至少与第二组中的一个点连接,且第二组中的每个点必须至少与第一组中的一个点连接。

返回连通两组点所需的最小成本。

阅读更多

每日一题:Moovie Mooving (状压dp)

题意

有 N 部电影,每部电影有不同的放映时常,和若干个放映起始时间。
Bessie 可以在一部电影播放过程中的任何时间进入或退出放映厅。每部电影她最多看1次且她不能在看一部电影的过程中,换到另一个正在播放相同电影的放映厅。

Bessie 能不能从0到L分钟连续不断地观看电影?如果能,计算她最少看几部电影。

阅读更多

课程安排(状压dp)

题意:让你安排课程,保证每学期的课不能冲突,问最少需要几个学期。

solution:

因为 n 只有15,可以考虑状压dp。用二进制每位的1/0表示当前是否学习该课程,可以得到 n 个二进制位,那么所有的可能性有 1<<n 种,预处理 g[s] 表示 s 所代表课程的是否可以在一个学期内学完(对于当前要学的所有课程的学时进行标记,若有重复标记则不可能在一学期学完),f[s] 维护学完当前课程所花费的最少学期,枚举子集进行转移。
答案的状态应该是所有课全部修完,即 $f[(1<<n)-1]$。时间复杂度 $O(2^n m n)$。

阅读更多
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×