----状压DP
文章平均质量分 78
凉秋girl
保持学习应该是最难的一件事吧?
展开
-
状压DP<旅行商问题>
旅行社问题就是给一个有向图,从点0走一圈全部结点再走回来所花费的费用最少是多少。状压DP一般n因为是走完全部点,那么走到2点的费用有可能走了5,也可能没走,那么就不能简单的用最短路来找。因为要求跑完全部点回到0,而最小树形图的话无法做到。状压dp是指在一个点上存在多种状态,这些状态可以用二进制来进行表示。因为是最后走到0的费用,那么可以有这么个公式dp[S][I]=min(dp原创 2017-05-30 10:48:47 · 632 阅读 · 0 评论 -
状压DP<poj2686>
题意是有一个人去旅游,有n张马票,每张上面有ai头马。给一个有向图,走每条边的费用是长度/马票的马数量,由此可见走到同一个点会有不同的马票,也就是状态不同,需要表示这种多状态只有用状压来解决,用二进制表示状态后用正常的最短路SPFA跑一遍即可。#include #include#include#include #include #include #include #inc原创 2017-05-30 15:10:35 · 257 阅读 · 0 评论 -
2017 计蒜之道 复赛 <状压DP+最短路>
B. Windows 画图在 Windows 的“画图”工具里,可以绘制各种各样的图案。可以把画图当做一个标准的二维平面,在其上先后绘制了 nn 条颜色互不相同的线段。按绘制的时间顺序,从先到后把线段依次编号为 11 到 nn。第 ii 条线段的两个端点分别为 (xa_i,ya_i)(xai,yai) 和 (xb_i,yb_i)(xbi,ybi)原创 2017-06-11 20:47:38 · 341 阅读 · 0 评论 -
xdoj 1234: 尧老师要教孩子玩球球
一场训练赛里的裸状压dp,赛时没时间看,被自己代码变量输入时输反调了很久很久的bug,话说以后变量名得好好设置了。赛后补题看了一下数据范围,n但是这里有一个优化,就是对于如果放了4个球,枚举的集合S不能从0到1对于集合S,枚举全部大小为i的子集comb=(1<<i)-1; while(comb<1<<n){ x=comb&-comb,y=co原创 2017-08-29 21:38:46 · 422 阅读 · 0 评论