动态规划 —— 状压 DP
文章平均质量分 51
动态规划 —— 状压 DP
c4Lnn
这个作者很懒,什么都没留下…
展开
-
AtCoder Beginner Contest 195 F. Coprime Present
链接https://atcoder.jp/contests/abc195/tasks/abc195_f题意从 [a,b][a,b][a,b] (b−a≤72)(b-a\le 72)(b−a≤72)区间内找出不同的数构成一个升序序列,序列中任意两数都互质,求这样不同的序列有多少个。思路gcd(n,m)=gcd(n,n−m)≤n−m\gcd(n,m)=\gcd(n,n-m)\le n-mgcd(n,m)=gcd(n,n−m)≤n−m (n≤m)(n\le m)(n≤m)因为 b−a≤72b-a\原创 2021-03-22 20:21:29 · 367 阅读 · 0 评论 -
LibreOJ 10173.「一本通 5.4 练习 2」炮兵阵地
#include <bits/stdc++.h>#define SZ(x) (int)(x).size()#define ALL(x) (x).begin(),(x).end()#define PB push_back#define EB emplace_back#define MP make_pair#define FI first#define SE secondusing namespace std;typedef double DB;typedef long doub原创 2021-02-07 22:52:20 · 163 阅读 · 0 评论 -
牛客小白月赛 22 D. 收集纸片
链接https://ac.nowcoder.com/acm/contest/4462/D题意求从起点 sss 出发经过 nnn 个点后会到起点的最短距离思路状压DP设 dp[i][j]dp[i][j]dp[i][j] 为( iii 的二进制数某位为 111 则代表经过该点)并最终到达点 jjj 的最短距离转移方程:dp[i][j]=min(dp[i][j],dp[i−(1<<j)][k]+dist[j][k])dp[i][j]=min(dp[i][j],dp[i-(1<<原创 2020-07-29 23:26:56 · 157 阅读 · 0 评论 -
POJ 2411. Mondriaan‘s Dream
链接http://poj.org/problem?id=2411题意求把 n∗mn*mn∗m 的棋盘分割成若干个 1∗21*21∗2 的的长方形有多少种方案思路状压 DP对于每一行设某单位格是竖着的 1∗21*21∗2 的长方形的上半部分的状态为 111,其余状态为 000对于下一行,如果上行状态为 111 的单元格该行都为 000,即上行状态与该行状态按位与值为 000,则可以转移与上行按位或后,代表该行所有是竖着的长方形的下半部分的单位格匹配成功,那么剩下的 000 肯定是横着的长方形,原创 2020-07-28 23:25:22 · 77 阅读 · 0 评论