上一页 1 ··· 60 61 62 63 64 65 66 67 68 ··· 74 下一页
摘要: 【题目链接】 点击打开链接 【算法】 这题描述有些繁琐,先简化一下题意 : 对于一棵无根树,删除一个节点,使得其余的联通块中,最大的联通块最小 那么,这题就很好做了 对这棵树进行一遍DFS,求出每个节点为根的子树的大小(记为size),再求出删除节点后,子树中最大的联通块的大小(记为mx) 那么,删 阅读全文
posted @ 2018-05-13 22:56 evenbao 阅读(112) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 我们知道,一棵树上离某个节点最远的节点,可能是经过它的祖先,再到那个祖先的某个孩子,或者,是它的那颗子树中,离它最远的一个节点,就不难想到以下算法 : 第一遍DFS,搜出每个节点的子树中离它距离最远的孩子的距离和所经过的儿子,离它次远的孩子的距离和所经过的儿子 阅读全文
posted @ 2018-05-13 22:47 evenbao 阅读(128) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 SPFA + SLF / LLL 优化 【代码】 阅读全文
posted @ 2018-05-13 12:12 evenbao 阅读(178) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 树链剖分 每个宗教建一棵线段树,注意数据量大,要动态开点 【代码】 阅读全文
posted @ 2018-05-12 11:04 evenbao 阅读(178) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 这题有一个性质 : 位于顶层的干草堆可以满足宽度最小且高度最高 根据这个性质,用单调队列优化DP,即可 【代码】 阅读全文
posted @ 2018-05-12 09:41 evenbao 阅读(196) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 令cost(i,j) = 第i天到第j天走相同的路线,路线长度的最小值 那么,只需筛选出第i天到第j天可以装卸货物的码头,然后将这些码头之间连边,跑弗洛伊德(或其它最短路算法),即可 然后,我们用f[i]表示前i天,总成本最小是多少,显然有 : f[i] = m 阅读全文
posted @ 2018-05-11 21:10 evenbao 阅读(169) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 只要第一行第一个数确定了,后面的数也都确定了 递推两遍即可 【代码】 阅读全文
posted @ 2018-05-11 18:53 evenbao 阅读(126) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 f[i][j]表示第i段到第j段,最少需要多少次全部消除 那么,当color[i] = color[j]时 : 若s[i] + s[j] > 2,根据题目中所说的“连锁反应”,很容易得到f[i][j] = f[i+1][j-1] 若s[i] + s[j] = 2 阅读全文
posted @ 2018-05-10 20:56 evenbao 阅读(222) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 先考虑50分的做法 : f[i]表示以i结尾的本质不同的上升子序列的个数 则f[i] = sigma(f[j]) (j < i,a[j] < a[i]),注意如果a[j]不止一个,只需加上下标最大的即可,否则会重复计数 那么,100分的做法,其实就是用树状数组来 阅读全文
posted @ 2018-05-10 20:50 evenbao 阅读(159) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 题目描述比较繁琐,但细心观察后,发现其实就是用kruskal算法求最小生成树 【代码】 阅读全文
posted @ 2018-05-09 19:57 evenbao 阅读(160) 评论(0) 推荐(0)
上一页 1 ··· 60 61 62 63 64 65 66 67 68 ··· 74 下一页