摘要: 题意:01串,操作1:把l r区间的0变1,1变0;操作2:求出l r区间的子序列种数 思路:设DP[i][j]为到i为止以j结尾的种数,假设j为0,那么dp[i][0] = dp[i - 1][1] + dp[i -1][0] (0结尾新串) + dp[i - 1][0] (0结尾旧串) - dp 阅读全文
posted @ 2019-07-19 19:20 KirinSB 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 题意:求子序列种数 思路:dp[i]代表到i的所有种数,把当前i放到末尾,那么转移方程dp[i] = dp[i - 1] + dp[i -1],但是可能存在重复,比如1 2 3 2,在第2位置的时候出现12,但是在第4位置的时候,还是可能出现12,那么我们要减掉多出来的,就是减去dp[1]这里加2的 阅读全文
posted @ 2019-07-19 14:47 KirinSB 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 题意:给出每条边权值,可以更新每条边权值,询问两个点路径的最小权值 思路:重链剖分边权化点权,让每个儿子节点继承边权。 插点权的时候比较边的两个节点的深度,插进儿子节点中。 代码: 阅读全文
posted @ 2019-07-19 10:00 KirinSB 阅读(231) 评论(0) 推荐(0) 编辑