状压dp
Nightmare丶
登高必自卑,行远必自迩
展开
-
CF327E Axis Walking
题意翻译给你一个长度为n(1<=n<=24)的正整数序列S,再有k(0<=k<=2)个正整数。求有多少种S的排列方式使得其前缀和不会成为那k个数里的任意一个。 答案对1e9+7取模。题解:n<=24,考虑状压DP设dp[S]表示当前已选的集合为S,sum[S]为当前集合的数的和sum很好得到,sum[i]=sum[isum[i]=sum[isum[i]=...原创 2020-02-22 16:56:50 · 120 阅读 · 0 评论 -
Gym - 102219 F - Military Class
There is a military class of 2∗n soldiers, and the commander wants all of them to get partnered into n pairs. He divides the soldiers into two lines of length n, and numbers the soldiers in both lines...原创 2020-02-12 21:19:46 · 278 阅读 · 0 评论 -
BZOJ 1559: [JSOI2009]密码(AC自动机+状压DP)
题目描述众所周知,密码在信息领域起到了不可估量的作用。对于普通的登陆口令以,唯一的破解方法就是暴力破解——逐个尝试所有可能的字母组合,但这是一项很耗时又容易被发现的工作。所以,为了获取对方的登陆口令,在暴力破解密码之前,必须先做大量的准备工作。经过情报的搜集,现在得到了若干有用信息,形如: “我观察到,密码中含有字符串*。”例如,对于一个10位的密码以及观察到的字符串hello...原创 2020-01-08 00:52:38 · 209 阅读 · 0 评论 -
BZOJ 1087: [SCOI2005]互不侵犯King(状压DP)
Description在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。Input只有一行,包含两个数N,K ( 1 <=N <=9, 0 <= K <= N * N)Output方案数。题解:偶然看到以前做状压DP的入门题…以前还没写博客的习惯…现在水(补一...原创 2020-01-01 14:41:37 · 211 阅读 · 0 评论 -
BZOJ 1072: [SCOI2007]排列perm(状压DP)
Description给一个数字串s和正整数d, 统计s有多少种不同的排列能被d整除(可以有前导0)。例如123434有90种排列能被2整除,其中末位为2的有30种,末位为4的有60种。Input输入第一行是一个整数T,表示测试数据的个数,以下每行一组s和d,中间用空格隔开。s保证只包含数字0, 1, 2, 3, 4, 5, 6, 7, 8, 9.Output每个数据仅一行,表示能被...原创 2020-01-01 00:29:59 · 179 阅读 · 0 评论 -
AcWing 1243. 糖果(状压DP)
题目描述糖果店的老板一共有 MM 种口味的糖果出售。为了方便描述,我们将 MM 种口味编号 1∼M1∼M。小明希望能品尝到所有口味的糖果。遗憾的是老板并不单独出售糖果,而是 KK 颗一包整包出售。幸好糖果包装上注明了其中 KK 颗糖果的口味,所以小明可以在买之前就知道每包内的糖果口味。给定 NN 包糖果,请你计算小明最少买几包,就可以品尝到所有口味的糖果。输入格式第一行包含三个整数...原创 2019-12-30 21:29:19 · 256 阅读 · 0 评论 -
HDU - 2825 Wireless Password(AC自动机+状压DP)
题意:给你m个字符串S,询问有多少种字符串满足长度为n且包含k个以上字符串S。题解:做了那么多了,这类状压DP太水了…设dp[i][j][S]表示当前处理到第i个字符,在AC自动机上的节点标号为j,已经包含的字符串集合为S然后循环转移就好了,确实太水了,也说不了更多的东西了…看代码吧…AC代码:#include<bits/stdc++.h>using namespac...原创 2019-11-26 00:39:12 · 157 阅读 · 2 评论 -
HDU 4758 Walk Through Squares (2013南京网络赛1011题,AC自动机+DP)
题意:有一个n×m的矩阵,有两种走法,每种走法都是一个包含D和R的序列,D表示向下走,R表示向右走,问从(1,1)走到(n,m)有多少方案是包含这两种走法的题解:我们用这两种走法建立AC自动机,然后在AC自动机上DP解决方案数问题,设dp[i][j][k][S]dp[i][j][k][S]dp[i][j][k][S]表示当前走了i个D,j个R,对应在AC自动机上的k点,此时已经包含的走法集合...原创 2019-11-25 20:06:03 · 109 阅读 · 0 评论 -
HDU4057 Rescue the Rabbit(AC自动机+状压dp)
题意:给你n个基因串和每个基因串拥有的价值,可以为正也可以为负,询问构造长度为m的基因价值最大为多少?每种基因如有多个,当作一个。题解:这种题很容易想到在AC自动机上DP,我们不妨设dp[i][j][S]dp[i][j][S]dp[i][j][S]表示当前处理到第iii个字符,并且在AC自动机上的jjj点,已经构成的基因串集合为SSS,然后从父亲向下递推看能否到达下一个状态就好了,不过dp数...原创 2019-11-21 20:54:08 · 119 阅读 · 0 评论 -
HDU3247 Resource Archiver(AC自动机+状压BFS)
题意:给你n个资源串S,和m个病毒串,问一个最短的字符串包含所有的资源串,但不包含病毒串,输出其长度。题解:很明显,n的范围(2≤n≤10)(2≤n≤10)(2≤n≤10),很容易想到状压,因此我们考虑将资源串和病毒串都放入AC自动机中,将病毒串的尾节点置为-1不走这个点即可。然后就是BFS爆搜就行了。AC代码(状压BFS):#include<bits/stdc++.h>...原创 2019-11-21 17:46:40 · 173 阅读 · 0 评论 -
牛客CSP-S提高组赛前集训营5 - B 十二桥问题
题目描述小多所在的城市可以看成是有nnn个点mmm条边的无向图(结点从111标号),每条边有一个距离did_idi ,其中有kkk条边是小希特别想走过的kkk座大桥。小多和小希现在呆在111号结点,请你帮小多规划一条最短路线,使得小多和小希能从当前位置出发,并经过这kkk座桥,最后回到结点111。题解:这道题刚开始看就觉得和BZOJ 1097: [POI2007]旅游景点atr是类似的题...原创 2019-11-08 12:00:03 · 234 阅读 · 0 评论 -
1097: [POI2007]旅游景点atr(dijkstra+状压dp)
DescriptionFGD想从成都去上海旅游。在旅途中他希望经过一些城市并在那里欣赏风景,品尝风味小吃或者做其他的有趣的事情。经过这些城市的顺序不是完全随意的,比如说FGD不希望在刚吃过一顿大餐之后立刻去下一个城市登山,而是希望去另外什么地方喝下午茶。幸运的是,FGD的旅程不是既定的,他可以在某些旅行方案之间进行选择。由于FGD非常讨厌乘车的颠簸,他希望在满足他的要求的情况下,旅行的距离尽量短...原创 2019-10-29 00:53:52 · 301 阅读 · 0 评论 -
Best Sequence POJ - 1699(AC自动机+状压dp)
题意:给你n个字符串序列,让你构造一个字符串,它包含所有的n个字符串,并且使字符串最短/*15TCGGGCAGCCGCGATCATCG该字符串就可以为CCGCAGATCGC,因为它是符合条件的最短字符串*/刚开始看数据很小,直接暴力dfs交了一发,果断T掉了orz,然后眉头一皱发现事情并不简单…想了好一阵才想到这个数据范围不是可以状压么…sb了…不过好像dfs+剪枝也能过...原创 2019-10-28 16:49:41 · 163 阅读 · 0 评论