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
hdu2825(
状压dp
+AC自动机)
题目网址https://vjudge.net/problem/HDU-2825用ac自动机来存储状态,用dp来转移dp[i][j][k]表示当长度为i时,串末尾为自动机中j节点多对应的值,此时串中选择状态为k的数目转移时,下一位状态,字符长度加一,i+1,即是可以由,j+一个新的字符,获得如果这个字符正好是串的最后一个字符,那么k的状态变化为加上该字符的状态;我发现,百度第一个博客的代码是错的,我
DS_HY
·
2020-08-24 23:45
串
动态规划
AC自动机+
状压dp
hdu2825 Wireless Password
传送门:点击打开链接题意:有个密码长度为n,现在有m个魔力单词,要求密码中魔力单词的种类数>=k,问这种密码的种类数。思路:和之前一样,我们会想到AC自动机去压缩状态,把状态给简化。然后我们就会想到一个问题,,因为一种种类实际上可能会出现很多次,但是统计的时候只统计一次,所以用普通的dp可能就做不到了,那么我们就必须考虑复杂度更高的方法,又看到m#include#include#include#i
逍遥丶綦
·
2020-08-24 23:48
ACM_DP
ACM_自动机
HDU2825
HDU2825题意求长度为n且至少包含k个给定子串的种类数.思路AC自动机+
状压dp
.对end[]节点标记数组进行改动,用二进制下第几位表示即为包含第几个给定子串.dp转移方程为dp[i+1][nex]
Devil Zoey
·
2020-08-24 22:15
字符串
状压dp
HDU2825 Wireless Password ac自动机 +
状压DP
一、内容Liyuanlivesinaoldapartment.Oneday,hesuddenlyfoundthattherewasawirelessnetworkinthebuilding.Liyuandidnotknowthepasswordofthenetwork,buthegotsomeimportantinformationfromhisneighbor.Heknewthepassword
嘿呀!
·
2020-08-24 22:11
ac自动机
DP
HDU
Relocation POJ - 2923(01背包+
状压dp
)
Relocation链接:POJ-2923题目大意:给你两辆车,每辆车有额定载重c1,c2,再给你n件物品(n总重量-c1车能装的最大重量则返回true代表可行.接着对物品的状态进行dp,将状态0转移到状态(12#include3#include4#include5#include6#defineINF0x3f3f3f3f7#defineMAXN1000008usingnamespacestd;9
dizhongnie4039
·
2020-08-24 21:44
hdoj 2825 Wireless Password 【AC自动机 +
状压dp
】
WirelessPasswordTimeLimit:2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):5090AcceptedSubmission(s):1613ProblemDescriptionLiyuanlivesinaoldapartment.Oneday,hesuddenlyfo
笑着走完自己的路
·
2020-08-24 21:42
状压DP
AC-自动机
HDU 2825 Wireless Password (AC自动机 +
状压dp
)
题意:给你m(m#include#include#includeusingnamespacestd;constintmod=20090717;voidadd(int&ans,intx){ans+=x;if(ans>=mod)ans-=mod;}constintmaxn=100+1;intbitcount(intx){intans=0;while(x){if(x&1)++ans;x>>=1;}ret
aozil_yang
·
2020-08-24 21:44
DP
HDU
AC自动机
hdu2825-(AC自动机+
状压DP
)
题解:AC自动机,然后在自动机上跑一遍DP,第一维表示长度,第二维表示到达自动机上的哪一个结点,第三维用二进制表示有含有哪几个字符;然后转移方程就是dp[i+1][ret][k|v[ret]]=(dp[i+1][ret][k|v[ret]]+dp[i][j][k])%mod;有些dp[i][j][k]等于0就不用运算了#include#include#include#include#include
最菜的acmer
·
2020-08-24 21:46
DP
AC自动机
HDU 2825 Wireless Password AC自动机+
状压DP
分析:因为这个题不是问的密码字串必须全部包含,所以不能矩阵加速==果然n的大小变得很小只有25可以用
状压DP
来做,具体是每个AC自动机内的节点都编个号,然后getfail的时候像以前矩阵加速getfail
Quack_quack
·
2020-08-24 21:11
ac自动机
HDU - 2825 Wireless Password AC自动机+
状压dp
WirelessPasswordHDU-2825Liyuanlivesinaoldapartment.Oneday,hesuddenlyfoundthattherewasawirelessnetworkinthebuilding.Liyuandidnotknowthepasswordofthenetwork,buthegotsomeimportantinformationfromhisneighb
ProLightsfxjh
·
2020-08-24 21:11
☺藏题阁☺
字符串:AC自动机
HDU
OJ
算法的艺术
hdu 2825 Wireless Password (ac自动机+
状压dp
)
我们在ac自动机上dp肯定要设置这样的状态dp[i][j]走了i步,结尾是j节点,但是这样明显无法获得由几m集合中的串,分析发现这类似排列组合,要实现这样的计数问题,只能是
状压dp
,那么我们多设置一维dp
My_ACM_Dream
·
2020-08-24 21:37
字符串—ac自动机
字符串
hdu2825---Wireless Password(AC自动机+
状压dp
)
WirelessPasswordTimeLimit:2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):4688AcceptedSubmission(s):1433ProblemDescriptionLiyuanlivesinaoldapartment.Oneday,hesuddenlyfo
tokers
·
2020-08-24 21:10
hdu
字符串
DP
HDU - 2825 Wireless Password(AC自动机+
状压dp
)
题目链接:点击查看题目大意:给出m个匹配串,问长度为n的字符串中,至少包含k个匹配串(可重叠)的字符串有多少个题目分析:考虑到n,m,k都特别小,所以可以先用AC自动机将状态关系转移出来,然后配合
状压dp
Frozen_Guardian
·
2020-08-24 21:51
字符串处理
状压dp
HDU - 2825 Wireless Password(AC自动机+
状压DP
)
题解:做了那么多了,这类
状压DP
太水了…设dp[i][j][S]表示当前处理到第i个字符,在AC自动机上的节点标号为j,已经包含的字符串集合为S然后循环转移就好了,确实太水了,也说不了更多的东西了…看代码吧
Nightmare丶
·
2020-08-24 21:18
AC自动机
状压dp
H - Wireless Password HDU - 2825(AC自动机+
状压DP
)
这个题目真的很有意思,用的还是状态压缩dp,第一次尝试写
状压dp
,发现理解了还是很好写的。
最光阴.
·
2020-08-24 21:41
动态规划
字符串
hdu2825 Wireless Password(AC自动机+
状压dp
)
解题思路:AC自动机+
状压dp
状态:dp[i][j][k]其中i为密码的长度,j为当前在AC自动机中所处的状态,k为包含的已知串的信息,k转化为二进制,如果第x位为1则说明包含第x个已知串状态转移方程:
Think_Idea
·
2020-08-24 21:02
字符串
动态规划
HDU - 2825 Wireless Password (AC自动机 +
状压dp
)
题目链接题意求至少包含KKK个给定字符串长度为NNN的字符串思路把所有可能的字符串建AC自动机,遍历所有节点dp[i][j][k]dp[i][j][k]dp[i][j][k]表示以节点jjj为终点的长度为iii包含状态为k的字符串的方案数,dp[i][j][k]=dp[i][j][k]+dp[i−1][fa[j]][t],t∈(0,1<<m)dp[i][j][k]=dp[i][j][k
Sanzona
·
2020-08-24 21:18
字符串
HDU 2825-Wireless Password(AC自动机+
状压DP
)
WirelessPasswordTimeLimit:2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):6710AcceptedSubmission(s):2227ProblemDescriptionLiyuanlivesinaoldapartment.Oneday,hesuddenlyfo
信仰..
·
2020-08-24 21:17
AC自动机
AC自动机专题——L - Wireless Password HDU - 2825
状压DP
+AC自动机
Liyuanlivesinaoldapartment.Oneday,hesuddenlyfoundthattherewasawirelessnetworkinthebuilding.Liyuandidnotknowthepasswordofthenetwork,buthegotsomeimportantinformationfromhisneighbor.Heknewthepasswordcons
chudongfang2015
·
2020-08-24 20:41
ACM_AC自动机
Wireless Password HDU - 2825(AC自动机+
状压dp
卡常)
题目链接题意:给你M个word串,问你能构造多少种长度为N的字符串,满足至少包含K个不同的word串。1#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusingnamespacestd;#defineINF
yc小白
·
2020-08-24 20:45
动态规划
AC自动机
算法
动态规划
字符串
基础
状压dp
举例
在处理很多dp问题时,我们需要用状态转移来完成我们的目标,但是某些时候我们很难去描述一个状态,所以我们需要用一些手段进行状态压缩,其中最基础的状态压缩就是用2进制来表示状态,下面介绍2个例题[SCOI2005]互不侵犯KING题目描述在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。输入描述:只有一
徒手装机甲
·
2020-08-24 11:17
dp
基础
状压dp
知识预备---较复杂的位运算
状压dp
,也叫hashdp。主要指的是用某种量来描述某个状态的一种方式,而在简单常见的状态压缩过程中,我们往往会使用二进制来完成这一过程,所以位运算的熟练掌握就成了学习
状压dp
前最重要的一步了。
徒手装机甲
·
2020-08-24 11:17
dp
使用
状压dp
解决tsp问题
旅行商问题,即TSP问题(TravelingSalesmanProblem)又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。TSP问题是一个组合优化问题。该问题可以被证明具有NPC计算复杂性。因此,任何能使该问
徒手装机甲
·
2020-08-24 11:17
dp
2019ICPC南昌 B.A Funny Bipartite Graph(
状压dp
)
题意:给定二分图,左半部和右半部各n个点,给定n*n的01矩阵,如果a(i,j)=1说明左半部的点i与右半部的点j有边。同时保证i与j有边,当且仅当ij时一定没边。还保证每个点的度数>=1且usingnamespacestd;constintmaxm=20;vectorg[20];intd[20][1>i&1){//如果右半部第i位已经有了,那么左半部可以不选第i位d[i+1][j^(1>k&1)
这有点难啊
·
2020-08-24 11:17
Kefa and Dishes(
状压dp
)
题意:有n盘菜,现在你要吃m盘菜,每种菜只能吃一次吃第i盘菜可以得到a(i)的满足感,同时给出k条规则(x,y,c),表示如果在吃y之前刚好吃过了x,那么就会得到c的满足感,(注意x和y之间没有其他菜)问吃m盘菜的最大满足感是多少.数据范围:nusingnamespacestd;#defineintlonglongconstintmaxm=20;vector>g[20];intd[1>n>>m>>
这有点难啊
·
2020-08-24 11:17
CUGB图论专场:Traveling by Stagecoach
状压DP
求最短路中的最小花费时间
E-TravelingbyStagecoachTimeLimit:2000MSMemoryLimit:65536KB64bitIOFormat:%I64d&%I64uSubmitStatusDescriptionOnceuponatime,therewasatraveler.Heplanstotravelusingstagecoaches(horsewagons).Hisstartingpoint
潇洒走一回LW
·
2020-08-24 10:43
动态规划 ——
状压DP
(附一些位运算小知识)
状态压缩类动态规划又叫集合动态规划。参考学长博客和信息学奥赛一本通。【基本概念】通常将以一个集合内的元素信息作为状态且状态总数为指数级别的动态规划称为状态压缩动态规划。其是一类以集合信息为状态的特殊的动态规划问题,主要有传统集合动态规划与基于连通性状态压缩的动态规划两种。其原理是通过二进制位运算将状态压缩(用整数表示集合)作为动态规划的状态来解决问题。通常具备以下两个特点:数据规模的某一维或几维特
浅梦曾倾
·
2020-08-24 10:43
动态规划
笔记
BZOJ1725[Usaco2006 Nov]Corn Fields牧场的安排【
状压DP
】
[Usaco2006Nov]CornFields牧场的安排[Usaco2006Nov]CornFields牧场的安排[Usaco2006Nov]CornFields牧场的安排Description:FarmerJohn新买了一块长方形的牧场,这块牧场被划分成M列N行(1usingnamespacestd;auto____=[](){ios_base::sync_with_stdio(false);
Kria·L
·
2020-08-24 09:25
状压DP
DP
BZOJ
牛客练习题---21873:牛牛的计算机内存【
状压dp
】
链接:https://ac.nowcoder.com/acm/problem/21873来源:牛客网题意:牛牛的计算机一共有m块内存,现在有n条指令,每条指令是一个01序列如果指令的第i个字符为1,说明这条指令需要访问第i块内存每条指令的执行代价为k^2,k为新访问内存的数量,即之前的指令都没有访问到的内存数量你可以随意安排n条指令的执行顺序,求执行完所有指令的最小代价输入:第一行先输入一个整数n
KobeDuu
·
2020-08-24 09:11
动态规划----状压dp
题解----牛客网
洛谷 P5056 【模板】插头dp
插头dp简单的说还是轮廓线的
状压dp
?,多考虑了一种连通性
ToRe.
·
2020-08-24 08:50
插头dp
Elongated Matrix(
状压DP
)
题解:人生中第一道
状压dp
~其实还是参考了这篇
dft539533
·
2020-08-24 06:36
【LOJ #2340】【WC 2018】—州区划分(子集卷积+
状压dp
)
传送门令f(s)f(s)f(s)表示状态为sss的人口之和,g(s)g(s)g(s)为状态sss的所有州的划分的满意度之和则g(s)=∑i⊆sf(i)f(s)g(s⨁i)g(s)=\sum_{i\subseteqs}\frac{f(i)}{f(s)}g(s\bigoplusi)g(s)=∑i⊆sf(s)f(i)g(s⨁i)=1f(s)∑i⊆sf(i)g(s⨁i)\\\\\\\\=\frac{1}{
Stargazer.
·
2020-08-24 06:32
FWT
状压dp
[BZOJ]4160: [Neerc2009]Exclusive Access 2
状压DP
+Dilworth定理
有了这个,直接
状压DP
就行了。Code#includeusingnamespacestd;#defin
200815147
·
2020-08-24 05:37
DP
状态压缩DP
bzoj1076: [SCOI2008]奖励关
bzoj1076:[SCOI2008]奖励关看数据范围直接
状压DP
。
Starria
·
2020-08-24 05:12
状压dp
「WC2018」州区划分-FWT+
状压DP
Description链接Solution首先我们可以轻松预处理出满足条件的点集。设fsf_sfs表示点集sss的点组成州的方案数的满意度之和,sumssum_ssums表示点集sss的人口的ppp次方,当sss为合法州区时,gs=sumsg_s=sum_sgs=sums,否则gs=0g_s=0gs=0。那么,fS=∑T⊆S,T≠∅gT×fS−TsumSf_S=\sum_{T\subseteqS,
DSL_HN_2002
·
2020-08-24 05:16
文章类型——题解
多项式——FWT
算法——DP
[UOJ#348][WC2018]州区划分(
状压dp
+FMT)
Address洛谷P4221BZOJ5153UOJ#348LOJ#2340Solution有一个显然的dp方案:f[S]f[S]f[S]表示选出的城市集合为SSS的满意度之和。sum[S]sum[S]sum[S]表示城市集合SSS的人口之和。g[S]g[S]g[S]表示:[子图S不存在欧拉回路]×sum[S]p[子图S不存在欧拉回路]\timessum[S]^p[子图S不存在欧拉回路]×sum[S
xyz32768
·
2020-08-24 05:39
BZOJ
UOJ
LOJ
uoj 348&LibreOJ 2340 [WC2018]州区划分
状压dp
+FMT
题意给出一个n个点m条边的无向图,要求把点集分成若干个集合,满足每个集合非空且其导出子图中不存在欧拉回路。给定一个数组wiwi,求对于所有合法的划分{S1,S2..Sk}{S1,S2..Sk},下面式子之和:(∏i=1k∑x∈Siwx∑ij=1∑x∈Sjwx)p(∏i=1k∑x∈Siwx∑j=1i∑x∈Sjwx)pn≤21,0≤p≤2n≤21,0≤p≤2分析O(3n)O(3n)的dp就十分显然了,
SFN1036
·
2020-08-24 05:47
状压dp
集合幂级数
loj2340 WC2018 州区划分
状压dp
+FWT
Description题面到处都有系列。。SolutionFMT是啥,能吃吗首先考虑怎么判合法子图(也就是欧拉回路),我们n2*2n枚举点然后统计度数就可以了那么一个比较显然的dp就是设f[S]表示二进制状态为S的所有答案,g[S]表示S这个集合分成一份的贡献我们枚举S的子集转移即可,这样做是O(3n)的考虑把柿子写出来,那么就是fS=∑T⊂SfT⋅gS∖Tf_{S}=\sum\limits_{T
olahiuj
·
2020-08-24 05:09
c++
FWT
状压dp
UOJ348 WC2018 州区划分
ProblemUOJSolution做的时候SB了,纠结了好久怎么判定欧拉回路,YY了半天
状压DP
无果,后来突然想起欧拉回路的充要条件是联通且点的度数为偶数。
Rayment_cc
·
2020-08-24 05:52
好题集
多项式
BZOJ
UOJ
[WC2018]州区划分(FWT)
n很小,可以考虑
状压dp
,我们设dp[s]为已经划分好的州区点集和为s它的所有方案的答案的和。转移可以考虑枚举子
weixin_34100227
·
2020-08-24 05:21
[BZOJ1226][SDOI2009]学校食堂(
状压DP
)
状压DP
。
xyz32768
·
2020-08-23 08:55
BZOJ
UOJ
LOJ
NOIP2017提高组 Day2T2宝藏
状压DP
题目就不说了吧。。搜索好像也能过,不过是启发式才行。。何况比赛打得也是状压。。其实不算很难吧,但是我比较菜所以挂了。总是想着如何枚举,但是这题直接枚举转移的话好像不大可做。所以预处理出两个状态之间的转移代价,即w[s1,s2]表示从s1转移到s2的代价,保证s1&s2==0,即s1与s2不相交。然后直接转移就好了,复杂度是3^n*n^2,但是用枚举子集转移的方法可以去除冗余状态,实际状态远远达不到
Transcendence_magia
·
2020-08-23 06:29
jzoj
DP
状压dp
bzoj1226 [SDOI2009]学校食堂Dining
状压DP
题意:一个学生序列,每一个人有一个想吃的菜t和忍受程度x,如果先让紧跟他后面的人吃,不能超过x个,问最小的进餐时间。如果先做j,在做k,时间是(t[j]|t[k])-(t[j]&t[k])==一开始没看见那个紧跟,导致我写了个n^3*7的算法结果T了,想了老长时间不知道该咋做,然后瞄了一波题解,发现看错题目了。。这种题目套路啊,,一看贡献跟相邻的有关就要设一个结尾的状态,那么明显有:f[i][j]
Transcendence_magia
·
2020-08-23 06:29
bzoj
DP
状态DP
【USACO 2006 November Gold】Corn Fields
【题目链接】点击打开链接【算法】
状压DP
【代码】#includeusingnamespacestd;#defineMAXN12#defineMOD100000000intM,N,i,j,k,ans,state
even_bao
·
2020-08-23 04:27
动态规划
BZOJ 1226: [SDOI2009]学校食堂Dining
状压DP
然而我一开始没!有!想!粗!来!只好参(chao)考(xi)神犇的思路。。
bababaab
·
2020-08-23 04:48
dp
bzoj
状态压缩
dp
状态压缩
玉米田(
状压dp
)
1266.玉米田Description农民John购买了一处肥沃的矩形牧场,分成M*N(1#include#include#defineN20#defineM10000#definemo100000000#definelllonglongusingnamespacestd;intn,m;llans,bin[N],a[N][M],b[N][M],f[N][M];boolv[N];voiddfs(in
zhanghaoxian1
·
2020-08-23 04:32
状压dp
状压dp
入门(洛谷P1879玉米田地)
吐槽:尼玛:
状压dp
真的不简单,可能是我二进制以及位运算学的不太好,自己给自己开的专题,三天也没写一道
状压dp
,这道题还是从洛谷上找到的入门题传送门:
状压dp
玉米田地题解:首先我们记录每一行的每一个数的状态转为二进制表示
Vain957
·
2020-08-23 04:02
DP
P1052 过河 (
状压DP
)
P1052过河(
状压DP
)题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。
碳酸钙的01妖精
·
2020-08-23 04:13
c++
动态规划
poj 2411 Mondriaan's Dream 经典
状压DP
+记忆化搜索
转送门:poj2411Mondriaan’sDream题目大意给出一个n*m的棋盘,及一个小的矩形1*2,问用这个小的矩形将这个大的棋盘覆盖有多少种方法。解题思路因为对应于一个方格来讲,有两种状态放或者不放对应于一个1*2的矩形来说有三种方式:横着放,竖着放,不放因为列的数量为指数级别的,行为线性的,所以我们选取大的最为行,小的作为列所有dp[i][j]就表示第i行状态为j的时候方法数那么很明显d
Helios_nannan
·
2020-08-23 03:19
ACM======start
ACM-动态规划
状压DP
(入门)
题目一链接题目意思就是:给出n个物品,体积为w[i],现把其分成若干组,要求每组总体积usingnamespacestd;constintN=20;constintM=1>n>>m;intop=(1>a[i];memset(f,0x3f,sizeof(f));f[0]=1;g[0]=m;for(inti=0;i=a[j]&&f[i|(1=f[i]){//物体可以放进//i|(1=f[i]+1){/
weixin_46001550
·
2020-08-23 03:03
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他