状压dp
文章平均质量分 59
yuanxinyu402
这个作者很懒,什么都没留下…
展开
-
BZOJ(本校) 2665 密码锁 - 思维&dp
Time Limit: 1s Memory Limit: 512MB 【题目描述】 从前有一把密码锁,由N个开关组成。一开始的时候,所有开关都是关上的。当且仅当开关x1,x2,x3,…xk为开,其他开关为关时,密码锁才会打开。 你可以进行M种的操作,每种操作有一个size[i],表示,假如你选择了第i种的操作的话,你可以任意选择连续的size[i]个格子,把它们全部取反。 你的任务很简单,原创 2016-03-07 16:53:01 · 1531 阅读 · 0 评论 -
POJ 3311 Hie with the Pie - 状压dp【TSP】
题目描述题目大意:一个人从固定出发点0,到一些城市(1~n)送披萨,要求找到一条路径能够遍历每一个城市后返回出发点,并且路径距离最短。 注意:每一个城市可重复访问多次。两个城市间的直接可达路径不一定是最短路径。 求最短路径。分析:因为要遍历每个城市,再加上数据规模小,自然想到TSP经典状压dp问题。 但由于此题中每个城市可以访问多次,先Floyd预处理出每两个点之间的最短距离,就可以用TSP的原创 2016-03-20 10:49:44 · 302 阅读 · 0 评论 -
POJ 2288 Islands and Bridges - 状压dp【TSP】
题目描述题目大意:给出一个带点权的无向图,在图上找哈密顿路,使其价值最大,并统计价值最大的哈密顿路的条数.同一条路正走和反走看作同一种方案.路径的价值分为三部分: (1).路径上所有点的点权和. (2).路径上所有边的价值和.对于路径C上相邻的两点Ci和Ci+1,它们之间的路径价值为v[Ci]*v[Ci+1]. (3)对于路径上的连续三点Ci-1,Ci,Ci+1,如果Ci-1与Ci+原创 2016-03-20 11:03:42 · 331 阅读 · 0 评论 -
ZOJ 1346 Comparing Your Heroes - 状压dp
题目描述题目大意:某人要对拳皇的人物做一个排序。输入一个N,接下来N行每行两个字符串A B,表示A比B厉害。要求一共有多少种不同的拓扑排序方法。若不能完成排序输出0。分析:dp[S] (S表示点是否被取出的状态):得到S状态的方案数 dp[S|(1<< k)]+=dp[S] => 在S状态下,入度为0的点记为k 初始状态:dp[0]=1 目标状态:dp[(1<< n)-1]#includ原创 2016-03-20 11:13:03 · 518 阅读 · 0 评论 -
HYSBZ 1151 动物园zoo - 状压dp
题目描述题目大意:N个动物围成一个环,有K个小朋友,每个小朋友可以看到五个连续的动物,每个小朋友都有自己喜欢或讨厌的动物,当有一个自己讨厌的动物被移走或能看到一个自己喜欢的动物时,这个小朋友就会高兴。求最优的移走动物的方案,使得最多的小朋友高兴。 分析:dp[i][S]:处理到第i个动物,i~i-3的动物移动与否的状态为S。 dp[i+1][S]=max{dp[i+1][newS],dp[i][S原创 2016-03-20 11:22:48 · 467 阅读 · 0 评论 -
HDU 3681 Prison Break - 状压dp【TSP】
题目描述题目大意:一个机器人想越狱,监狱是一个N*M的网格。每走一格,耗费1个单位的电量。他只能带一定电量的电池, ‘F’表示起点, ‘S’表示道路可行, ‘D’表示不能经过的地点。 ‘G’表示充电器,只可充电一次,但是可以经过很多次。‘Y’表示要破坏的机关,也是只能破坏一次,但是可以经过无数次。 求机器人破坏掉所有机关,需要带的最小初始电量。 分析:破坏所有的机关Y,且G,Y,F的总和不超过15原创 2016-03-20 11:34:37 · 333 阅读 · 0 评论 -
UVA 11825 Hackers' Crackdown - 状压dp
题目描述题目大意:N台计算机连成网络,每台计算机上都同时运行着N种服务。对于每台计算机,可以选择仅一项服务,终止这台计算机和所有与它相邻计算机的该项服务。 求:最多可以让多少种服务完全终止运行。分析:每台电脑能影响的范围都是一定的,跟它是什么服务没关系。 原问题<=> 将N台电脑分为一些组,满足每个组的电脑能影响的并集等于全集。求最大的组数。 dp[S]=max{dp[S],dp[s^s0]+原创 2016-03-20 11:44:32 · 288 阅读 · 0 评论 -
UVA 1099 Sharing Chocolate - 状压dp
题目描述题目大意:给出一块长为x,宽为y的矩形巧克力,每次操作可以沿着一条直线把一块巧克力切割成两块长宽均为整数的巧克力,一次只能切一块巧克力。 问:是否可以经过若干次操作得到n块面积分别为a1, a2, …, an的巧克力。分析:容易想到dp[s][x][y]的转移,但是时间空间的hold不住。 用sum[s]表示状态s中面积和,一定有:x*y=sum[s], 优化状态表示:dp[s][r]原创 2016-03-20 11:54:03 · 370 阅读 · 0 评论 -
UVA 10817 Headmaster's Headache - 状压dp
题目描述题目大意:某校有m个在职教师和n个求职者,需讲授s个课程 (1<=s<=8,1<=m<=20,1<=n<=100 )。 已知每人的工资c(10000<=c<=50000)和能教的课程集合,要求支付最少的工资使得每门课都至少有两名教师能教。在职教师不能辞退。#include<cstdio>#include<algorithm>#include<cstring>using name原创 2016-03-20 12:02:30 · 324 阅读 · 0 评论