E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
ACM--状态压缩DP
hdu 3001(
状态压缩dp
)
点击打开链接题意:有n个城市,m条路,每个城市最多走两次,求走完全部城市的最小路程。。。因为没个城市最多走两次,所以要用3进制,求出1k)map[i][j]=map[j][i]=k; } for(i=0;i=2)continue; if(map[j][k]==inf)continue; dp[i+t3[k]][k]=min(dp[i][j]+map[j][k],dp[i+t3[k]][k]); }
yyf573462811
·
2013-08-16 10:00
HDU
状态压缩dp
hdu1565(
状态压缩dp
)
点击打开链接题意:给你一个n*n的矩阵,每个位置有一个非负数,在矩阵中取数字,要求,取的数字,不能相邻。。用网络流做的话0ms.#include"stdio.h" #include"string.h" #defineN21 intstate[1y?x:y; } intmain() { inti,j,k; while(scanf("%d",&n)!=-1) { for(i=0;ians)ans=dp
yyf573462811
·
2013-08-16 09:00
HDU
状态压缩dp
最短路+
状态压缩dp
(旅行商问题)hdu-4568-Hunter
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4568 题目大意: 给一个矩阵 n*m (n m<=200),方格里如果是0~9表示通过它时要花费的代价,-1表示不能通过它。 矩阵中有k(k<=13)个珠宝,问从任意外边框出发取走所有珠宝并求走出矩阵的最小的代价。 解题思路: 先dij预处理每一个珠宝到其他其他珠宝的最小花
·
2013-08-15 18:00
HDU
最短路+
状态压缩dp
(旅行商问题)hdu-4568-Hunter
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4568题目大意:给一个矩阵n*m(nm#include#include#include#include#include#include#include#include#include#include#include#include#defineeps1e-6#defineINF0x1f1f1f1f#de
Accagain
·
2013-08-15 16:02
动态规划
最短路
动态规划
最短路+
状态压缩dp
(旅行商问题)hdu-4568-Hunter
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4568题目大意:给一个矩阵n*m(nm #include #include #include #include #include #include #include #include #include #include #include #include #defineeps1e-6 #defineIN
cc_again
·
2013-08-15 16:00
动态规划
最短路
[HDU 4336]Card Collection[
状态压缩DP
][概率DP][容斥原理]
题意:小吃中有N种卡片,每种卡片i出现的概率为pi,一袋小吃有可能没有卡片,但最多有一张.问集齐所有卡片需要购买小吃的袋数期望.思路:1.用状压dp,dp[s]表示在s状态时,集齐所需要的袋数期望.s=11111表示N=5时集齐的状态,此时dp[s]=0;注意求期望的题,对于dp的定义一般都是从终态转移到初态,也就是反着求.因为"期望"是确定事件的结果*该事件发生的概率=平均来看尝试一次可以得到的
zhangliang011258
·
2013-08-15 08:00
DP_
状态压缩DP
Poj2411Mondriaan'sDream(DP_
状态压缩DP
)分类: 全部博客 ACM_好题经典题 ACM_动态规划(DP)2012-09-0700:40 444人阅读 评论(1) 收藏 举报题目链接
pi9nc
·
2013-08-14 21:00
ACM_动态规划(DP)
全部博客
全部博客
ACM_好题经典题
ACM_好题经典题
状态压缩dp
hdu 4539 郑厂长系列故事——排兵布阵
解题思路:
状态压缩dp
.因为当前位置与前两行有关,所以把相邻两行作为二维状态,枚举第i-2行即可得到第i行的状态。记状态dp[][i][j]表示当前行状态为i,前一行状
cc_again
·
2013-08-13 21:00
动态规划
HDOJ 4310 - Hero 简单的
状态压缩DP
题意: hero每轮攻击消耗某个敌人1滴血...敌人血为1时就挂...每个敌人有血量(HP)和攻击值(DPS)...每一轮hero所去的血为所有存活敌人的攻击和.问hero杀死这些敌人最少需要掉多少的血.... 题解: 这两天被题虐吐...找水题来缓解下...N #include #include #include #includ
kk303
·
2013-08-12 20:00
[poj 2411]Mondriaan's Dream[
状态压缩DP
]
题意:h*w的区域铺上1*2的砖,问有几种铺法.思路:(例程来源:http://gisyhy.blog.163.com/blog/static/129390343200992441558735/http://blog.sina.com.cn/s/blog_62ebd4410100h081.html部分解读:http://blog.sina.com.cn/s/blog_68b1a51b0100j91
zhangliang011258
·
2013-08-10 19:00
HDU 4336 Card Collector
因为每种卡片出现在一包中的概率不是相等的,所以当计算集齐i种卡片时,要知道是那些已经收集到而哪些没有收集到,所以可以用
状态压缩DP
来解决。设dp[s]为收集卡片种类集合为s的期望,则有:d
HRHACMER
·
2013-08-08 13:00
hdu4336 Card Collector
状态压缩dp
CardCollectorTimeLimit:2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):1708AcceptedSubmission(s):780SpecialJudgeProblemDescriptionInyourchildhood,doyoucrazyforcollectin
u010422038
·
2013-08-08 10:00
UVa 1252 - Twenty Questions(记忆化搜索,
状态压缩dp
)
本文出自 http://blog.csdn.net/shuangde800 题目链接: 点击打开链接 题目大意 有n个长度为m的二进制串,每个都是不同的。 为了把所有字符串区分开,你可以询问,每次可以问某位上是0还是1。 问最少提问次数,可以把所有字符串区分开来。 思路 f[s1][s2]: 表示提问的问题是{s1}集合,答案是{s2}时,还需要问几次才可
king_tt
·
2013-08-08 00:00
uva
UVa 1252 - Twenty Questions(记忆化搜索,
状态压缩dp
)
本文出自 http://blog.csdn.net/shuangde800题目链接:点击打开链接题目大意有n个长度为m的二进制串,每个都是不同的。为了把所有字符串区分开,你可以询问,每次可以问某位上是0还是1。问最少提问次数,可以把所有字符串区分开来。思路f[s1][s2]:表示提问的问题是{s1}集合,答案是{s2}时,还需要问几次才可以全部区分开当问题集合为{s1}时,如果还不能区分所有答案
shuangde800
·
2013-08-08 00:00
dp
uva
状态压缩dp
HDU 4649 Professor Tian(反
状态压缩dp
,概率)
本文出自 http://blog.csdn.net/shuangde800 题目链接: 点击打开链接 题目大意 初始有一个数字A0, 然后给出A1,A2..An共n个数字,这n个数字每个数字分别有一个操作符,&,|,^ 且每个数字出现的概率是pi 如果某个数字出现了,那么就和前面的数字用它的操作
·
2013-08-07 19:00
SSO
HDU 4649 Professor Tian(反
状态压缩dp
,概率)
本文出自 http://blog.csdn.net/shuangde800 题目链接: 点击打开链接 题目大意 初始有一个数字A0, 然后给出A1,A2..An共n个数字,这n个数字每个数字分别有一个操作符,&,|,^ 且每个数字出现的概率是pi 如果某个数字出现了,那么就和前面的数字用它的操作符进行位运算。 问最终的期望值是多少? 思路 这
king_tt
·
2013-08-07 14:00
SSO
HDU 4649 Professor Tian(反
状态压缩dp
,概率)
本文出自 http://blog.csdn.net/shuangde800题目链接:点击打开链接题目大意初始有一个数字A0,然后给出A1,A2..An共n个数字,这n个数字每个数字分别有一个操作符,&,|,^且每个数字出现的概率是pi如果某个数字出现了,那么就和前面的数字用它的操作符进行位运算。问最终的期望值是多少?思路这题官方题解说是反状态压缩,还是第一次做这种题。知道了怎么表示状态这题就觉得
shuangde800
·
2013-08-07 14:00
动态规划
uva 10817 - Headmaster's Headache (
状态压缩dp
)
本文出自 http://blog.csdn.net/shuangde800 题目链接: 点击打开链接 题目大意 某校有n个教师和m个求职者,已知每人的工资和能教的课程集合,要求支付最少的工资使得每门课都至少有两名教师教学。在职教师必须招聘。 思路 这题不太好想,搞了很久。。 f[s1][s2]: s1表示课程集合{ s1 }都至少有一个教师教的情况。 s2表
king_tt
·
2013-08-06 00:00
master
uva 10817 - Headmaster's Headache (
状态压缩dp
)
本文出自 http://blog.csdn.net/shuangde800题目链接: 点击打开链接题目大意某校有n个教师和m个求职者,已知每人的工资和能教的课程集合,要求支付最少的工资使得每门课都至少有两名教师教学。在职教师必须招聘。思路这题不太好想,搞了很久。。f[s1][s2]:s1表示课程集合{s1}都至少有一个教师教的情况。 s2表示课程集合{s2}都至少有两个教师教的情况
shuangde800
·
2013-08-06 00:00
dp
uva
hdu 4628(
状态压缩dp
)
比赛的时候没有学习
状态压缩dp
,最近刚学习,感觉还不错,就是位运算不是太熟练应用。。
yyf573462811
·
2013-08-05 19:00
dp
HDU
状态压缩
poj 3311 (
状态压缩dp
)
点击打开链接题意:给你n个点(1~n),起点在0,给出任意两点的距离,求从0出发,走过所有的点然后回到0的最短距离。。状态压缩每个状态,枚举每个点,如果走过就求最小距离。。。#include"stdio.h" #include"string.h" #defineinf100000000 intmin(intx,inty) { returnx
yyf573462811
·
2013-08-05 16:00
poj
状态压缩dp
hdu 1185(
状态压缩dp
)
点击打开链接题意:很之前做的那一道很像,只不过是上下3个不能相邻。。。。之前Ok函数写错了,RE了好几次才发现。。#include"stdio.h" #include"string.h" #defineN110 intn,m; intcnt; intcur[N]; intstate[70]; intdp[N][70][70]; intok(intx) { if(x&(xy?x:y; } intma
yyf573462811
·
2013-08-05 13:00
poj
状态压缩dp
poj 3254(
状态压缩dp
专题)
人生第一道
状态压缩dp
。。。。state,求出所有可能出现的状态cur【i】,求出第i行0所表示的二进制数。。fit(x,k)函数表示第x行是否满足第k种状态。。。。
yyf573462811
·
2013-08-05 10:00
dp
状态压缩dp
UVa 11795 - Mega Man's Mission(
状态压缩dp
)
本文出自 http://blog.csdn.net/shuangde800 题目传送门 题意: 你最初只有一个武器,你需要按照一定的顺序消灭n个机器人(n<=16)。每消灭一个机器人将会得到他的武器。 每个武器只能杀死特定的机器人。 问可以消灭所有机器人的顺序方案总数。 思路: 看到了n的规模这么小,就知道可以用状态压缩解决了。 f[s]表示
king_tt
·
2013-08-03 23:00
SSI
UVa 11795 - Mega Man's Mission(
状态压缩dp
)
本文出自 http://blog.csdn.net/shuangde800题目传送门题意:你最初只有一个武器,你需要按照一定的顺序消灭n个机器人(n #include #include #include #include #include #include usingnamespacestd; typedeflonglongint64; constintINF=0x3f3f3f3f; cons
shuangde800
·
2013-08-03 23:00
UVA 10817 Headmaster's Headache
思路:基础的三进制的
状态压缩DP
吧,基本思想和二进制一样,只是这里需要多处理一下,用num[i][j]表示数i如果用三进制表示,那么第j位为多少,设d[s
u010794465
·
2013-08-03 19:00
UVA 11795 Mega Man's Mission
思路:简单
状态压缩DP
。
u010794465
·
2013-08-03 10:00
hdu 1074 Doing Homework (
状态压缩DP
)
连接:http://acm.hdu.edu.cn/showproblem.php?pid=1074 Doing Homework Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissio
n89576537
·
2013-08-02 11:00
home
HDU 4284 Travel
状态压缩DP
。先用floyd求一下任意两点之间的最小费用。#i
HRHACMER
·
2013-08-01 10:00
hdu
状态压缩dp
小集(中低难度)
源自----------------------------------------------------Ice_Crazyhdu1074
状态压缩dp
入门题,关键是输出顺序。
ice_crazy
·
2013-08-01 09:09
递推
DP
hdu
状态压缩dp
小集(中低难度)
源自----------------------------------------------------Ice_Crazyhdu1074
状态压缩dp
入门题,关键是输出顺序。
Ice_Crazy
·
2013-08-01 09:00
poj 1185 炮兵阵地(经典
状态压缩dp
)
点击打开链接 思路: 经典的状态压缩题,我是来存代码的 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<vector> #include<queue&
king_tt
·
2013-07-31 12:00
poj
HDU 4628 Pieces(
状态压缩dp
)
点击打开链接题目大意:给一个字符串,每次可以删除一个可不连续回文子串,问最少删几次可以全部删完。思路:因为字符串长度最大16,所以可用二进制状态表示,1表示选取这个字符,0不选,组成一个子串。先预处理出所有状态,看这个状态是不是回文。f[i]表示状态i最少几次可以全删完,初始化f数组INFf[i]=min{f[i],f[s]+1}s是i的子集。#include #include #include
shuangde800
·
2013-07-31 11:00
HDU 4628 Pieces(
状态压缩dp
)
点击打开链接 题目大意: 给一个字符串,每次可以删除一个可不连续回文子串,问最少删几次可以全部删完。 思路: 因为字符串长度最大16,所以可用二进制状态表示, 1表示选取这个字符,0不选,组成一个子串。 先预处理出所有状态,看这个状态是不是回文。 f[i]表示状态i最少几次可以全删完, 初始化f数组INF f[i] = min{f[i], f[s]+1 } s是i的子集。
king_tt
·
2013-07-31 11:00
HDU
poj 2411 Mondriaan's Dream(
状态压缩dp
)
点击打开链接 题目大意: 有1*2和2*1两种骨牌, 问铺满m*n大小的矩形内可以有多少种铺法? 思路: 用二进制表示,连续两个00表示这两个格子是横放的, 用1表示这个格子是竖放的(是骨牌的上部分或者下部分)。 先处理得到所有符合条件的状态,即如果有0一定是要连续出现两个0. 对于第i行的状态j,j是1的地方,那么i-1行相同地方一定也要是1,0的地方是1或0都可以。 i行和
king_tt
·
2013-07-31 11:00
poj
poj 2411 Mondriaan's Dream(
状态压缩dp
)
点击打开链接题目大意:有1*2和2*1两种骨牌,问铺满m*n大小的矩形内可以有多少种铺法?思路:用二进制表示,连续两个00表示这两个格子是横放的,用1表示这个格子是竖放的(是骨牌的上部分或者下部分)。先处理得到所有符合条件的状态,即如果有0一定是要连续出现两个0.对于第i行的状态j,j是1的地方,那么i-1行相同地方一定也要是1,0的地方是1或0都可以。i行和i-1行都是1的地方,他们组成了一个竖
shuangde800
·
2013-07-31 11:00
hdu4628
状态压缩DP
这题学到了一个方法吧:如果要枚举集合S的子集:for(inti=S;i>0;i=(i-1)&S)如果要枚举包含S的集合:for(inti=S;i #include #include #include usingnamespacestd; #defineN(1q; for(inti=0;i0;i=(i-1)&s) if(is[i])dp[s]=min(dp[s],dfs(s-i)+1); retur
Hhaile
·
2013-07-31 10:00
2013 多校第三场 hdu 4628 Pieces
下午先开始我们想贪心,然后我直接敲,WA了,后来找到一个数据,推翻了贪心的想法,然后,马上开始了
状态压缩DP
,第一遍写了个记忆化,TLE,马上剪枝优化,一交,还是TLE,又把贪心的那个答案拿来剪枝,就这样减一点
u010794465
·
2013-07-30 19:00
SGU 131 Hardwood floor
分析:覆盖模型,
状态压缩DP
。具体见周伟《状态压缩》。Code:#include #include #include #include #include #
HRHACMER
·
2013-07-30 10:00
SGU 223 Little Kings
分析:
状态压缩DP
。与POJ1185 炮兵阵地相似。但与之不同的是这里没有地形的限制,且当前行的状态只与前一行的状态和当前行之前所放置的国王总数有关。因此可以将这两种
HRHACMER
·
2013-07-29 15:00
ZOJ 3471 Most Powerful
分析:
状态压缩DP
。假设一个数,第i位表示第i个原子是否被灭掉,如果被灭掉则为1,没被灭掉为0,那么所有状态都可以用2^n范围内的数来表示。假设对于其中一个数(n=4)1010,(也就是十进制的10
HRHACMER
·
2013-07-28 22:00
HDU 3001 Travelling
分析:
状态压缩DP
,类似于旅行商问题。但每个地方有3个状态:没去过,去过一次,去过两次。因此可以用3进制记录每个点的3种状态。而且此题只要求到达每个地方即可,并不需要回到出发点。
HRHACMER
·
2013-07-28 11:00
HDU 4272LianLianKan 2012长春网络赛F题(思维) 暴力,dfs可以水过,正解是
状态压缩dp
LianLianKanTimeLimit:2000/1000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):1848 AcceptedSubmission(s):584ProblemDescriptionIlikeplayinggamewithmyfriend,althoughsomet
opm777
·
2013-07-25 13:00
HDU
思维
网络赛
积分赛
POJ搜索专题(转转)
091020AnniversaryCake1022PackingUnit4DCubes1024TesterProgram1054TheTroublesomeFrog1062昂贵的聘礼暂告一段落,先把DP题做一下,因为两者有很多交叉的地方,有很多题DP和搜索都可以,有些DFS的题需要
状态压缩
paradiserparadiser
·
2013-07-24 15:00
uva11825 - Hackers' Crackdown(
状态压缩dp
)
题意:有n台计算机的网络,每台计算机上都运行着n种服务,对于每台计算机你都可以选择一项服务,终止这台计算机上的和所有和它相邻的计算机的该项服务你的目标是让尽量多的服务完全瘫痪,(即:没有任何一台计算机运行该项服务)思路:把每台计算机和其相邻的计算机放入集合p[i]中,把n个集合p[i]分成尽量多的且两两没有交集的分组,使得每个分组的所有集合的并集等于全集。那么最后我们可以利用每一个分组来停止一项服
shankeliupo
·
2013-07-21 11:00
POJ 2411: Mondriaan's Dream
算法:这道题用普通的
状态压缩DP
的话,打表也可以过。也就是用一个m位二进制数,0表示上一行的这个位置未被覆盖,1表示被覆盖。然后逐行转移。
frog1902
·
2013-07-20 19:00
codeforces 327
E:
状态压缩DP
,差不多也是枚举状态,不过要各种位运算记录,好麻烦。
cugbbaoge
·
2013-07-20 13:00
codeforces
Baoge
HDOJ 1755 - A Number Puzzle 排列数字凑同余,
状态压缩DP
dp[x][y][z]表示二进制y所表示的组合对应的之和modx余数为z的最小数... 如可用的数字为1234...那么dp[7][15][2]=1234.... 输入一个数列后..将dp的表做出来..然后O(1)的输出...题目要求是(T+X)%K=0可以转化为T%K=(K-(X%K))%K Program: #include #include #include #inclu
·
2013-07-17 21:00
number
HDOJ 1755 - A Number Puzzle 排列数字凑同余,
状态压缩DP
dp[x][y][z]表示二进制y所表示的组合对应的之和modx余数为z的最小数... 如可用的数字为1234...那么dp[7][15][2]=1234.... 输入一个数列后..将dp的表做出来..然后O(1)的输出...题目要求是(T+X)%K=0可以转化为T%K=(K-(X%K))%K Program:#include #include #include #include #
kk303
·
2013-07-17 08:00
CF11D A Simple Task
http://codeforces.com/problemset/problem/11/D一看以为是图论吓尿了,其实是
状态压缩DP
。感谢frog神提供思路。
huangshenno1
·
2013-07-16 21:00
上一页
16
17
18
19
20
21
22
23
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他