状压
看见我请叫我去学习
此人很懒
展开
-
CodeCraft-20 (Div. 2)E. Team Building
E. team Building Face 题意 从nnn个人里选ppp人参加比赛, 选kkk人当观众(n≥p+k)(n\geq p+k)(n≥p+k) 第iii人当观众可以给答案带来贡献aia_iai 第iii人第jjj个参赛可以给答案带来贡献mat[i][j]mat[i][j]mat[i][j] 现给定如上数据, 求贡献最大 数据范围: 2≤n≤105,1≤q≤7,1≤k,k+p≤n...原创 2020-03-05 23:05:12 · 246 阅读 · 0 评论 -
牛客练习赛58-C矩阵消除游戏
题意:给定一个n×mn\times mn×m的矩阵, 你有k次机会, 每次机会可以选择某一行或者某一列, 然后使该行或该列的值全部变为0, 并且会得到收益:该行或该列的数字和 Face 数据范围 1<n,m≤151<n, m\leq151<n,m≤15 一开始没看到,服了 Strategy: 其实一开始没啥思路, 后来看到了数据范围后想到先二进制枚举选的行数,然后列数贪心选最多 ...原创 2020-02-29 12:03:32 · 283 阅读 · 0 评论 -
cf1215E-Marbles
拦住我的状压 题意: 给定一个数组a,且1≤a[i]≤20,a, 且1\leq a[i]\leq 20,a,且1≤a[i]≤20,你现在可以交换其中任意的相邻的两个元素, 现在要求将整个序列变成"相同元素挨在一起"的最少交换次数 数据范围: 2≤n≤4e52 \leq n \leq4e52≤n≤4e5 >> face << 前置技能:状压dp Tutori...原创 2020-01-27 22:22:29 · 174 阅读 · 0 评论 -
cf1209E.Rotate Columns(div2)
拦住我的好题(状压dp) 题意: 给定一个矩阵n×mn\times mn×m, 现可以任意旋转任意一列, 求该矩阵, 在操作范围内对每行的最大值求和 easy-version数据范围: n≤4,m≤100n \leq 4,m \leq100n≤4,m≤100 >> face << 前置技能:状压dp Tutorial: 看到数据范围, 可以存下所有的状态, 而...原创 2019-11-29 13:00:09 · 198 阅读 · 0 评论 -
cf165E(div2)(Sos_dp)
救命dp系列 题意: 给定一个数组ana_nan, 针对每个下标i, 都要寻找另一个元素满足a[i]&a[j]=0a[i]\& a[j] = 0a[i]&a[j]=0 并输出这个元素 >> face << 前置技能 : sos_dp tutorial:先把能与这个数匹配的最大数存进去, 之后就可以倒叙枚举所有的状态, 真对每个状态, 看...原创 2019-11-25 16:14:28 · 245 阅读 · 0 评论 -
SPECIAL PAIRS(Sos_dp)
这个是一道救命dp入门题 参考dalao的 >>face<< friendly codes #include <bits/stdc++.h> using namespace std; #define _rep(i, a, b) for (int i = (a); i <= (b); ++i) #define _rev(i, a, b) for (int...原创 2019-11-25 09:19:38 · 217 阅读 · 0 评论 -
DP(区间专题Ⅶ)
题意: 某人有一套玩具,并想法给玩具命名。首先他选择WING四个字母中的任意一个字母作为玩具的基本名字。然后他会根据自己的喜好,将名字中任意一个字母用“WING”中任意两个字母代替,使得自己的名字能够扩充得很长。现在,他想请你猜猜某一个很长的名字,最初可能是由哪几个字母变形过来的。 >> face << Strategy:区间dp, 先将字符离散成数字[1~4], 然后区...原创 2019-08-11 20:05:26 · 135 阅读 · 0 评论 -
DP(状压进阶二)
写在前面: 这篇题目很有难度, 是我觉得dp里面较难的类型, 先贴一波大佬的博客 我是传送门 题意 : 给定n≤15n\leq15n≤15个长度相同的字符串(由小写字母和问好’?'组成) 求这n个字符串中的刚好K个串匹配的字符串T的个数(T仅由小写字母组成) (若两字符串互相匹配, 则有两字符串的长度相等, 且对于任意的1≤i≤Sx.length,满足Sx[i]=T[i]或者Sx[i]=′?′1\...原创 2019-07-27 15:13:56 · 118 阅读 · 0 评论 -
DP(状压专题十四)
题意: 这题就是传说中的炮兵阵地 洛谷P2704, 题意很简单, 在一个m×n(1≤m≤100,1≤n≤10)m\times n( 1\leq m \leq100, 1\leq n\leq10)m×n(1≤m≤100,1≤n≤10)的矩阵里面放十字架, 要求十字架的中心不被覆盖, 矩阵为’P’的地方才可以放十字中心, 问最多能放多少个十字架 写在前面: 做了这么多状压dp, 我总结出状压dp的两种...原创 2019-07-26 16:58:39 · 109 阅读 · 0 评论 -
DP(状压专题十二)
题意: 有若干首曲子, 每首曲子具有三个性质, 名字NiN_iNi, 时长costicost_icosti, 还有截止时刻tit_iti,每首歌对答案的贡献是截止时刻减去播完该首曲子的时刻,现给定n首曲子, 演奏总时间, 最低胜利分数, 当且仅当, 播完n首曲子, 最终分数大于等于最低分 不输出 No answer, 其他情况输出最高分数和演奏顺序 >> face <<...原创 2019-07-22 20:20:15 · 112 阅读 · 0 评论 -
DP(状压专题五)
题意 : 给定一个矩阵, 求里面放若干个点不相交的方案数 >> face << Strategy:状压DP, i是一个表示二进制的十进制数,'1’是当前位置被选了 状态: dp[j][i]->在第j行, 状态为i的方案数 目标: ∑i=1i≤ndp[最后一行][i] \sum_{i = 1}^{ i \leq n} dp[最后一行][i] i=1∑i≤ndp[最后...原创 2019-07-19 04:19:54 · 143 阅读 · 0 评论 -
DP(状压专题六)
题意: 给出n个物品,体积为w[i],现把其分成若干组,要求每组总体积<=W,问最小分组。(n<=18) >> face << Strategy:状压DP, i是一个表示二进制的十进制数,'1’代表该物体被选上, 状态: dp[i], 代表状态i的最少方案数, q[i]代表装下状态i后还能装的容积 目标: dp[(1 << n) - 1] ->...原创 2019-07-19 14:27:33 · 96 阅读 · 0 评论 -
DP(状压专题Ⅶ)
题意: 给定一个数字串s和正整数d,统计有多少不同的排列能被d整除(可以有前导零) >> face << Strategy:状压DP, i是一个表示二进制的十进制数,'1’该位置对应的数被选上 状态: dp[i][k], 代表状态i, 被除余数为k的方案数; 目标: dp[(1 << n) - 1][0] -> 全选且被除为0 边界: dp[0][0] =...原创 2019-07-19 18:40:14 · 121 阅读 · 0 评论 -
DP(状压专题八)
题意 :在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。 >> face << Strategy:状压DP, i是一个表示二进制的十进制数,代表当前行的状态 状态: dp[i][r][k] - > r行状态为i且用了k个棋子的有效摆放方案 目标: ∑i=0i&...原创 2019-07-20 00:25:25 · 160 阅读 · 2 评论 -
DP(状压进阶一)
写在前面: 这篇题目很有难度, 是我觉得dp里面较难的类型, 先贴一波大佬的博客 我是传送门 题意 : 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭。学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴。当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负整数表示。 由于人手不够,食堂每次只能为一个人做菜。做每道菜所需的时间是和前一道菜有关的,若前一道菜的对应的口...原创 2019-07-24 23:02:15 · 131 阅读 · 0 评论 -
DP(状压专题九)
题意 : 有k≤16k \leq16k≤16枚硬币,每枚价值a[i]≤1e8a[i] \leq 1e8a[i]≤1e8,有m≤1e6m\leq1e6m≤1e6件物品, 每件物品cost[i]≤1e4cost[i]\leq1e4cost[i]≤1e4, 而且必须顺序买, 问在不找零的情况下自己最多能剩多少钱 >> face << Strategy:状压DP, i是一个表示二进...原创 2019-07-21 11:36:57 · 127 阅读 · 0 评论 -
DP(状压专题十)
题意 :N个偶像排成一列,他们来自M个不同的乐队。每个团队至少有一个偶像。现在要求重新安排队列,使来自同一乐队的偶像连续的站在一起。重新安排的办法是,让若干偶像出列(剩下的偶像不动),然后让出列的偶像一个个归队到原来的空位,归队的位置任意。请问最少让多少偶像出列? >> face << Strategy:状压DP, i是一个表示二进制的十进制数,'1’表示当前组已经分好了 ...原创 2019-07-21 20:38:30 · 104 阅读 · 0 评论 -
DP(状压专题四)
题意 :给定奶牛的数目, 给定一个熵, 在给定奶牛数组的的号码牌, 求最大无序组合的个数(无序指的是每两个奶牛的号码牌的差要大于给定的熵) >> face << Strategy:状压DP, i是一个表示二进制的十进制数,'1’是第i位的牛被选了 状态: dp[j][i]在状态i中, 以j结尾的奶牛的最大无序数 目标: ∑i=1i≤ndp[i][(1<&...原创 2019-07-18 21:20:48 · 112 阅读 · 0 评论 -
DP(状压专题十一)
题意: 有n头奶牛参加n项比赛 (1≤n≤20)(1\leq n\leq20)(1≤n≤20),每头牛i参加第j项比赛都能获得SijS_{ij}Sij的分数, 当然,每种牛仅且仅能参加一次比赛,而且比赛是按顺序进行的. 除了上述的得分,还有一种奖励机制, 具体来说第i项奖励会在第kik_iki项比赛结束的时候检查, 如果当前状态的分数大于等于PiP_iPi分, 奶牛们就能获得额外的AiA_i...原创 2019-07-22 14:52:14 · 147 阅读 · 0 评论 -
DP(状压专题十三)
题意: 这题就是传说中的炮兵阵地 洛谷P2704, 题意很简单, 在一个m×n(1≤m≤100,1≤n≤10)m\times n( 1\leq m \leq100, 1\leq n\leq10)m×n(1≤m≤100,1≤n≤10)的矩阵里面放十字架, 要求十字架的中心不被覆盖, 矩阵为’P’的地方才可以放十字中心, 问最多能放多少个十字架 >> face << Strat...原创 2019-07-23 16:28:12 · 559 阅读 · 0 评论