#状压DP
文章平均质量分 75
ssllyr
锦瑟无端五十弦,一弦一柱思华年。
展开
-
【洛谷P1896】互不侵犯【状压DP】
状压原创 2023-08-12 08:24:05 · 74 阅读 · 0 评论 -
【gmoj7199】【7.19模拟赛】玉米田加强版【状压DP】
分析第一眼好像做过这道题,去洛谷看看原来是弱化版。。。这个卡了空间 要用滚动数组 还要卡常状压dp + 滚动数组 + 卡常是过不了的 ,还有最后三个点很狗但是加上数据编程——打表,就非常nice。正解: 轮廓线dp + 滚动数组 + 卡常假设dpdpdp到了点xxx 因为xxx的后面和下面都还没有更新那xxx的取舍取决于 它的左边和上边然后取出upupup和leftleftleft的状态 处理不合法的状态 再转移k为轮廓线的状态 方程:f[i][k]+=f[i-1][k]; /...原创 2021-07-20 16:02:35 · 82 阅读 · 0 评论 -
【gmoj1340】【7.17提高B组模拟赛T3】周长【状压DP】
分析其实第一眼看到这个数据范围的时候已经知道这道题正解是状压DP,然而当时并不会打。所以就打了个全排列暴搜还打挂了导致JZ第一次0分设f[i][j]f[i][j]f[i][j]表示状态为iii ,iii为0/1二进制数表示哪一位 没用过/用过 的状态,jjj表示现在最右的农田为第jjj个农田。枚举上一个状态iii,上一个状态最右的农田jjj,当前状态最右的农田kkk。令t=i∣(1<<(k−1))t=i∣(1<<(k−1))t=i∣(1<<(k−1))则有...原创 2021-07-18 21:44:43 · 79 阅读 · 0 评论 -
【洛谷P1879】[USACO06NOV]Corn Fields G【状压DP】
题目描述农场主John新买了一块长方形的新牧场,这块牧场被划分成M行N列(1 ≤ M ≤ 12; 1 ≤ N ≤ 12),每一格都是一块正方形的土地。John打算在牧场上的某几格里种上美味的草,供他的奶牛们享用。遗憾的是,有些土地相当贫瘠,不能用来种草。并且,奶牛们喜欢独占一块草地的感觉,于是John不会选择两块相邻的土地,也就是说,没有哪两块草地有公共边。John想知道,如果不考虑草地的总块数,那么,一共有多少种种植方案可供他选择?(当然,把新牧场完全荒废也是一种方案)输入格式第一行:两个整数M原创 2020-08-21 15:11:35 · 123 阅读 · 0 评论 -
【洛谷P1052】过河【状压DP】
题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,…,L(其中L是桥的长度)。坐标为0的点表示桥的起点,坐标为L的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是S到T之间的任意正整数(包括S,T)。当青蛙跳到或跳过坐标为L的点时,就算青蛙已经跳出了独木桥。题目给出独木桥的长度L,青蛙跳跃的距离范围S,T,桥原创 2020-08-21 08:07:04 · 445 阅读 · 1 评论 -
【洛谷P2622】关灯问题II【状压DP】
对于100%数据 n<=10,m<=100原题&样例分析看数据先,可以知道n很小,也就是很像状压DP的数据范围。所以用状压DP做法。然后搞清楚题目中的三种操作:如果a[i][j]为1,那么当这盏灯开了的时候,把它关上,否则不管;如果为-1的话,如果这盏灯是关的,那么把它打开,否则也不管;如果是0,无论这灯是否开,都不管。对于操作1和操作2,重点在于判断灯是否开着。所以要用到**&操作**按位与操作,1&0=0,1&1=1,0&0=0;两边.原创 2020-08-20 19:57:47 · 173 阅读 · 0 评论 -
【洛谷P1433】吃奶酪【状压DP】
题目描述房间里放着 n 块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在 (0,0) 点处。输入格式第一行有一个整数,表示奶酪的数量 n。第 2 到第 (n + 1) 行,每行两个实数,第 (i + 1) 行的实数分别表示第 i 块奶酪的横纵坐标 x_i, y_i输出格式输出一行一个实数,表示要跑的最少距离,保留 2 位小数。输入输出样例输入 #141 11 -1-1 1-1 -1输出 #17.41数据规模与约定对于全部的测试点,保证 n<=15原创 2020-08-20 15:42:51 · 193 阅读 · 0 评论 -
【洛谷P2704】【NOI2001】炮兵阵地【状压DP】
Description司令部的将军们打算在NM的网格地图上部署他们的炮兵部队。一个NM的地图由N行M列组成,地图的每一格可能是山地(用“H” 表示),也可能是平原(用“P”表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的网格表示它能够攻击到的区域:沿横向左右各两格,沿纵向上下各两格。图上其它白色网格均攻击不到。从图上可见炮兵的攻击范围不受地形的影响。原创 2020-08-20 10:51:24 · 148 阅读 · 0 评论 -
【ssl1382】车【状压DP】
Description在n*n(n≤20)的方格棋盘上放置n个车(可以攻击所在行、列),有些格子不能放,求使它们不能互相攻击的方案总数。Input第一行为棋盘的大小n第二行为障碍的数量m第三行到第m+3为m个障碍Output总数Sample Input421 12 2Sample Output14分析状压DP还是比较难理解的知识点,很难检查,做的心态有点崩。状态的表示是基于2进制的,用位运算去计算枚举和转移。p数组存的是2的n次方,二进制中的类似100…0的数。f数组就原创 2020-08-19 15:39:30 · 203 阅读 · 1 评论