摘要: 题目链接 题解 可以发现,字符串子序列并集的大小即为 \(f\) 函数,并集可以由交集容斥得出,因此考虑交集。对于字符串 \(s_i\) ,\(f(s_i)=\sum\limits_{x='a'}^{'z'}(cnt_{i,x}+1)\),其中 \(cnt_{i,x}\) 表示字符 \(x\) 在 阅读全文
posted @ 2022-03-18 09:01 violet_holmes 阅读(69) 评论(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,他有$\frac{1}{2}$的概率增加一个逆序对,也就是增加$2$次操作;剩下的一半概率减少一个逆序对,也就是不增加操作数。所以他每次操作对期望的贡献是$2\times \ 阅读全文
posted @ 2021-09-28 16:13 violet_holmes 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 题目链接 简化题意 构造一个长度为 \(n\times m\) 的合法括号序列。第 \(i\) 个位置上的左括号代价为 \(a_{i\ mod\ n}\),右括号代价为 \(b_{i\ mod\ n}\)。求构造符合要求的括号序列的最小代价。 题解 首先,可以推出一个时间复杂度为 \(O(n^2m) 阅读全文
posted @ 2021-09-28 16:12 violet_holmes 阅读(50) 评论(1) 推荐(0) 编辑
摘要: 题解 分行考虑,每一行都被火山截断为若干个区间(由于$n$数据范围较大,只考虑有火山的行)。如果上一行不存在与当前区间有交集的区间,则将其删去,判断最后是否留有可行区间即可。 具体实现:将每行的区间放入一个集合之中,对于一个区间$[l,r]\(,二分上一行中第一个左端点\)\ge 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 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 题解 因为一棵树的权值被根节点各子节点的子树平分,因此可以求出叶子节点$i$的权值对根节点的贡献,设其为$\frac{1}{va_i}$。也就是说,对于节点$i$,$1$权值的比重是$\frac{1}{va_i \cdot a_i}$,而目标就是将这些叶子节点单位权值的比重统一,并使其最小。因为随着 阅读全文
posted @ 2021-09-24 14:59 violet_holmes 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题解 下图横坐标为位置,纵坐标为时间。 如果将风看作月亮在移动而非云在移动,月亮可以到达黄色的区域。如果两朵云的相交处与黄色区域有交集则可以遮住月亮,易得仅需判断上端的顶点即可。设$v_i=1,v_j=-1$,则云$i,j$相交处上端的顶点坐标为$(\frac{|x_j+l+x_i|}{2 阅读全文
posted @ 2021-08-17 14:20 violet_holmes 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题解 因为度数最少为$k$,所以与$i$连接且不选的边最多为$deg_i-k$条。将$u$集合中的点与源点、将$v$集合中的点与汇点连接容量为$deg_i-k$($deg_i$为$i$号节点的度数)的边,保留原图中的边,容量为$1$。该图最大流未经过的边即为选择的边。不过暴力枚举$k$时间 阅读全文
posted @ 2021-08-17 14:16 violet_holmes 阅读(40) 评论(0) 推荐(0) 编辑