摘要:
bit+容斥原理 我不会cdq分治只能用这个做法 考虑什么情况下不满足,至少有一个顺序不对就不行了,那么不满足的总有两对属性形成逆序对,那么我们用总方案数*2=n*(n-1)减去不符合的*2再/2就是答案 似乎进rank前200了 #include<bits/stdc++.h> using name 阅读全文
摘要:
容斥原理+dp 首先考虑暴力做法,我们希望点和点一对一,那么自然要保存当前点集的状态,需要状压,据说要3^n,那么自然不行 考虑容斥原理,刚才一一对应的限制太强了,我们不要一一对应,只要满足边存在就行了,那么这样可以对于一个点集O(n^3)dp得出答案,这样自然是算重了,用容斥原理减去就行了。 #i 阅读全文
摘要:
线段树 先看前三个操作,都是区间修改,我们对于信息维护一个二元组(a,b),表示x=max(x+a,b),那么第一个操作就是(a,-inf),第二个是(-a,0),第三个是(-inf,a) 然后看查询,第一个就是维护所有信息,那么考虑合并标记,(a,b)=(max(a1+a2,-inf),max(m 阅读全文