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
LightOJ 1021 - Painful Bases(
状压DP
)
大致题意:求’0‘~‘F'的排序,组成16进制数,能被K整除,求排列的方案数思路:基础状压,注意从低位到高位DP,因为全是F在最高位时对于的十六进制会爆longlong//#pragmacomment(linker,"/STACK:1024000000,1024000000") #include #include #include #include #include #include #inclu
kalilili
·
2015-10-22 00:00
【bzoj1087】[SCOI2005]互不侵犯King
状压DP
Description在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。Input只有一行,包含两个数N,K(1 #include #include #include usingnamespacestd; typedeflonglongLL; LLdp[12][1245][90]; intn,m;
LOI_DQS
·
2015-10-21 18:00
bzoj
hdu 4568 Hunter bfs建图+TSP
状压DP
想AC的人请跳过这一段。。。 题目应该都能读懂。但是个人觉得这题出的很烂,意思太模糊了。 首先,进出次数只能是一次!!这个居然在题目中没有明确说明,让我在当时看到题目的时候无从下手。 因为我想到了这几个数据: 1 1 1 1 9 1  
·
2015-10-21 12:21
HDU
BZOJ 1195 [HNOI2006]最短母串
状压DP
题意:给定n个串,寻找一个最短的串使得所有的串都是这个串的子串,如果存在多条最短的串,则输出字典序最小的。解析:n #include #defineN15 #defineM4100 #definebase131 #defineINF0x3f3f3f3f typedefunsignedintull; intn; ullpow[51]; chartmp[610]; charans[610]; intm
wzq_QwQ
·
2015-10-20 13:00
压缩
dp
151017总结
T1可以按单词长度排序,然后搜索也可以写
状压dp
表示每个单词有没有选择需要的知识:搜索/
状压dp
T2求最大边最小就是求最小生成树/*也有人写二分答案+bfs/dfs/dijkstretc*/需要的知识:
beginendzrq
·
2015-10-19 18:00
总结
状压dp
Codeforces580D Kefa and Dishes
传送门:点击打开链接题意:有n种菜,现在选m种菜来吃,还有很多条好处,如果在吃y的前一道菜是x的话,那么就可以获得满意度。每一种菜都有一个满意度。思路:...只能说Codeforces的测评机实在是太好了,n=18,O(n^2*2^n)复杂度的记忆化搜索代码都能在500ms跑出来,我自己本地跑了3秒多--如果你敢写O(n^2*2^n)复杂度的代码的话,那基本就做完了。设dp[i][S]表示为最后一
qwb492859377
·
2015-10-17 19:00
hdoj 2825 Wireless Password 【AC自动机 +
状压dp
】
WirelessPasswordTimeLimit:2000/1000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):5090 AcceptedSubmission(s):1613ProblemDescriptionLiyuanlivesinaoldapartment.Oneday,hesu
chenzhenyu123456
·
2015-10-13 22:00
【codevs2800】送外卖 floyd+
状压DP
题目描述Description有一个送外卖的,他手上有n份订单,他要把n份东西,分别送达n个不同的客户的手上。n个不同的客户分别在1~n个编号的城市中。送外卖的从0号城市出发,然后n个城市都要走一次(一个城市可以走多次),最后还要回到0点(他的单位),请问最短时间是多少。现在已知任意两个城市的直接通路的时间。输入描述InputDescription第一行一个正整数n(1 #include #inc
LOI_DQS
·
2015-10-12 16:00
dp
floyd
【codevs2596】售货员的难题
状压DP
题目描述Description某乡有n个村庄(1 #include #include #include usingnamespacestd; constintsize=20; constintINF=233333333; intg[size][size]; intdp[size][40000]; intmain() { intn; scanf("%d",&n); for(inti=1;i<=n
LOI_DQS
·
2015-10-12 15:00
dp
cf
状压dp
Little Pony and Harmony Chest
http://codeforces.com/problemset/problem/453/Bcf机子跑的真快,4亿的复杂度都可以跑过,最多也就1s多,给的4s当时写的时候不太敢写,觉得4e8了==,况且自己还要递归打印于是各种优化,300多ms就跑完了,给的4sdp[i][j]前i个数,对应的所存在的素数的状态为j时,差值的最小值(对应的b序列最多是1到58,就是16个素数,二进制表示,每个素数的
meixiuxiudd
·
2015-10-12 00:00
dp
状压
poj 2411 Mondriaans Dream (
状压DP
)
比较容易理解的解法是直接枚举两行的状态。时间复杂度略高O(n*4^m)。思路参考了该大牛的:请戳#include #include #include #include usingnamespacestd; #definemaxn11 typedef__int64LL; LLdp[12][1>=1; } if(cnt&1)return0; return1; } boolcheck(ints1,in
u014679804
·
2015-10-10 15:00
Codeforces 8C
题解:
状压dp
,开始我想状态一直没有想出来。容易知道只要你拿包的配对方案是一定的,那么不管按什么顺序拿,都是可以的,所以我们规定选下标最靠前的。。。这样大幅度降低了复杂度,就是代码里那个break。
Sakai_Masato
·
2015-10-09 21:00
codeforces
POJ 2923 Relocation(
状压DP
+01背包问题)
Description已知n件货物的重量,先要用两个载重量分别为c1和c2的卡车装载这些货物,问最少需要装载几次Input第一行为一整数T表示用例组数,每组用例第一行为三个整数n,c1和c2分别表示货物数量以及两辆卡车的载重量,第二行n个整数表示这n件物品的重量Output对于每组用例,输出将这些货物装载完毕所需的最少装载次数,每组用例后跟一空行SampleInput261213391331011
V5ZSQ
·
2015-10-09 20:00
poj 2282 Islands and Bridges(
状压DP
)
n个点,m条无向边,问是否存在哈密顿路,若存在,最大的边权和是多少?与之对应的路的条数有多少条?边权和的计算方法:所有顶点的权值+相邻顶点权值的乘积若相邻三个点两两之间都有边,则还需加上它们的权值的乘积考虑用一个二进制位表示某个顶点是否被访问。用n个二进制位表示一个状态。注意到,每一个状态和前一个走过的顶点以及上上个走过的顶点有关。因此,设dp[s][i][j]表示在状态s下,经过顶点j,到达顶点
u014679804
·
2015-10-09 19:00
ZOJ 3471 Most Powerful (
状压DP
)
n( #include #include #include usingnamespacestd; #definemaxn11 #defineinf0x3f3f3f3f intD[maxn][maxn]; intdp[1=3;--i) { for(j=1;j<=n;++j) { if(i&(1<<(j-1))) { for(k=1;k<=n;++k) { if(j==k)continue; if(
u014679804
·
2015-10-09 08:00
poj 3001 Travelling (
状压DP
)
每个顶点最多可访问两次的TSP问题。对于每个顶点,用一个三进制位表示其访问次数,则n个顶点的状态为n位3进制数。设dp[i][j]表示在状态i下到达顶点j的最小花费。有状态转移方程:dp[i+3j−1][j]=min(dp[i+3j−1][j],dp[i][k]+dis[k][j])其中dis[k][j]为顶点k到j的距离。说明:初始化时,将dp初始化为INF(无穷大),dp[3^(i-1)][i
u014679804
·
2015-10-08 22:00
hdu 5450 Traversal(
状压dp
)
状压dp
,dp[i][j]表示考虑到第i个点,前p+2个点的入出度状态为j,每次转移考虑向前加0~2条边的情况即可。
u011328934
·
2015-10-08 14:00
poj 1185 炮兵阵地(
状压DP
)
和上一题有点类似。不过对于当前的第i行状态,除了牵涉到第i-1行的状态外,还和第i-2行的状态有关。考虑枚举前两行的状态,来进行状态转移:设dp[i][s][s1]表示第i行状态为s、第i-1行状态为s1时,能安置最多炮兵的数量。分别枚举第i-1和i-2行的状态s1、s2,有:dp[i][s][s1]=max(dp[i][s][s1],dp[i−1][s1][s2])对于该题,每行状态最多有2^1
u014679804
·
2015-10-07 22:00
poj 3254 Corn Fields (
状压DP
)
题目大意:N*M的农场,有的格子可以放牛,有的不行。在这块地方放牛,相邻的格子不能有牛。求方案数。N、M都比较小(>1)是否为1即可。#include #include #include usingnamespacestd; typedef__int64LL; #definemod100000000 #definemaxn1>1))return0; return1; } inlineboolch
u014679804
·
2015-10-07 11:00
dp
CF#321-D - Kefa and Dishes-
状压DP
+bitmasks
http://codeforces.com/contest/580/problem/D题意给出n个菜,要选出m个每个菜有一个权值aa[i]另有k个额外的条例条例格式XYC: 如果先吃第X个菜,马上接着吃Y个菜,会得到额外的权值C 求n个菜选m个的条件下,可以得到的最大权值思路:由于n=18,所以我们可以用一个数的二进制位,来表示有没选第i道菜,也就是用一个数来表示当前选择的菜的状态i从0表示一个不
viphong
·
2015-10-03 16:00
CF 580D Kefa and Dishes(简单
状压dp
)
题目链接WhenKefacametotherestaurantandsatatatable,thewaiterimmediatelybroughthimthemenu.Therewerendishes.Kefaknowsthatheneedsexactlymdishes.Butatthat,hedoesn'twanttoorderthesamedishtwicetotasteasmanydishe
qq_26564523
·
2015-10-03 11:00
dp
状压dp
Kefa and Dishes(
状压dp
)
题目链接:codeforces580D题目大意:给出n个物品,选出m个,如果有两个物品存在一条有向边,那么获得这条边的边权,每个点有一个点权,问如何选取能获得最多的权值。题目分析:因为数据量比较小,所以采用的是状态压缩.定义dp[s][i]表示在状态s(记录某个物品选或没选)下第i个物品作为最后一个选取的物品的最大值,那么转移很简单,就是如果存在有向边,那么就加点权与边权,否则就只加点权。AC代码
qq_24451605
·
2015-09-30 19:00
dp
codeforces
状态压缩
codeforces 580D Kefa and Dishes
传送门:http://codeforces.com/problemset/problem/580/d思路:
状压DP
,f[i][j]表示最后一个为i,已选取的菜的状态为j。
thy_asdf
·
2015-09-25 11:00
dp
codeforces
HDU 4284
状压DP
思路:
状压DP
。dp[i][j],i表示状态,j表示最后一次到达的位置。比赛的时候一直在想网
beihai2013
·
2015-09-22 16:00
BZOJ 1494 NOI2007 生成树计数
状压DP
+矩阵乘法
题目大意:给定n(n≤1015)个点,编号差不超过k(k≤5)的点之间有连边,问生成树个数将k个点的连通性用最小表示法压成状态,那么最多有52种状态计算出每个状态的生成树个数,作为初始行向量A对于每种状态考虑新加入一个点并向这k个点连边,每种连法可以转移到哪些状态,得到转移矩阵B那么答案就是A∗Bn[所有点都连通的状态]#include #include #include #include #de
PoPoQQQ
·
2015-09-16 19:00
矩阵乘法
bzoj
状压dp
BZOJ1494
BZOJ 1097 [POI2007]旅游景点atr dijikstra+
状压DP
题意:链接方法:最短路预处理+
状压DP
解析:看到k=20就想要压一压。(这种病怎么治!然后想后来的q个限制。如果一个点可以被经过的话,那么它的前置点必须都走过。
wzq_QwQ
·
2015-09-15 20:00
dp
poi
codeforces round# 302 (div1 C) (
状压dp
)
本题目的意思是给定n(n #include #include #include #include #include #include #include #include #include #include #include #include #include #include #defineALL(a)a.begin(),a.end() #defineclr(a,x)memset(a,x,size
playwfun
·
2015-09-15 12:00
poj 2686
状压dp
思路:用
状压dp
。定义s表示已经用过的车票的集合,u表示现在所在的城市。定义dp[s][u]现在在u处,已经用过的集合为s时所需要的最小的花费。状态转移:dp[
liujc_
·
2015-09-11 17:00
旅行商问题 TSP问题
状压dp
入门 + floyd poj 3311 hdu 5418
在acm中,对于此问题,n一般都不大,可以运用floyd+
状压dp
来做。
状压dp
:对于集合
liujc_
·
2015-09-11 15:00
hdu4906Our happy ending
状压dp
//给出n,k,l(n,k #include #include usingnamespacestd; constintmaxn=(10?l-k:0; ints=(1=0;j--) { inttmp=dp[j]; if(!tmp)continue; for(intp=1;p<=m;p++) { intnext=(1<<(p-1))|j|((j<
cq_pf
·
2015-09-06 13:00
LightOJ1018
状压dp
*********** Author:Crazy_AC(JamesQi) Time:2015 FileName: 思路:题目的意思是,一个二维平面上面有不超过20个点,问最少用几条直线可以把点连完;
状压
KIJamesQi
·
2015-09-06 11:00
dp
状态压缩
UVA 10817 Headmaster's Headache(
状压DP
)
状压DP
第一题。一开始抄了一发lrj的代码,理解了很久,后来自己写了一发三进制的(・∀・)。但自己的三进制版时间比lrj版多了100ms左右,也许是模拟三进制的乘法和取模操作较慢的原因?
CloveriiW
·
2015-09-04 22:33
DP
UVA
POJ2836--Rectangular Covering
分析:
状压DP
。状态:dp[i]表示点集为i时的最小面积。
hhhhhhj123
·
2015-08-28 12:00
【SCOI2005】【BZOJ1087】互不侵犯King
我天生不喜欢Dp就算你是
状压DP
…Description在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。
CreationAugust
·
2015-08-28 09:00
状压dp
POJ2441--Arrange the Bulls
分析:
状压DP
。状态:dp[i][j]表示第i头牛谷仓状态为j时的方法数。
hhhhhhj123
·
2015-08-27 22:00
POJ3254--Corn Fields
分析:
状压DP
。状态:dp[i][j]表示第i行第j种状态的方法数。状态转移方程,慢慢分析。首先,我们判断一行有多少种放牛方法,因为1不能相邻,且最多只有12列,所以总数不会超过600。
hhhhhhj123
·
2015-08-27 22:00
BZOJ2734: [HNOI2012]集合选数|
状压DP
这题
状压DP
比较神奇对于n以内任意和6互质的数x可以构造一个矩阵x 3x 9x 27x....2x 6x 18x 54x...4x 12x 36x 108x.........然后发现相邻的数不能一起选只要枚举一下所有的
ws_yzy
·
2015-08-27 21:00
状压dp
BZOJ 2669 cqoi2012 局部极小值
状压DP
+容斥原理
题目大意:给定一个n∗m的矩阵,标记出其中的局部极小值,要求填入1...n∗m,求方案数《多年的心头大恨终于切掉了系列》考虑将数字从小到大一个一个填进去由于局部极小值最多8个,我们可以
状压DP
令fi,j
PoPoQQQ
·
2015-08-27 15:00
容斥原理
bzoj
状压dp
BZOJ2669
POJ2686--Travelling by Stagecoach
求从城市a到城市b的最短时间,无法到达输出Impossible分析:
状压DP
。
hhhhhhj123
·
2015-08-26 22:00
SGU 223
题解:
状压dp
,设dp[i][j][S]表示前i行用了j个王,其中第i行放王的状态是S。
Sakai_Masato
·
2015-08-26 16:00
sgu
HDU 5418 Victor and World(
状压dp
、最短路)
首先用Folyd求出任意两点间的最短路。然后令dp[i][S]表示访问情况为S,最后访问i国家的最小花费。转移方程为dp[i][S|(1 #include #include usingnamespacestd; intmp[17][17]; intdp[17][1<<16];//dp[i][S]表示最后一个访问国家为i,访问国家情况为S的最小花费 intmain(){ //freopen("i
acraz
·
2015-08-26 15:00
UVA 记忆化搜索
状压dp
1252
记忆化搜索,题目要求求要猜出每个物体所需要的最小次数开始理解错题意了,弄成一次性猜出所有的物体其实是求猜出每个物体的次数中的最大次数//dp[s][b]//s:代表此时询问过的集合//b:代表此时所要猜到的物体w,在集合s中所具有的特征#include#include#include#include#include#include#include#include#include#include#i
meixiuxiudd
·
2015-08-26 11:00
dp
uva
记忆化搜索
hdu5418--Victor and World(floyd+
状压dp
)
题目链接:点击打开链接题目大意:有n个城市,在n个城市之间有m条双向路,每条路有一个距离,现在问从1号城市去游览其它的2到n号城市最后回到1号城市的最短路径(保证1可以直接或间接到达2到n)。(n #include #include #include #include #include #include #include #include #include usingnamespacestd; #
u013015642
·
2015-08-24 08:00
HDU 5418
状压DP
+ 最短路
HDU 5418题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5418题意:给一个图,n个点,m条边,保证1到除1外所有点有边。可以重复经过城市,问从城市1出发,所有城市至少经过一遍最后回到1的最小代价。思路:比赛的时候想过状压,但是因为图可能是不完全连通的,也就是从点u到点v要经过其他点,这时候这个状态没办法加上去。题解就是状压。dp[S][i],
beihai2013
·
2015-08-23 16:00
HDOJ 5418 Victor and World
状压DP
水
状压DP
VictorandWorldTimeLimit:4000/2000MS(Java/Others) MemoryLimit:262144/131072K(Java/Others)TotalSubmission
u012797220
·
2015-08-23 14:00
hdu 5418 Victor and World(floyd+
状压dp
)
题意:要求从1开始起,经过所有的点,最终回到1,所要的最小值。解析:这是一道比较经典的旅行商问题,以前做过类似的。先用floyd求出所有点之间的最短路。然后用状态压缩,16位每位上为1表示已走过,0表示没有走过,直接用位运算,表示所有的状态。dp[st][j]状态为st,最后一次走的是j点的最小值。则状态转移方程为:dp[st|(1 #include #include usingnamespace
HelloWorld10086
·
2015-08-23 10:00
HDU
5418
[UVA 10817]Headmaster's Headache[
状压DP
]
题目链接:[UVA10817]Headmaster'sHeadache[
状压DP
]题意分析:校长需要s门课,每门至少有两名老师来教,所以他现在想要招老师啦。
GooZy
·
2015-08-22 23:40
[D]DP
[W]位运算
[UVA 10817]Headmaster's Headache[
状压DP
]
题目链接:[UVA10817]Headmaster'sHeadache[
状压DP
]题意分析:校长需要s门课,每门至少有两名老师来教,所以他现在想要招老师啦。
CatGlory
·
2015-08-22 23:00
uva
状压dp
hdu 5418 Victor and World
状压DP
看了题解说是
状压DP
,恍然大悟。。其实这种类型的题做的不是很多。。没有反应过来。。因为n比较小只有16,所以可以把状态压缩起来。
CHCXCHC
·
2015-08-22 23:00
状压dp
【HDOJ 5418】 Victor and World (
状压dp
)
【HDOJ5418】VictorandWorld(
状压dp
)旅行商问题不要害怕只有16个点所以用状压即可floyd初始化各点最小距离然后枚举状态dp该状态下包含的点dp最短距离最后dp一下每个点在全1状态下的最短距离即为绕一圈回来后的最短距离代码如下
ChallengerRumble
·
2015-08-22 22:00
上一页
27
28
29
30
31
32
33
34
下一页
按字母分类:
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
其他