Processing math: 100%
摘要: 题目链接 题解 可以发现,字符串子序列并集的大小即为 f 函数,并集可以由交集容斥得出,因此考虑交集。对于字符串 sif(si)=zx=a(cnti,x+1),其中 cnti,x 表示字符 x阅读全文
posted @ 2022-03-18 09:01 violet_holmes 阅读(70) 评论(1) 推荐(0) 编辑
摘要: 题解 设dp状态dp[i][j]表示前i行黑色单元格间列数(含黑色)单调不降且第i行列数为j的方案数,也就是t行及以上部分的方案数。因为洞的左右位置不影响它的形态,所以只需记录列数而非左右端点。\(dp[i][j]=\sum\limits_{k=2}^mdp[i-1][k]\ti 阅读全文
posted @ 2021-10-11 18:06 violet_holmes 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 题解 设逆序对个数为cnt,如果只有Jeff进行游戏,只需执行cnt次操作(每次操作减少一个逆序对)。考虑Furik,他有12的概率增加一个逆序对,也就是增加2次操作;剩下的一半概率减少一个逆序对,也就是不增加操作数。所以他每次操作对期望的贡献是$2\times \ 阅读全文
posted @ 2021-09-28 16:13 violet_holmes 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 题目链接 简化题意 构造一个长度为 n×m 的合法括号序列。第 i 个位置上的左括号代价为 ai mod n,右括号代价为 bi mod n。求构造符合要求的括号序列的最小代价。 题解 首先,可以推出一个时间复杂度为 \(O(n^2m) 阅读全文
posted @ 2021-09-28 16:12 violet_holmes 阅读(50) 评论(1) 推荐(0) 编辑
摘要: 题解 分行考虑,每一行都被火山截断为若干个区间(由于n数据范围较大,只考虑有火山的行)。如果上一行不存在与当前区间有交集的区间,则将其删去,判断最后是否留有可行区间即可。 具体实现:将每行的区间放入一个集合之中,对于一个区间[l,r]\(\)l的区间和最后一 阅读全文
posted @ 2021-09-24 15:42 violet_holmes 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 题解 对于一对方向相反的牛,它们之间的顺序是无关紧要的,因为一定有一头会看到对方被挤奶,所以只需要考虑方向相同的牛。对于向左的牛,从右到左挤奶,反之亦然。 代码 #include<bits/stdc++.h> #define int long long using namespace std; co 阅读全文
posted @ 2021-09-24 15:41 violet_holmes 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 题解 易得,两条路径一定分别通过$(1,2)(n-1,m)(2,1)(n,m-1)(1,2)→(n-1,m)(2,1)→(n,m-1)(1,2)→(n,m-1)\ 阅读全文
posted @ 2021-09-24 15:00 violet_holmes 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 题解 因为一棵树的权值被根节点各子节点的子树平分,因此可以求出叶子节点i的权值对根节点的贡献,设其为1vai。也就是说,对于节点i1权值的比重是1vaiai,而目标就是将这些叶子节点单位权值的比重统一,并使其最小。因为随着 阅读全文
posted @ 2021-09-24 14:59 violet_holmes 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题解 下图横坐标为位置,纵坐标为时间。 如果将风看作月亮在移动而非云在移动,月亮可以到达黄色的区域。如果两朵云的相交处与黄色区域有交集则可以遮住月亮,易得仅需判断上端的顶点即可。设vi=1,vj=1,则云i,j相交处上端的顶点坐标为$(\frac{|x_j+l+x_i|}{2 阅读全文
posted @ 2021-08-17 14:20 violet_holmes 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题解 因为度数最少为k,所以与i连接且不选的边最多为degik条。将u集合中的点与源点、将v集合中的点与汇点连接容量为degikdegii号节点的度数)的边,保留原图中的边,容量为1。该图最大流未经过的边即为选择的边。不过暴力枚举k时间 阅读全文
posted @ 2021-08-17 14:16 violet_holmes 阅读(40) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示