摘要: 被锤爆了 被这个题搞得自闭了一上午,觉得自己没什么前途了 我又没有看出来这个题的一个非常重要的性质 我们填进去的数一定是单调不降的 首先如果填进去的数并不是单调不降的,那么填进去本身就会产生一些逆序对,感性理解好像是单调不降更优,这里还是严谨证明一下吧 考虑一下树状数组求逆序对的过程,显然就是求出每 阅读全文
posted @ 2019-01-01 19:45 asuldb 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 这是一道我好像没写过的最小割 这道题如果没有那$m$条限制,我们完全可以贪心来做 但是硬要用网络流怎么办 可以转化为最小割模型 我们将源点$S$表示为耕地$A$,汇点$T$表示为耕地$B$,对于一个点$i$,源点向$i$连一条容量为$a_i$的边,$i$向汇点连一条容量为$b_i$的边 这样的话为了 阅读全文
posted @ 2019-01-01 19:44 asuldb 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 可能我的状态比较鬼畜,应该没有人这么写 设$dp[i][j][k]$表示在第$i$行,放置油库的状态为$j$,实际上周围已经有油库或者本身有油库的状态为$k$的时候的最小花费 由于我们是按照行来$dp$的,所以这里的周围有油库只有三种可能 1. 上一行的这个位置有油库 1. 这个位置本身有油库 1. 阅读全文
posted @ 2019-01-01 19:44 asuldb 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 这是一道大水题 首先这里只需要统计奇回文串,所以连插入特殊字符都不需要 之后我们跑一边$Manacher$的板子 搞一个后缀和数组$pre[i]$,先把所有的回文半径对应过去,之后求后缀和 之后我们倒着统计就好了,每次$ans\times=i^{pre[i]}$ 没了 代码 cpp include 阅读全文
posted @ 2019-01-01 19:43 asuldb 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 发现好像都是化掉系数之后套上$ExCrt$的板子 这好像是一个真正的扩展扩展中国剩余定理 我们要处理的方程是这样的形式 \(c_ix\equiv b_i(mod\ a_i)\) 其中$c$用一个$std::multiset$处理就好了 好像不是普通$excrt$可以处理的形式啊 思考一下这个方程的本 阅读全文
posted @ 2019-01-01 19:43 asuldb 阅读(212) 评论(0) 推荐(0) 编辑
摘要: $CDQ$ 分治的神奇操作 这个问题跟偏序问题好像差的不小啊 但是就是可以转化过去 对于一个查询我们可以把它拆成四个,也就是用二维前缀和的方式来查询 我们发现其实前缀和的定义就是多少个点的横纵坐标都小于这个点 典型的偏序问题 于是直接上$cdq$了 代码 include include includ 阅读全文
posted @ 2019-01-01 19:42 asuldb 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 可能还是非常板子的$Manacher$ 还是先跑一遍$Manacher$处理出来所有的回文半径$r[i]$ 由于我们要找的答案是两个回文串拼了起来,所以我们考虑枚举中间这个拼接处 所以我们要找到每一个$i$,其左边能够到达$i$的和右边能到达$i$的最大的回文半径 显然并不能直接使用$i+r[i]$ 阅读全文
posted @ 2019-01-01 19:42 asuldb 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 这道题我们要求的是 $$\sum_{i=1}^N\sum_{j=1}^Mlcm(i,j)$$ 总所周知$lcm$的性质不如$gcd$优雅,但是唯一分解定理告诉我们$gcd(i,j)\times lcm(i,j)=i\times j$ 所以很容易的可以转化成这个柿子 $$\sum_{i=1}^N\su 阅读全文
posted @ 2019-01-01 19:41 asuldb 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 设 $$f(n)=\sum_{i=1}^N\sum_{j=1}^M[(i,j)=n]$$ 我们的答案显然是 $$ans=\sum_{p\in prime}f(p)$$ 设 $$F(n)=\sum_{i=1}^N\sum_{j=1}^M[n|(i,j)]$$ 即有多少个数对的最大公约数是$n$的倍数 阅读全文
posted @ 2019-01-01 19:41 asuldb 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 求 $$\sum_{i=1}^N\sum_{j=1}^M(i,j)^k$$ 多组询问,但是每次的$k$都是不变的 先是套路 $$f(n)=\sum_{i=1}^N\sum_{j=1}^M[(i,j)=n]$$ $$F(n)=\sum_{n|d}f(d)=\left \lfloor \frac{N}{ 阅读全文
posted @ 2019-01-01 19:40 asuldb 阅读(133) 评论(0) 推荐(0) 编辑