摘要: 因为鸟的数量很少,所以可以每只单独考虑,下面只考虑一只的情况。 设dp[i]表示飞到第i棵树的最小劳累值,容易想到以下转移方程: dp[i] = min(i-k≤j<i){dp[j]+[d[j]≤d[i]]}(这里的[⋅]是Iverson括号) 直接枚举转移时间复杂度为O(kn),考虑优化: 对于任 阅读全文
posted @ 2026-04-25 11:32 海因里奇 阅读(3) 评论(0) 推荐(0)
摘要: 记sum[i]表示前i个玩具的C之和+i的值,dp[i]表示前i个玩具压缩后的最小费用,容易想到以下转移方程: dp[i] = min(1≤j<i){dp[j]+(sum[i]-sum[j]-1-L)2} = min(1≤j<i){dp[j]+(sum[i]-sum[j]-(L+1))2} = mi 阅读全文
posted @ 2026-04-25 11:08 海因里奇 阅读(6) 评论(0) 推荐(0)
摘要: 设s[i]表示第i个字符,a[i][j]表示字符i是否可以删去字符j,mx[i]表示第i个字符后最大的可以连续删去的字符下标(即它后面的前mx[i]-i个字符均可以删去,且第mx[i]-i+1个字符无论如何无法删除)。 考虑一个贪心。对于每个字符,若它可以删去它后面的字符,且它自己也可以被删去,那么 阅读全文
posted @ 2026-04-18 11:40 海因里奇 阅读(4) 评论(0) 推荐(0)
摘要: 后缀数组:后缀数组sa表示字符串s的n个后缀的字典序排序sa [i]表示s排名为i的后缀是第几个(即该后缀在s中的起始位置)即s的所有后缀中排名为i的是第sa[i]个后缀如字符串“aba”sa[1] = 3(后缀a在aba中的第三位)sa[2] = 1(后缀aba在aba中的第一位)sa[3] = 阅读全文
posted @ 2025-08-04 11:23 海因里奇 阅读(14) 评论(1) 推荐(0)