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
dp-状态压缩
最短路+
状态压缩
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
ZOJ 1301 The New Villa (BFS +
状态压缩
)
题意:黑先生新买了一栋别墅,可是里面的电灯线路的连接是很混乱的(每个房间的开关可能控制其他房间,房间数 #include #include #include usingnamespacestd; intn,m,p; inted1[11][11],ed2[11][11]; intvis[11][1=0){ printf("Theproblemcanbesolvedin%dsteps:\n",q[fi
paradiserparadiser
·
2013-08-14 22: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_好题经典题
八皇后__位运算优化搜索
这题我很奇葩地用广搜来做,各种
状态压缩
压线飘过,搓的一逼。AC后去
pi9nc
·
2013-08-14 21:00
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
UVA 11600 Masud Rana
思路:一看n范围,就应该知道是
状态压缩
。。先dfs把所有连通分量缩点,设d[u][s]表示当前在u,经过了s状态的点的期望,先考
u010794465
·
2013-08-11 21:00
UVALive 4490 Help Bubu
思路:由于书的高度区间是25~32,种类很少,很容易想到跟
状态压缩
有关,设d[i][j][s][last]为前i本用了j次操作,留下的书的种类为s,最后一本书为last的最小操作数,则每本书
u010794465
·
2013-08-11 19: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-4332-Constructing Chimney
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4332题目意思:用1*1*2的长方体构造一个中间为空的底面3*3的立体烟囱。解题思路:实际上就是poj上这道题的升华版。推荐先做那道题。只不过本题的每一层相当于poj上那题的每一行,此题层数很多,所以很直白的想到用矩阵快速幂加速。这类型的矩阵乘法做的比较少。用二维矩阵表示两层之间的转移关系,第一维表示上
cc_again
·
2013-08-09 16:00
数学
hdu 4696 反
状态压缩
+动态规划
#include #include #include #include #include usingnamespacestd; #defineMaxn210 intA[Maxn]; doublep[Maxn]; charstr[Maxn]; intArr[Maxn][25]; doublef[Maxn][2]; intn; voidBit(intx)//将当前位置的数转化为二进制 { intt=
kisstears
·
2013-08-09 14:00
基类指针转换为子类指针,子类指针转换为基类指针
public: virtualvoidvirtual_fun() {coutvirtual_fun(); cp->normal_fun(); derived*dp=(derived*)newbase;
dp
j123kaishichufa
·
2013-08-08 20:00
HDU 4336 Card Collector
分析:概率DP+
状态压缩
。因为每种卡片出现在一包中的概率不是相等的,所以当计算集齐i种卡片时,要知道是那些已经收集到而哪些没有收集到,所以可以用
状态压缩
DP来解决。
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,概率)
思路这题官方题解说是反
状态压缩
,还是第一次做这种题。知道了怎么表示状态这题就觉得
shuangde800
·
2013-08-07 14:00
动态规划
HDUOJ 4649 2013多校第五场第7题
官方思路:G.ProfessorTian 反
状态压缩
——把数据转换成20位的01来进行运算 因为只有20位,而且&,|,^
cugbbaoge
·
2013-08-06 20:00
二进制
期望
多校
Baoge
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
递推+
状态压缩
+动态规划-POJ-Mondriaan's Dream
DescriptionSquaresandrectanglesfascinatedthefamousDutchpainterPietMondriaan.Onenight,afterproducingthedrawingsinhis'toiletseries'(wherehehadtousehistoiletpapertodrawon,forallofhispaperwasfilledwithsqu
gaotong2055
·
2013-08-05 19:00
hdu 4628(
状态压缩
dp)
比赛的时候没有学习
状态压缩
dp,最近刚学习,感觉还不错,就是位运算不是太熟练应用。。
yyf573462811
·
2013-08-05 19:00
dp
HDU
状态压缩
poj 3311 (
状态压缩
dp)
状态压缩
每个状态,枚举每个点,如果走过就求最小距离。。。
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
NEFU704(AC自动机+
状态压缩
)
题目:PasswordLeakage#include #include #include #include usingnamespacestd; charS[1000010]; charkeyword[51]; charstr[51]; charT[51]; classTrie { public: intcount; Trie*fail; Trie*next[26]; Trie() { co
ACdreamers
·
2013-08-04 19:00
UVa 11795 - Mega Man's Mission(
状态压缩
dp)
思路: 看到了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
BFS+
状态压缩
hdu-1885-Key Task
解题思路:BFS+
状态压缩
。将每种颜色对应一个二进制数位,1表示已经得到该颜色的钥匙,0表示没有得到。一把钥匙可以同种颜色的多扇门。代码: #include #i
·
2013-08-03 22:00
task
hdu 4640 多校第四场
状态压缩
+最短路+dp
应该注意到n很小,说明我们可以位压缩处理每种状态预处理出一个人从1出发,已经走到哪些点(用状态记录),最后到达哪个点的最小花费,用广搜spfa之后i个人走,是一个人的效果的i次叠加,用类似背包的过程,注意要从大到小枚举状态,避免转移重复,dp标程错了,它处理成不能回到1,我wa了很久,主要手写队列搞挫了。。。开始时不会做是因为看不到问题的本质,本质就是搞出一个人时候的最短路,然后dp叠加出来,中间
未水
·
2013-08-03 20:52
ACM
动态规划
图论
hdu 4640 多校第四场
状态压缩
+最短路+dp
应该注意到n很小,说明我们可以位压缩处理每种状态预处理出一个人从1出发,已经走到哪些点(用状态记录),最后到达哪个点的最小花费,用广搜spfa之后i个人走,是一个人的效果的i次叠加,用类似背包的过程,注意要从大到小枚举状态,避免转移重复,dp标程错了,它处理成不能回到1,我wa了很久,主要手写队列搞挫了。。。开始时不会做是因为看不到问题的本质,本质就是搞出一个人时候的最短路,然后dp叠加出来,中间
Jackyguo1992
·
2013-08-03 20:00
UVA 10817 Headmaster's Headache
思路:基础的三进制的
状态压缩
DP吧,基本思想和二进制一样,只是这里需要多处理一下,用num[i][j]表示数i如果用三进制表示,那么第j位为多少,设d[s
u010794465
·
2013-08-03 19:00
HDU 1429 胜利大逃亡(续) (BFS +
状态压缩
)
把钥匙的有无情况
状态压缩
:01代表有1号钥匙,10代表有2号钥匙,11代表有1号和2号钥匙........................................................
paradiserparadiser
·
2013-08-03 13:00
UVA 11795 Mega Man's Mission
思路:简单
状态压缩
DP。
u010794465
·
2013-08-03 10:00
hdu 4634 Swipe Bo 搜索
还有一种容易造成死循环的,比如#E##DLLLD..UD.SURRRU这样的话就必须要标记下当前位置某个方向获得钥匙的状态是否被访问过了,获得钥匙的状态可以
状态压缩
来表示。
u010710717
·
2013-08-02 16: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 4628 Pieces(DP +
状态压缩
)
Pieces题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4628题目大意:给定一个字符串s,如果子序列中有回文,可以一步删除掉它,求把整个序列删除所需要的最少步数。比如: axbyczbea可以一次删除掉 abcba得到 xyzeSampleInput2aaabb SampleOutput12分析:这道题目刚出来时居然有超过一半的人AC,是我太弱了
·
2013-08-02 09:00
HDU
状态压缩
周伟论文+代码+例题
所有题解报告可以在周伟论文中看到但是没有代码 下面是我自己的或者从网上搜集到的代码在n*n(n≤20)的方格棋盘上放置n个车(可以攻击所在行、列),求使它们不能互相攻击的方案总数。仅供和我一样的菜鸟们参考#include #include usingnamespacestd; __int64a[1100000]; intmain() { __int64n; while(cin>>n)
zhang360896270
·
2013-08-01 13:00
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
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
上一页
44
45
46
47
48
49
50
51
下一页
按字母分类:
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
其他