摘要:
https://loj.ac/problem/2092 题解: 因为保证询问合法,所以可以把询问放到最后去询问 0操作可以视作对$[1,n]$的树都操作,但是在1操作时,因为没有$x$的树不换生长节点,所以要和对应0操作的区间取交。 设1操作的区间取交是[l,r],若从左往右考虑每个树,发现$tre 阅读全文
摘要:
https://loj.ac/problem/3220 题解: 两维独立。 因为每个区间都是取或者取补集,所以枚举一个一定选点,就知道每个区间怎么选了。 这是$O(n^2)$的。 发现从左往右枚举这个点,用线段树维护区间加减和最大值及数量就能做了。 时间复杂度:\(O(n~log~n)\) 然而有更 阅读全文
摘要:
http://codeforces.com/problemset/problem/223/E 题解: 本题做法: 因为是个连通图,可以神奇的转换: 1.有一汇点T,每个点有一个流量朝汇点流,可以发现每个点的出流-入流=1(自己多的1) 2.从汇点T开始dfs,随便保留一个生成树作为流量树,发现一条边 阅读全文
摘要:
Description: 题解: simpson积分,据说是用二次函数拟合,拟合圆这类图形有奇效。 即$g(x,y)=\int_x^y f(x)~dx≈(y-x)/6*(f(x)+4f((x+y)/2)+f(y))$ 自适应的话就是一直分治,直到$|g(a,b)-g(a,(a+b)/2)-g((a+ 阅读全文
摘要:
Description: https://gmoj.net/senior/#main/show/6676 题解: 考虑用第二类斯特林数把$i^k$搞掉: \(Ans=2^n*f(0)(这一项提出来好,后面不写了)+\sum_{k=1}^m f(k)*\sum_{i=0}^n\binom{n}{i}* 阅读全文
摘要:
页面定制 CSS 代码 /*添加按钮*/ .cnblogs-markdown pre { position: relative; } .cnblogs-markdown pre > span { position: absolute; top: 0; right: 0; border-radius: 阅读全文
摘要:
https://loj.ac/problem/3217 考虑已经确定了前i个,状态可以只记后面的$n-i$个点之间的$n-i+1$个间隔里的已选的数。 这个状态最大是$\sum_^n (n/k)^k$左右,可以发现不是很大。 注意要用多进制数去存状态,不然会被卡常。 Code: #include<b 阅读全文
摘要:
https://gmoj.net/senior/#main/show/5154 题解: 前置技能: 有根内向树方案=(出度矩阵-邻接矩阵)的删除第root行第root列后的行列式 发现就是对条边求经过它生成树方案。 考虑用总的-不经过它的,不经过它即在矩阵上把它删掉。 这样就$O(m*n^3)$了。 阅读全文
摘要:
http://codeforces.com/gym/102331/problem/H 题解: 首先,当$k$很小时,有一经典模拟费用流做法: 每次找到最大的子区间,加上它,并把它取反,可以用线段树维护。 但这题$k$和$n$同阶,需要思考其它的做法。 还可以凸优化dp,二分斜率k后用单调队列就可以$ 阅读全文
摘要:
http://codeforces.com/gym/102331/problem/E 题解: 考虑如何判断若干条边是否有环,pty说他在离散数学课上学过这个: 若有一条边$(x,y)$,则看作一个异或空间的向量,第x维和第y维是1,那么无环相当于向量是线性无关的。 发现这样就可以把边权也带上来。 然 阅读全文