摘要: 拿石子合并这题为例 设mid[i][j]是dp[i][j]的最优解的断点,即它左区间的右端点,那么mid[i][j-1]<=mid[i][j]<=mid[i+1][j],所以在求解dp[i][j]时,枚举k可以只枚举这两个值之间枚举就好, 程序要先枚举区间长度,在枚举左端点,枚举每个区间长度时,他们 阅读全文
posted @ 2017-07-17 22:00 zzzzx 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 树的直径 进行两边bfs 思路 两边 第一遍bfs求出的一定是树的直径的一个端点(终点v), 那么再从这个点(v)bfs找到的最远点就是直径的最远端点 代码以后补 阅读全文
posted @ 2017-07-17 21:24 zzzzx 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。 试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分. 输入输出格式 输入格式: 数据的第1行试正整数N,1≤N≤100,表示有N 阅读全文
posted @ 2017-07-17 21:10 zzzzx 阅读(229) 评论(0) 推荐(0) 编辑
摘要: n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏。按照顺时针方向给 n 个位置编号,从 0 到 n-1。最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置,……,依此类 推。 游戏规则如下:每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴走到第  阅读全文
posted @ 2017-07-17 19:17 zzzzx 阅读(226) 评论(0) 推荐(0) 编辑
摘要: Balancing Act Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14066 Accepted: 5937 Description Consider a tree T with N (1 <= N <= 20,000) 阅读全文
posted @ 2017-07-17 19:12 zzzzx 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 最长上升子序列 n^2做法,和简单用前一个更新,不说了; nlogn算法: 以下转自博客 D_Double's Journe D_Double's Journe D_Double's Journe D_Double's Journe 此外,我们用一个变量Len来记录现在最长算到多少了 首先,把d[1 阅读全文
posted @ 2017-07-17 13:28 zzzzx 阅读(200) 评论(0) 推荐(0) 编辑