" 传送门 " Description Solution " 广义容斥原理 " 首先对于要求一个恰好为$k$的答案,我们可以转化为不少于$k$的答案,然后容斥 怎么求不少于$k$的答案呢,我们通常是钦定几个条件必然满足,剩下的就是排列组合乘进去 因为显然会算重,所以要容斥 对于此题: 我们先对两个序 ...
分类:
其他好文 时间:
2019-04-13 23:48:18
阅读次数:
170
bzoj2194 快速傅立叶之二 链接 "bzoj" 思路 对我这种和式不强的人,直接转二维看。 发现对$C_k$贡献的数对(i,j),都是右斜对角线。 既然贡献是对角线,我们可以利用对角线的性质了。 不过右斜角线不太好,我们把每一行都reverse一下,换成左斜角线。 对角线上$i+j$相等,可以 ...
分类:
其他好文 时间:
2019-04-12 17:46:37
阅读次数:
116
Description 我曾在弦歌之中听过你,檀板声碎,半出折子戏。舞榭歌台被风吹去,岁月深处尚有余音一缕……Gty神(xian)犇(chong)从来不缺妹子……他来到了一棵妹子树下,发现每个妹子有一个美丽度……由于Gty很哲♂学,他只对美丽度大于某个值的妹子感兴趣。他想知道某个子树中美丽度大于k的 ...
分类:
其他好文 时间:
2019-04-12 10:29:32
阅读次数:
156
"传送门" ~~dp套dp的板子题~~ 对于我这种垃圾来说:神仙题 考虑到最长公共子序列的dp做法 $dp[i][j]=max{dp[i 1][j],dp[i][j 1],dp[i 1}[j 1]+(a[i]==b[i])$ 然后发现对于一种状态,我们只需要考虑当前这个字符填的是什么就好了 那么这个 ...
分类:
其他好文 时间:
2019-04-11 13:18:12
阅读次数:
99
"题意" 我们想到一个贪心,就是每次找到根路径前缀和最大的一个点,取走这条路径,同时把这条路径上的点权变成$0$ 正确性显然 进一步发现我们需要从树上选择$m$条链使得链的总和最大 于是我们考虑换上长链剖分,长儿子定义为往下走点权最大的儿子,每次把最长的路径取走就好了 来一个堆维护一下就好了 代码 ...
分类:
其他好文 时间:
2019-04-09 20:42:02
阅读次数:
128
Description “余”人国的国王想重新编制他的国家。他想把他的国家划分成若干个省,每个省都由他们王室联邦的一个成员来管理。他的国家有n个城市,编号为1..n。一些城市之间有道路相连,任意两个不同的城市之间有且仅有一条直接或间接的道路。为了防止管理太过分散,每个省至少要有B个城市,为了能有效的 ...
分类:
其他好文 时间:
2019-04-07 13:14:39
阅读次数:
129
像超级钢琴一样把五元组放进大根堆,每次取一个出来拆开,(d,l,r,p,v)表示右端点为d,左端点区间为(l,r),最大区间和值为v左端点在p上 关于怎么快速求区间和,用可持久化线段树维护(主席树?)每个点到他root的区间和,这样每次右端点右移就是上一个的线段树在(la[a[i]]+1,i)加上a ...
分类:
其他好文 时间:
2019-04-05 19:56:56
阅读次数:
128
"bzoj 4177 Mike的农场" 思维有些江化了,一上来就想费用流做法,但其实就是个最小割啊. 考虑先将所有的收益拿到,再减去不能拿的以及三元组 $(i,j,k)$ 产生的代价.即,先让 $ans=\sum a_i+b_i+\sum_{(S,a,b)} b$. 然后要让减去的最小,尝试构造一个 ...
分类:
其他好文 时间:
2019-04-05 18:18:09
阅读次数:
115
"bzoj 4176 Lucas的数论" 和约数个数和那题差不多.只不过那个题是多组询问,这题只询问一次,并且 $n$ 开到了 $10^9$. $$ \begin{align } \sum_{i=1}^N \sum_{j=1}^N f(ij)&= \sum_{i=1}^N \sum_{j=1}^N ...
分类:
其他好文 时间:
2019-04-05 18:07:24
阅读次数:
183
题面 "bzoj" "luogu" 所有事件按时间排序 按值划分下放 把每一个修改 改成一个删除一个插入 对于一个查询 直接查这个段区间有多少合法点 如果查询值大于等于目标值 进入左区间 如果一个查询无解 那么它要求第k大无解 k 路径长 用lca维护即可 cpp include include i ...
分类:
其他好文 时间:
2019-04-05 12:28:51
阅读次数:
149