![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
状压 DP
状压 DP
ハルカナソラヘ
果てなく続いて行く、
生きとし生けるものは。
抗うことの出来ない、
散り行く因縁抱いて。
記憶の隙間で ただ微笑む瞳が 儚く零れた、
運命さえ 光で照らして行く。
闇を離した この手を繋ぐ、
穢れなき宵 咲き誇るように。
夢から覚めた 昨日の声を、
ずっと聞かせて 独り歩いて行く。
展开
-
20200728 SCOI模拟T2(状压dp)
T2 P6622 [省选联考 2020 A/B 卷] 信号传递 思路: 发现对答案产生影响的实质是边的经过次数 cnti,jcnt_{i,j}cnti,j 令 iii 的位置为 posipos_iposi 则一条边 i,ji,ji,j 对答案的贡献为 {posj−posi(posi<posj)k(posi+posj)(posi>posj) \begin{cases} pos_j-pos_i(pos_i<pos_j)\\ k(pos_i+pos_j)(pos_i>pos_j) \e原创 2020-08-01 16:38:30 · 98 阅读 · 0 评论 -
20200617 SCOI模拟T1(状压dp)
T1 P4460 [CQOI2018]解锁屏幕 思路: 先看数据范围,想到状压 发现最后一个到达的点对 dp 有影响,于是记录一下 dp[i][j]dp[i][j]dp[i][j] 表示状态为 i,最后一个点为 j 的状态数 如果 j 到 k 点间的点全部走过,有转移方程 dp[i∣(1<<k)][k]+=dp[i][j] dp[i|(1<<k)][k]+=dp[i][j] dp[i∣(1<<k)][k]+=dp[i][j] i 较大的状态只能由较小的状态转移来,可以循环原创 2020-06-17 20:49:53 · 116 阅读 · 0 评论 -
20200612 SCOI模拟T2(状压dp+矩阵快速幂)
T2 P3977 [TJOI2015]棋盘 思路: 出题人不说那个模板是从零下标开始的…… (我求求他做个人吧 留意数据范围 发现对于一行的状态最多 64 种 于是考虑状压 可以暴力处理出一行有几种可行状态 以及可以向下转移的状态 有 dp 方程 f[i][j]f[i][j]f[i][j] 表示第 i 行状态为 j 时的方案总数 k 为可以转移到 j 的状态 f[i][j]=∑f[i−1][k] f[i][j]=\sum f[i-1][k] f[i][j]=∑f[i−1][k] 暴力转移会 TLE,考虑优化原创 2020-06-12 20:14:13 · 131 阅读 · 0 评论 -
20200515 练习:轮廓线dp
T1 P4363 [九省联考2018]一双木棋chess P4363 [九省联考2018]一双木棋chess 题目描述 菲菲和牛牛在一块 n 行 m 列的棋盘上下棋,菲菲执黑棋先手,牛牛执白棋后手。 棋局开始时,棋盘上没有任何棋子,两人轮流在格子上落子,直到填满棋盘时结束。 落子的规则是:一个格子可以落子当且仅当这个格子内没有棋子且这个格子的左侧及上方的所有格子内都有棋子。 棋盘的每个格子上,都写有两个非负整数,从上到下第 i 行中从左到右第 j 列的格 子上的两个整数记作 Ai,j、Bi,jA_{i,j}原创 2020-05-15 22:30:02 · 137 阅读 · 0 评论