分治
Junwinds
中国科学院大学
展开
-
[ZJOI2019]语言 【线段树合并】
LOJ3046 SOL 转换一下题意,对于每一个点我们维护可以到达的集合SSS,ans=∑∣Si∣ans=\sum{|S_i|}ans=∑∣Si∣。 然后每次区间覆盖相当于向一条链上的每个点的集合,集体覆盖上一些点。 有一个比较暴力的做法。 对于每一个点,我们用一颗动态开点的线段树维护可以到达的点集,当前点的贡献就线段树的总长。 对于每次操作,覆盖的点在一条链上,所以用树剖变成lognlogn...原创 2019-11-01 07:57:50 · 125 阅读 · 0 评论 -
【LOJ575】「LibreOJ NOI Round #2」不等关系 【容斥+分治NTT】
LOJ575 SOL 1,将原序列看成一段一段的连续的小于符号的区间(数字单增)。 2,不考虑大于符号,方案数为n!∏leni!{n!\over \prod len_i!}∏leni!n!; 3,加入大于符号的影响。 设f[i]:前i个元素的合法序列的方案数f[i]:前i个元素的合法序列的方案数f[i]:前i个元素的合法序列的方案数 从最近的一段单增区间枚举, 即枚举最近的大于符号的位置,...原创 2019-10-11 20:54:48 · 507 阅读 · 0 评论 -
BZOJ3730 震波 【动态点分治】
传送门 SOL 点分树模板 细节看注释吧 多写几遍应该就好了 CODE #include<bits/stdc++.h> using namespace std; #define sf scanf #define pf printf const int RLEN=1<<18|1; inline char gc(){ static char ibuf[RLEN],*...原创 2019-05-18 12:12:50 · 132 阅读 · 0 评论 -
[Poi2011]Meteors 【整体二分+树状数组】
传送门(内校oj) 题面: SOL 整体二分即可,二分第几波陨石 (各种写挂。。。以后不复制粘贴了) CODE 代码有点丑。。 #include<bits/stdc++.h> using namespace std; #define sf scanf #define pf printf #define ll long long const int N=3e5+10; struc...原创 2019-05-28 17:29:09 · 138 阅读 · 0 评论 -
P5331[SNOI2019]通信【费用流+优化建图】
题面 SOL 首先去确定用费用流求解。 对于每一个点的贡献,只和向谁连边有关,和后面的点无关。 所以把每个点拆成 入点,出点。 1.将S和入点连边,cap=1,w=0cap=1,w=0cap=1,w=0 2.入点和T连一边,cap=1,w=Wcap=1,w=Wcap=1,w=W 3.出点和T连边:cap=1,w=0cap=1,w=0cap=1,w=0 4.入点和前i−1i-1i−1个点的出点连...原创 2019-10-10 12:07:02 · 353 阅读 · 1 评论