- 博客(3)
- 收藏
- 关注
原创 uva1407 树形分组背包
题目大意:一棵有根树,从根节点出发,移动距离不超过num,求最多能经历多少个点? 问题可以转化为“经历k个点最少移动多少距离”。 模型同hdu某次bestcoder第四题Cities。具体模型分析详见那题题解。 dp[u][k][0]:经过k个顶点不回到自身的最小移动距离 dp[u][k][1]:经过k个顶点回到自身的最小移动距离 dp[u][k][1]=min(dp[u][k]
2015-03-27 00:04:19 302
原创 uva1427 单调队列优化dp
每条东西走向路有(高兴值,时间)二维参量,要从最南边走到最北边,满足:1)每条道路仅走一次2)每行道路所经过的总时间不超过k,求最大高兴值的和3)不能从北向南走 状态:f[i][j]:到达第i行第j个顶点(从左起)最大高兴值。 最短/长路问题:状态常设为以某点为起点/终点的最优值 求数组f。到达(i,j)可以从左、右、下三个方向。设辅助数组L[i][j]从左边到达(i,j)的最大高兴值,R[
2015-03-26 00:01:23 376
原创 uva1437 String painter
给定两个长度相同的字符串s和t,每次将s的一个连续子串刷成相同字符,问至少需要多少步才能将s字符串刷成t字符串? 1.先考虑简化问题:s为空串的情况 设g[i][j]:从空串刷成t串需要的最少次数 方案一:t[i]!=t[j],不存在一次从头刷到尾的操作 g[i][j]=min(g[i][j],g[i][k]+g[k+1][j]),i 方案二:t[i]==t[j],存在一次从头刷到尾的操
2015-03-03 23:47:20 369
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人