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,树状dp,数位dphdu3555,sgu258,sgu390 队列优化:zoj3399最小表示法的
状态压缩
DP:spoj2159 专题链接:http://acm.hust.edu.cn
dslovemz
·
2014-01-09 14:00
uva 1047 - Zones-World finals 2005
状态压缩
枚举
Worldfinals2005的题,挺容易的。如何计算重复的,画个图就知道了。#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #definee
t1019256391
·
2014-01-08 14:00
POJ 3254 Corn Fields (
状态压缩
DP)
题意:一个矩阵里有很多格子,每个格子有两种状态,可以放牧和不可以放牧,可以放牧用1表示,否则用0表示,在这块牧场放牛,要求两个相邻的方格不能同时放牛,即牛与牛不能相邻。问有多少种放牛方案(一头牛都不放也是一种方案)思路:dp[i][s]代表第i行状态为s(s是每个位置放与不放组成的0-1序列对应的十进制数)时所能得到的方案总数递推方程:dp[i][s]=Σdp[i-1][f] (f为i-1行的状态
blzorro
·
2013-12-04 20:00
优化
动态规划
poj
状态压缩
nyist 737 区间
DP-
石子合并 dfs
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=737看了题解才有思路:http://blog.csdn.net/u012350533/article/details/17054711点个赞~#include #include #include #include #include usingnamespacestd; #defineinf
qq574857122
·
2013-12-02 16:00
区间
DP-
石子合并(线性)
石子合并(一)时间限制:1000 ms | 内存限制:65535 KB难度:3描述 有N堆石子排成一排,每堆石子有一定的数量。现要将N堆石子并成为一堆。合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这两堆石子的和,经过N-1次合并后成为一堆。求出总的代价最小值。输入有多组测试数据,输入到文件结束。每组测试数据第一行有一个整数n,表示有n堆石子。接下来的一行有n(0 #inc
u012350533
·
2013-12-01 12:00
HDU 4804 Campus Design
这个题目还是蛮简单的;
状态压缩
的经典题吗 只是增加了一维变量;多开一维搞定#include #include #include #include #include #definemod1000000007
吴浪舟
·
2013-11-30 21:00
lightoj1086 - Jogging Trails(
状态压缩
dp)
lightoj1086-JoggingTrails(
状态压缩
dp)一道有点小思维的
状态压缩
dp题意:给出n个点,m条边的一幅无向图,n<=15,m<=3000。
No__stop
·
2013-11-25 14:00
dp
hdu 1565 方格取数(1) (最小割/
状态压缩
+DP)
ProblemDescription给你一个n*n的格子的棋盘,每个格子里面有一个非负数。从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取的数所在的2个格子不能相邻,并且取出的数的和最大。 Input包括多个测试实例,每个测试实例包括一个整数n和n*n个非负数(n #include #include #include #include #include #include #inc
u010126535
·
2013-11-22 20:00
棋子--
状态压缩
dp
题目描述:在一个N*N的棋盘上放棋子,每一个棋子的上下左右都没有棋子,也就是不相邻,一共有多少种放法?(N #include #include usingnamespacestd; ints[1111];/**记录所有满足条件的单行表示*/ longlongf[11][1111];/**f[i][j]表示第i行为第j种状态的摆放总数*/ intn,m;/**n表示棋盘大小,m表示满足条件的状态
ACdreamers
·
2013-11-21 16:00
uva11008 - Antimatter Ray Clearcutting
状态压缩
记忆化搜索
ProblemEAntimatterRayClearcuttingInput:StandardInputOutput:StandardOutputIt'syear2465,andyouaretheChiefEngineerforGlorifiedLumberjacksInc.onplanetTrie.Thereisanumberoftreesthatyouneedtocutdown,andtheo
corncsd
·
2013-11-13 10:00
插头DP——从不会到入门(POJ 2411,HDU 1565,HDU 2167,HDU 1693,Ural 1519)
学习插头DP前,你得搞清楚
状态压缩
DP是什么。这里推荐AcCry的一篇
状态压缩
教程:
状态压缩
总结。刷完教程里的8题之后,
状态压缩
DP也就是入门了,也就可以开始学习
AcCry
·
2013-11-10 17:00
dp
插头DP
(2013杭州赛区1009题,
状态压缩
,博弈)
Gems Fight! Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 327680/327680 K (Java/Others)Total Submission(s): 114 Accepted Submission(s): 46 Prob
·
2013-11-09 22:00
HDU
hdu 4778 13杭州I题
状态压缩
dp+博弈
分析:博弈的过程是一个树,而且要知道在最优策略情况下,肯定是选择了树上的某一条树枝,也就是一条路径。所以我们可以用dp来找出某一条最优路径,而且我们可以发现2个人博弈的目的是为了让自己与另一个人的差值尽可能的大。解法:用dp[i]表示状态i(能拿的置为1)的情况下先手减去后手分数的最大值。初始化dp[(1 #include #include usingnamespacestd; intG,B,S;
c3568
·
2013-11-09 20:00
2013region
HDU-4529 郑厂长系列故事——N骑士问题
状态压缩
DP
状态压缩
DP就是另外一个思路的,理论上时间复杂度是8*n*2^24,但是由于限制比较多,也就能够解决了。设dp[i][
·
2013-11-09 20:00
HDU
HDU n皇后问题(
状态压缩
)
题目链接~~> 这题用dfs()貌似过不了,需要打表,用
状态压缩
可以
状态压缩
真是太强大了。
状态压缩
1: 在
状态压缩
中,通常用(1>1,(ContDiag|curcol)>1。
u011074149
·
2013-11-08 13:00
UVA 10651 Pebble Solitaire 鹅卵石摆放 记忆化搜索+DFS+记忆化搜索
我这里用的是位运算+记忆化搜索,好像没有记忆化也不会超时==PS:这就是传说中的
状态压缩
?代码:/* *Author:illuz *B
hcbbt
·
2013-11-08 09:00
dp
ACM
light oj 1147 背包dp+
状态压缩
好题
题意:n个物品(2 #include #include #include usingnamespacestd; typedeflonglongll; intn,a[101]; intsum,m,s; lldp[50004],mask; intmain(){ inti,j,cas,ca=1; scanf("%d",&cas); while(cas--){ scanf("%d",&n); sum=0;
c3568
·
2013-11-07 21:00
light oj 1073
状态压缩
dp+输出字典序最小的解
算是比较基本的题,不忍直视的搓代码,string乱搞后惨不忍睹,调了好久终于AC,代码能力弱成渣。做法:给你的一些串中,你先暴力去掉一些无用的子串,比方有aaaa和aa,那aa就没用了,去掉然后从下往上放字符串(注意方向,为了输出字典序最小),我的val[i][j]表示串i在下,串j在上所增加的str[i]的前缀长度 如 aabb bbcccc,那前缀为aa,长度为2然后dfs搜出解。string
c3568
·
2013-11-07 20:00
HDU 2209 翻纸牌游戏(双广||
状态压缩
)
题目链接~~> 这题用一般的广搜必定超时,可以用位运算、双向广搜、
状态压缩
。方法一: 位运算:将这一串01数字看成二进制将其转化为十进制。
u011074149
·
2013-11-02 12:00
hdu4753 Fishhead’s Little Game
状态压缩
,总和一定的博弈
此题和UVA 10891 Game of Sum 总和一定的博弈,区间dp是一个道理,就是预处理麻烦 这是南京网络赛的一题,一直没做,今天做了,虽然时间有点长,但是1ac,这几乎是南京现场赛的最后一道正式题了 typedef long long LL; const int INF = 1000000007; const double eps = 1e-10; const
·
2013-11-01 18:00
game
SGU 536 Berland Chess(
状态压缩
+ bfs)
在一个n*m的棋盘上,你有一个whiteking,然后还有一些( #include #include #include #include #include #include #include #include #include #include #include #include #include #include #defineFF(i,a,b)for(inti=a;i=b;i--) #defi
diary_yang
·
2013-10-21 12:00
uva10911 - Forming Quiz Teams 集合DP
和
状态压缩
DP差不多。 给你一些点,要求两两配对,问这些配对点距离和的最小值。
corncsd
·
2013-10-17 22:00
关于动态规划的分类
状态压缩
动态规划(似乎也叫插头DP):这一类算法出现的
hellobinfeng
·
2013-10-15 11:00
POJ-2777-Count Color
思路;容易发现题目中所涉及的颜色数只有30种,也就是说我们可以利用
状态压缩
的方法存储每个区间中有哪些颜色。最后对于每次的询问,只需要统计当前值的二进制有多少个1即可用线段树进行维护比较简单。
z309241990
·
2013-10-11 22:00
线段树
hdu 4352 数位+状压
这题用
状态压缩
维护数列0,9哪些数字出现过然后通过状压推lis其他的就是数位统计了方程还是好想吧:dp【i】【j】【k】表示长度i 在j状态有k个满足条件这里说下我做的时候有个地方没想到。。。
luyuncheng
·
2013-10-10 00:00
概率
dp-
九度-1546-迷宫问题
题目链接:http://ac.jobdu.com/problem.php?pid=1546题目意思:有一个起点S,多个出口E,#代表不能走,每次等概率的随机选择下一个可以行走的位置,求从S到出口的期望。解题思路:高斯消元求解期望。先BFS预处理能够到达的出口的位置,然后如果从起点不能到达终点,直接输出-1.然后对于无效的点,置该未知数的解为-1,否则依据dp[i][j]=1+dp[i-1][j]*
cc_again
·
2013-10-08 00:00
动态规划
1476. Lunar Code
space=1&num=1476由于前一列对后一列有影响,所以需要保持前一列的状态,但无需用
状态压缩
来保存(也保存不了)只需要保存前一列以k个0结尾的个数就可以代码:importjava.math.BigInteger
夜->
·
2013-10-07 16:00
HDU1429胜利大逃亡续(
状态压缩
+BFS)
------------------------------------------------------------------------------------------第一道
状态压缩
的BFS
u012350533
·
2013-10-06 23:00
ZOJ 2630 Plane Partition(轮廓线
状态压缩
DP)
题意:给你一个a*b的矩阵,往里面填充非负整数且满足x(i,j) #include typedeflonglongll; constintmaxn=6000000; lldp[maxn]; inta,b,c,q[11]; llww[11][11][11]; intget(intx,inty,intq[]){ intret=x; ret=ret*7+y; for(inti=0;i=0;i--)
u010710717
·
2013-10-06 21:00
ZOJ 2563 Long Dominoes(
状态压缩
DP)
problemId=1563题目大意:在h*w的矩阵里铺满1*3的小矩阵,共有多少种方法SampleInput33 310 00SampleOutput2 28分析:
状态压缩
DP,跟ZOJ1100
·
2013-10-05 16:00
long
hdu 4462 Scaring the Birds
状态压缩
题意:一个n*n的区域,有m个位置是可以放稻草人的,其余都是玉米。对于每个位置(x,y)所放稻草人都有个作用范围ri,即abs(x-i)+abs(y-j) #include #include #include #include usingnamespacestd; typedef__int64LL; constintINF=1e9; constintmaxn=3000; structnode{ i
a601025382s
·
2013-10-04 13:00
CERC2012 A - kingdoms
状态压缩
dp
题解: 公司倒闭是相继倒闭的..又公司数量不超过20...容易想到
状态压缩
kk303
·
2013-10-03 19:00
hdu Disney's FastPass(
状态压缩
dp)
这种题我一直喜欢用bfs搞的,但是这个题不太好bfs,主要是我刚开始想的是通过边进行状态转移,这样很不好写。。。于是就坑爹了,调了很久sample都没出。。。于是学习了一下别人的思想。。。通过“目的”来进行状态转移而不是边。当你在某个点的时候,你可以为了游历某个景点去某个点,也可以为了获取某个点的票而去某个点。能想到这一点的话状态转移方程就很好写了,但是也要能想到啊。。。ps:注意代码中的(1)跟
diary_yang
·
2013-10-03 17:00
poj 1632 Vase collection
题解:我们用一个数组(comb[])存放形状和颜色,数组的下标为形状,然后将颜色
状态压缩
成为数组元素的值。这样一个数组元素就代表着,一个形状它对应了多少种颜色,而这个值也是这个形状对应的花瓶数。所以
ljd4305
·
2013-10-02 11:00
poj 2443 Set Operation(思维&
状态压缩
)
SetOperationTimeLimit: 3000MS MemoryLimit: 65536KTotalSubmissions: 2341 Accepted: 907DescriptionYouaregivenNsets,thei-thset(representbyS(i))haveC(i)element(Here"set"isn'tentirelythesameasthe"set"defin
y5885922
·
2013-09-30 23:00
c
算法
ACM
uva 11008 - Antimatter Ray Clearcutting(状态dp)
解题思路:
状态压缩
,看了别人的题解才知道要用位运算去做,平时有碰到记忆化搜索压缩状态都用数组可以解决的,今天写了位运算版,感觉对位运算有了进一步的了解,下面介绍一篇写的比较好的题解。ht
u011328934
·
2013-09-30 23:00
uva 10604 - Chemical Reaction(
状态压缩
dp)
题目链接:10604-ChemicalReaction题目大意:给出n和m,有n种化学药剂,型号由1~n,然后给出n*n行代表相应的两种化学药剂反应后的生成物以及释放的热量,然后给出m个试管,每种试管中有对应的药剂,要求将m种药剂反应合成一种,不要求反应后药剂的种类,要求反应所散发的热量最少。注意:i和j反应可能与j和i反应不同,反应可能吸热,每组测试以/结束。解题思路:开一个cnt数组记录每种药
u011328934
·
2013-09-30 23:00
POJ-2411-Mondriaan's Dream
书上动态规划的
状态压缩
的练习题,是求w*h的长方形有放1*2和2*1的长方形,最多有多少种方法。思路:1、用
状态压缩
当前层的状态。
z309241990
·
2013-09-25 23:00
dp
状态压缩
HDU 2825 Wireless Password(AC自动机 +
状态压缩
DP 入门)
题目链接:Clickhere~~题意:给m个单词构成的集合,统计所有长度为n的串中,包含至少k个单词的方案数。解题思路:令dp[i][j][mask]表示长度为i,跑到自动机节点j,已经包含单词为集合mask的方案数。Note:构造AC自动机时,val记录的是会包含的状态。#include #include #include #include usingnamespacestd; #defin
dgq8211
·
2013-09-24 16:00
HDU 4753 Fishhead’s Little Game (对抗搜索)
因为总计只有24条边,而且只能剩下0--12条边,所以
状态压缩
记录好剩下还没走好的步数,dp[i]表示状态i下,当前玩家能获得的最大分数。如何处理连边,方法多多,随意YY
paradiserparadiser
·
2013-09-24 00:00
九度OJ 9月赛第二场 题目1542:黑白迷阵 (
状态压缩
DP)
题目描述:黑白迷阵是一个GrassLand编写的手机游戏,它的规则非常简单,有如下4*5的棋盘,其中一些是格子是黑色,一些格子是白色的,每当点击其中某一个格子,它以及它上下左右五个格子的颜色会发出反转,如下图 游戏胜利的条件很简单,把所有的格子变为黑色即可。GrassLand想知道,给定一个游戏格局,至少需要几次点击,就可以获得游戏的胜利。输入:输入包含多组测试用例
xiaozhuaixifu
·
2013-09-22 22:00
状态压缩动态规划
对抗搜索/dp-hdu-4753-Fishhead’s Little Game
解题思路:
状态压缩
+对抗搜索。(对抗搜索做少了)和今年通话邀请赛这题很像:h
cc_again
·
2013-09-21 21:00
动态规划
hdu 4753 Fishhead’s Little Game (记忆化搜索+
状态压缩
)
由于最多可能有12条边,所以取边的状态可以用二进制
状态压缩
表示,10000的数组就足够存下了。
t1019256391
·
2013-09-21 20:00
poj 3254 Corn Fields (
状态压缩
DP)
题目:http://poj.org/problem?id=3254思路见代码:#include usingnamespacestd; constintMOD=100000000; constintMAX_N_M=12; introw_state[MAX_N_M]; //枚举出合法的状态数 intLegalState[2000],nstate; intdp[MAX_N_M][2000],n,m;
xiaozhuaixifu
·
2013-09-20 21:00
状态压缩动态规划
poj-2411-
状态压缩
DP
用一个vector容器来记录当前状态下有哪些状态可以继承。比如说vec[i]里面的所有的数代表当第一行为i状态时,第二行的可行状态。对于状态i,其二进制中0的地方表示为当前状态为竖着的木板的下半部分。 其二进制中1的地方表示为当前状态为横着的木板或者竖着的木板的上半部分。#include #include #include #include #include usingnamespacestd
rowanhaoa
·
2013-09-19 15:00
hdu 4628 字符串状压dp
字符串长度只有16位,可以用
状态压缩
保存删除字符串的情况,比如abeca 10101就代表删除aea字符串首先枚举1~(10;j=(j-1)&i)来枚举i状态的所有子集 dp[i]=min(dp[i-j
t1019256391
·
2013-09-19 14:00
数位dp+LIS+
状态压缩
-hdu-4352-XHXJ's LIS
解题思路:数位dp+LIS+
状态压缩
根据求LIS的nlogn的思想,由于k最多为10,也就是最长递增序列的长度最多为10,可以
状态压缩
10位,维护前面的已选的递增序列,并及时更新。
cc_again
·
2013-09-18 23:00
动态规划
UVA 10651 Pebble Solitaire
状态压缩
dp
一开始还在纠结怎么表示一个状态,毕竟是一个串。后来搜了一下题解发现了这里用一个整数的前12位表示转态就好了,1~o,0~'-',每个状态用一个数来表示,然后dp写起来就比较方便了。代码:1#include 2#include 3#include 4#include 5#include 6#include 7#include 8#include 9#include 10#inclu
·
2013-09-18 22:00
AIR
poj-3254-Corn Fields-
状态压缩
DP
最近看题真的脑残了。。1,结果忘记取模WA一次2,结果忘记判断可不可存在WA了多次#include #include #include #include usingnamespacestd; #defineMOD100000000 #definell__int64 lldp[15][5001]; intmap[15][15]; intmain() { intn,m,i,j,k,l; while(~
rowanhaoa
·
2013-09-18 22:00
BFS +
状态压缩
POJ 2965 The Pilots Brothers' refrigerator
#include #include #include #include #include #include usingnamespacestd; charc; intm; intsp[999999]; structQ { intsta,ans,r,c,pre; }q[999999],t,t1; inttop=0,sum=999999; bo
u012161037
·
2013-09-18 15:00
上一页
42
43
44
45
46
47
48
49
下一页
按字母分类:
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
其他