上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 32 下一页
摘要: 设按新安排的队伍顺序第 $i$ 个人左手数字为 $a_i$,右手数字为 $b_i$。 我们考虑什么时候交换第 $i$ 个人和第 $i+1$ 个人不会更优。 设前 $i-1$ 个人获得的金币的最大值为 $pre$,他们 $a_i$ 的乘积为 $s$。 由于交换第 $i$ 个人和第 $i+1$ 个人对后 阅读全文
posted @ 2022-10-29 11:05 ez_lcw 阅读(419) 评论(0) 推荐(2)
摘要: 首先 $m\geq n-1$ 一定有解: 若 $m\geq n$,那么 $\max d_i\geq k$,直接用 $\max d_i$ 一直做即可,接下来肯定是继续进入两种情况中的一种。 若 $m=n-1$,那么 $\min d_i+\max d_i\geq k$ 且 $\min d_i<k$,直接 阅读全文
posted @ 2022-10-29 11:05 ez_lcw 阅读(11) 评论(0) 推荐(0)
摘要: 题意: 给定一个字符串 $S$,$q$ 次询问 $T,l,r$,求 $T$ 和 $S[l,r]$ 的本质不同公共子串数目。 $|S|\leq 5\times 10^5$,$q\leq 10^5$,$\sum |T|\leq 10^6$。 题解: 首先看一个弱化版的问题:给出两个串 $S,T$,求 $ 阅读全文
posted @ 2022-10-29 11:05 ez_lcw 阅读(40) 评论(0) 推荐(1)
摘要: 这道题最后会化为这么一个问题:给一张图,每条边都有边权,多组询问,每次给出 $u,k$,问从 $u$ 开始走,只走边权 $\leq k$ 的边,请维护 $u$ 能走到的点的集合。 这就需要用到一种叫 kruskal 重构树的东东。 首先可以发现,若 $u$ 能走到 $v$,那么 $u$ 在最小生成树 阅读全文
posted @ 2022-10-29 11:05 ez_lcw 阅读(27) 评论(0) 推荐(0)
摘要: 首先可以考虑求出 $f_i$ 表示结尾在第 $i$ 位的 $AA$ 串的个数,$g_i$ 表示开头在第 $i$ 位的 $AA$ 串的个数。 枚举 $A$ 的长度 $L$,每 $L$ 位放置一个关键点,那么 $AA$ 必定经过恰好两个相邻的关键点。 枚举两个相邻关键点 $i$ 和 $i+L$ 并钦定 阅读全文
posted @ 2022-10-29 11:05 ez_lcw 阅读(36) 评论(0) 推荐(1)
摘要: 考虑树形 dp,设 $dp_i$ 为 $i$ 节点到 SZ 市的最小费用,$dis_i$ 为 SZ 市到 $i$ 节点的距离。 显然初始化 $dp_1=0$,然后 $dis_i$ 可以提前预处理出来。 然后有 $dp_u=\min(dp_v+(dis_u-dis_v)\times p_u+q_u)$ 阅读全文
posted @ 2022-10-29 11:05 ez_lcw 阅读(27) 评论(0) 推荐(1)
摘要: 令 $n=\log m$,记 $m$ 在二进制表示下为 $\overline{s_{n-1}\cdots s_1s_0}$。 首先可以归纳得到一个位置 $x$ 为 $\texttt{b}$ 当且仅当 $\operatorname{popc}(x)\equiv 1\pmod 2$,那么我们要统计的即为 阅读全文
posted @ 2022-10-29 11:05 ez_lcw 阅读(25) 评论(0) 推荐(2)
摘要: 操作1、3、4都是常规操作,我就不讲了。 然后我们考虑怎么处理区间除法。 首先容易想到对于一个数$x$,它除一次最少除$2$,那么它最多除$log_2(x)$次就会变成$0\ or\ 1$。 但是会有区间加法,所以这个东东不可以搞。 于是我们注意到一个性质: 如果: $$x-\lfloor\frac 阅读全文
posted @ 2022-10-29 11:05 ez_lcw 阅读(40) 评论(0) 推荐(7)
摘要: 搞不懂排列计数。 一种计数方法是考虑从小往大往当前排列中插入每个数,存在一次插的位置不同那么最后的结果也不同。 那么考虑插入 $i$ 时,对于 $x\in[0,i-1]$ 均有且仅有一种方法使得逆序对个数增加 $x$。 法一: 考虑 DP,设 $f_{i,j}$ 表示插入了 $i$ 个数,已经有 $ 阅读全文
posted @ 2022-10-29 11:05 ez_lcw 阅读(51) 评论(0) 推荐(3)
摘要: 我们先用优先队列的方式分别处理出只让所有衣服洗完的时间和只让所有衣服烘干的时间。 然后我们考虑怎么分配衣服。 最优情况肯定是让最慢洗完的衣服放进最快烘干的烘干机里面。 直接维护即可。 代码如下: #include<bits/stdc++.h> #define L 1000010 #define N 阅读全文
posted @ 2022-10-29 11:05 ez_lcw 阅读(28) 评论(0) 推荐(1)
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 32 下一页