摘要: 原题链接 题意: 现在有n个人,s个位置和你可以划分长k个区域你可以把s个位置划分成k个区域,这样每个人坐下你的代价是该区域内,在你之前比你小的人的数量问你怎么划分这s个位置(当然,每个区域必须是连续的),才能使得总代价最小,输出代价。 分析:dp[i][j]表示第i个位置是第j个区域的结尾,dp[ 阅读全文
posted @ 2017-08-01 22:47 litos 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 原题链接 参考自 问题描述:一个长度为3*n的01串,每次可以翻转连续的两个字符,要求至多翻转n次使得这个3*n的串至少有2*n个连续的段且相邻两端不一样(就是连续的0算一段,然后连续的1,…) 解法:每三个一组,只要能把每组分成两段而且和前面的不连着最后段数一定不小于2*n,例如前一个是1(0同理 阅读全文
posted @ 2017-08-01 10:23 litos 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 原题链接 题意:俄罗斯套娃,给出一个初始状态和终止状态,问至少需要多少步操作才能实现状态转化 贪心做法如果完全拆掉再重装,答案是p[i]和q[i]中不为0的值的个数。现在要求寻找最小步数,显然要减去一些多余的步数。如果初始的一些链的前端是终止的某一条链的连续的一部分,那么这条链就不用被拆开再连上,这 阅读全文
posted @ 2017-08-01 00:22 litos 阅读(453) 评论(0) 推荐(0) 编辑