状压dp
状压dp
SSL_LKJ
蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名 蒟蒻一名
展开
-
种植方案(状压dp)
状压dp原创 2021-12-11 08:53:44 · 351 阅读 · 0 评论 -
最短路径(状压dp)
最短路径输入样例50 2 4 5 12 0 6 5 34 6 0 8 35 5 8 0 51 3 3 5 0输出样例18解题思路状压dp转移方程设fi,jf_{i,j}fi,j为处理到第i个结点,所有结点的状态为jfi,j=min(fk,j xor (1<<i)+ai,k) f_{i,j}=min(f_{k,j~xor~(1<<i)}+a_{i,k}) fi,j=min(fk,j xor (1<<原创 2021-12-17 20:13:34 · 308 阅读 · 0 评论 -
2021.8.17【提高B组模拟8】T2 + P7296 [USACO21JAN] Uddered but not Herd(状压dp)(离散化)
SSL集训原创 2021-08-18 21:10:25 · 240 阅读 · 0 评论 -
2021.8.11【提高B组模拟3】T1 积木(乱糊暴搜)(正解:状压dp)
SSL集训原创 2021-08-11 15:13:00 · 136 阅读 · 0 评论 -
P1879 [USACO06NOV]Corn Fields G(状压dp)
[USACO06NOV]Corn Fields G题目传送门解题思路这题就用一个f[i][s[j]]表示在当前第 i 行的状态为 s[i]f[i][s[j]]+=f[i−1][s[w]] f[i][s[j]]+=f[i−1][s[w]] f[i][s[j]]+=f[i−1][s[w]]注:要取模AC代码#include<iostream>#include<cstdio>using namespace std;long long n,m,x,t,answer,原创 2020-08-21 08:54:58 · 121 阅读 · 0 评论 -
P1433 吃奶酪(状压dp)
吃奶酪题目传送门解题思路我们可以设一个f[i][j]i表示,当前在i点,j表示一个二进制,其中0表示没走过,1表示走过f[j][i]=min(f[j][i],double(1.0∗f[k][i−(1<<j−1)])+double(1.0∗dis(j,k)));//状态转移f[j][i]=min(f[j][i],double(1.0*f[k][i-(1<<j-1)])+double(1.0*dis(j,k)));//状态转移f[j][i]=min(f[j][i],double原创 2020-08-20 10:45:40 · 119 阅读 · 1 评论 -
P2704 [NOI2001]炮兵阵地(状压dp)
炮兵阵地题目传送门Description司令部的将军们打算在NM的网格地图上部署他们的炮兵部队。一个NM的地图由N行M列组成,地图的每一格可能是山地(用“H” 表示),也可能是平原(用“P”表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的网格表示它能够攻击到的区域:沿横向左右各两格,沿纵向上下各两格。图上其它白色网格均攻击不到。从图上可见炮兵的攻原创 2020-08-20 08:46:14 · 293 阅读 · 1 评论 -
车II(状压dp)
车IIDescription有一个nm的棋盘(n、m≤80,nm≤80)要在棋盘上放k(k≤20)个棋子,使得任意两个棋子不相邻。求合法的方案总数。Inputn,m,kOutput方案总数Sample Input3 3 2Sample Output24解题思路这题就是状压dp先枚举出所有状态**(dfs)**void dfs(int s,int ss,int sss)//dfs枚举状态{ if(ss>n) { a[++o]=s; b[o]=sss; ret原创 2020-08-19 16:45:42 · 1794 阅读 · 1 评论 -
车(状压dp)
车Description在n*n(n≤20)的方格棋盘上放置n个车(可以攻击所在行、列),有些格子不能放,求使它们不能互相攻击的方案总数。Input第一行为棋盘的大小n第二行为障碍的数量m第三行到第m+3为m个障碍Output总数Sample Input421 12 2Sample Output14解题思路我们可以设f[i][j]为当前第i,j这个位置答案方案数,优化就是状压DP状压DP就是降维,把其中一维用二进制表示,转换为十进制存到数组里我们用a数组表示这一行障碍的原创 2020-08-19 11:12:41 · 512 阅读 · 1 评论