摘要: http://www.lydsy.com/JudgeOnline/problem.php?id=3697 点分治 路径0改为路径-1 g[i][0/1] 和 f[i][0/1]分别表示当前子树 和 已经处理完的兄弟节点子树 中,路径前缀和为i,前面是否还有一个前缀和为i的点 合法的路径分为三类: 1 阅读全文
posted @ 2018-02-25 21:05 TRTTG 阅读(360) 评论(0) 推荐(0) 编辑
摘要: http://uoj.ac/problem/300 预备知识: C(n,m)是奇数的充要条件是 n&m==m 由卢卡斯定理可以推出 选出的任意相邻两个数a,b 的组合数计算C(a,b)必须是奇数 所以可以设dp[i][j] 表示前i个数里面,选的最后一个数是第j个数的方案数 转移的时候,枚举前i-1 阅读全文
posted @ 2018-02-25 13:54 TRTTG 阅读(233) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=5956 转移方程:dp[i]=(dis[i]-dis[j])*(dis[i]-dis[j])+P+dp[j] 斜率优化,可持久化单调队列维护 #include<cstdio> #include<cstring> # 阅读全文
posted @ 2018-02-25 09:42 TRTTG 阅读(312) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P3994 设dp[i] 表示第i个城市到根节点的最小花费 dp[i]=min{ (dis[i]-dis[j])*P[i]+Q[i]+dp[j] } 这是O(n^2)的 这个式子可以斜率优化 dp[i]+dis[j]*P[i 阅读全文
posted @ 2018-02-25 08:31 TRTTG 阅读(681) 评论(2) 推荐(2) 编辑