摘要: 传送门 题意:给定一个 01 矩阵,每次可以交换两行或交换两列,要使最终每行每列都有一个 \(1\),是否可行? 如果 \(a_{i,j}=1\),则第 \(i\) 行和第 \(j\) 列连边。每行每列都有一个 \(1\),相当于匹配数为 \(n\)。 交换某行某列,对图的结构没有本质影响,所以对一 阅读全文
posted @ 2024-03-02 17:04 FLY_lai 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 传送门 平衡树优化神题,完全想不到平衡树能这么用! 一看这题散发着一股 DP 的清香。 \(dp[i][j]\) 表示前 \(i\) 个数且第 \(i\) 个数为 \(j\) 的最长上升子序列长度。但是转移方程不好优化,状态表示可以滚动数组压掉一维。 反方向考虑 DP:\(dp[i][j]\) 表示 阅读全文
posted @ 2024-03-02 16:57 FLY_lai 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 传送门 这玩意是 T2 ??? 观察到 \(k=2n-2\) 或 \(k=2n-1\),所以我们可以尝试让每个栈里面都保持两张牌。同时保留一个空栈,用来消栈底。 记这个保留的空栈为 \(sp\)。 策略 1: 如果当前牌堆顶的牌能消,必然消; 否则除了 \(sp\),如果存在一个没有填到两张牌的栈, 阅读全文
posted @ 2024-03-02 16:56 FLY_lai 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 参考(先看) 这个题解最后的式子写错了,看最后 (注意一下算层数要 n /= 2 !) 这里面关于 \(ans\) 的用法:为什么是 \(2\times ans^2+8\times ans+10\) 已经讲得很清楚了。 主要补充一下怎么求 \(ans\) 的部分。 如图,三个决策点的所在部分可以视作 阅读全文
posted @ 2024-03-02 16:54 FLY_lai 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 传送门 定义一个字符串 \(S\) 的缩字符串 \(S':\) 把 \(S\) 中所有连续的相同字符变成 \(1\) 个。 发现通过复制操作,若 \(A\) 能变成 \(B\),则 \(B'\) 一定是 \(A'\) 的子序列;反之,如果 \(B'\) 是 \(A'\) 的子序列,\(A\) 能复制 阅读全文
posted @ 2024-03-02 16:53 FLY_lai 阅读(23) 评论(0) 推荐(0) 编辑
摘要: T4 写出转移方程:\(f_i\) 表示前 \(i\) 天且第 \(i\) 天必须跑的最大能量值。\(g_i=\max\limits_{j=1}^i\{f_j\}\)。初值 \(f_0=g_0=0\)。 对于转移方程,考虑枚举最后一段跑的段是从哪里开始的:\(f_i=\displaystyle\ma 阅读全文
posted @ 2024-03-02 16:52 FLY_lai 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 传送门 题意:初始有 \(n\) 个 \(0\),给定一个序列 \(a\),每次可以选择一个长度为某个 \(a_i\) 的区间,将其全部取反。再给定一个序列 \(x\),要求最后的状态是只有 \(x\) 中的位置是 \(1\)。问最小步数/判断无解。 范围:\(n\le 10000,|a|=l\le 阅读全文
posted @ 2024-03-02 16:46 FLY_lai 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 传送门 有 \(n\) 种货币。找一个最小的金额 \(x\),使得贪心法付款不是最优解;如果贪心法始终都是最优解,输出 \(-1\)。\((n\le 400)\) 将货币集合记作一个 \(n\) 维向量 \(C=(c_1,c_2,\dots,c_n)\)。对于金额 \(x\) 的一个表示法,也记作一 阅读全文
posted @ 2024-03-02 16:44 FLY_lai 阅读(3) 评论(0) 推荐(0) 编辑