摘要: 设f[i][j]为前i个划成j段的最小代价,枚举上个划分点转移。容易想到这个dp有决策单调性,感性证明一下比较显然。如果用单调栈维护决策就不太能快速的求出逆序对个数了,改为使用分治,移动端点时树状数组维护即可,类似莫队的每次都在原有基础上更新。注意更新时先加再减。感觉复杂度非常玄学丝毫不能看出为啥只 阅读全文
posted @ 2018-12-08 23:54 Gloid 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 线段树的任意一棵子树都相当于节点数与该子树相同的线段树。于是假装在树形dp即可,记忆化搜索实现,有效状态数是logn级别的。 阅读全文
posted @ 2018-12-08 21:17 Gloid 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 5在1e9+9下有二次剩余,那么fib的通项公式就有用了。 已知Fn,求n。注意到[(1+√5)/2]·[(1-√5)/2]=-1,于是换元,设t=[(1+√5)/2]n,原式变为√5·Fn=t-(-1)n·t-1。同乘t并移项,可得t2-√5·Fn·t-(-1)n=0。讨论n的奇偶性,BSGS求二 阅读全文
posted @ 2018-12-08 20:25 Gloid 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 方案合法相当于要求接口之间配对,黑白染色一波,考虑网络流。有一个很奇怪的限制是不能旋转直线型水管,考虑非直线型水管有什么特殊性,可以发现其接口都是连续的。那么对于旋转水管,可以看做是把顺/逆时针方向上最后的接口提到最前。于是用四个点表示某格子的四个方向,以上述方式只移动一次就能相互转换的方向之间连费 阅读全文
posted @ 2018-12-08 16:10 Gloid 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 这个题???我WA了两发??? 阅读全文
posted @ 2018-12-08 13:12 Gloid 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 特殊矩阵的幂同样满足费马小定理。 阅读全文
posted @ 2018-12-08 13:04 Gloid 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 每种父亲编号小于儿子编号的有标号二叉树的出现概率是相同的,问题相当于求所有n个点的此种树的所有结点两两距离之和。 设f[n]为答案,g[n]为所有此种树所有结点的深度之和,h[n]为此种树的个数。 枚举左右子树大小,则有f[n]=Σ{[f[i]+(g[i]+h[i]*i)·(n-i)]·h[n-i- 阅读全文
posted @ 2018-12-08 12:07 Gloid 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 明摆着的LCT,问题在于如何维护答案。首先注意到给出的泰勒展开式,并且所给函数求导非常方便,肯定要用上这玩意。容易想到展开好多次达到精度要求后忽略余项。因为x∈[0,1]而精度又与|x-x0|有关,当然是维护x=0.5时的各种东西,粗略算下大概到第13项就可以了。具体要维护的东西当然是对于x的不同次 阅读全文
posted @ 2018-12-08 01:03 Gloid 阅读(132) 评论(0) 推荐(0) 编辑