状压
SSL_MYD
这个作者很懒,什么都没留下…
展开
-
洛谷P2258子矩阵
洛谷P2258子矩阵 Title 思路 暴力选r行 DP计算出分值 设f[i][j]为选i*j的子矩阵的最小分值 f[0][0]=0 f[i][j]=min(f[i][j],f[i-1][k]+y[j]+x[k][j]); 1<=i<=c,i<=j<=m,0<=k<j y为一行内的分值 x为两列间的分值 CODE #include<iostream> #include<cstdio> #include<cmath> #include&l原创 2021-05-04 16:05:21 · 106 阅读 · 0 评论 -
洛谷P1052 过河
洛谷P1052 过河 Title 思路 缩短距离 超过90就当90算 设f[i]为到i的值 f[0]=0 f[i+j]=min(f[i+j],f[i]+i是否有石子) 1<=i<=n+t s<=j<=t 代码 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; long long a[210],b[2原创 2021-05-04 12:08:44 · 119 阅读 · 0 评论 -
洛谷P1433吃奶酪
洛谷P1433吃奶酪 Title 思路 先预处理dis 设f[i][j]为i点状态j的距离 f[i][2i-1]=dis[0][i] f[j][i]=min(f[j][i],f[k][i-2j-1]+dis[k][j]) 1<=j,k<=n ans=min(f[i][2n-1]) 代码 #include<iostream> #include<cstdio> #include<cmath> #include<cstring> using namesp原创 2021-05-04 09:39:27 · 48 阅读 · 0 评论 -
洛谷P1879Corn Fields G
洛谷P1879Corn Fields G Title 思路 s[i]为一行合法方案 设f[i][j]第i行状态为j的方案数 f[0][0]=1; f[i][j]=∑\sum∑f[i-1][k] s[j]&s[k]==0 不在贫瘠土地上 0<=j,k<状态总数 1<=i<=n 代码 #include<iostream> #include<cstdio> using namespace std; long long n,m,tot=0,s[1048576原创 2021-05-04 07:55:34 · 114 阅读 · 0 评论 -
洛谷P2622 关灯问题2
洛谷P2622 关灯问题2 Title 思路 设f[i]为状态为i时的最少步数 f[i转移]=min(f[i转移],f[i]+1) f[2n-1]=0; ans=f[0] 代码 #include<iostream> #include<cstdio> #include<cstring> using namespace std; int a[110][110],f[2050]; int main() { ios::sync_with_stdio(false); int原创 2021-05-04 07:30:22 · 98 阅读 · 0 评论 -
【SSL】1384&【POJ】1185炮兵阵地
【SSL】1384&【POJ】1185炮兵阵地 Time Limit:1000MS Memory Limit:65536K Description 司令部的将军们打算在NM的网格地图上部署他们的炮兵部队。一个NM的地图由N行M列组成,地图的每一格可能是山地(用“H” 表示),也可能是平原(用“P”表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示: 如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑原创 2021-05-03 21:36:37 · 93 阅读 · 1 评论 -
【SSL】1383车II
【SSL】1383车II Time Limit:1000MS Memory Limit:65536K Description 有一个nm的棋盘(n、m≤80,nm≤80)要在棋盘上放k(k≤20)个棋子,使得任意两个棋子不相邻。求合法的方案总数。 Input n,m,k Output 方案总数 Sample Input 3 3 2 Sample Output 24 思路 代码 ...原创 2021-05-03 20:20:39 · 135 阅读 · 0 评论 -
【SSL】1382车(状压)
【SSL】1382车(状压) Time Limit:1000MS Memory Limit:65536K Description 在n*n(n≤20)的方格棋盘上放置n个车(可以攻击所在行、列),有些格子不能放,求使它们不能互相攻击的方案总数。 Input 第一行为棋盘的大小n 第二行为障碍的数量m 第三行到第m+3为m个障碍 Output 总数 Sample Input 4 2 1 1 2 2 Sample Output 14 思路 用一个二进制数表示一行状态 f[i]=f[i-某一位1]+……+f原创 2021-04-29 16:52:42 · 80 阅读 · 0 评论