摘要:
题目大意: 给定一颗n个节点树,边权为1,树上有m个点被标记,问从树上一个点出发,经过所有被标记的点的最短路程,以及可行的最小的端点编号。(起终点自选) M<=N<=123456 思路: 随便定一个标记节点为根,然后以该节点开始遍历,将不是标记节点的叶节点剪掉,剩下的边数为P。求出树的直径L。答案即 阅读全文
摘要:
区间检测(range) Time Limit: 1S Memory Limit: 128M Description 给定一个长度为n的序列,进行m次检测,每次检测某个区间中,是否有重复的数。 Input 第一行,两个整数n和m,表示序列中元素的个数以及需要检测的次数。 第二行n个元素,表示序列中的元 阅读全文
摘要:
OJ题号:POJ2342、洛谷1352 思路:树形动规(递归实现),每次返回一个pair,分别记录包括本人的最大值和不包括本人的最大值,每次如果遇到conviviality rating为负的就忽略。 阅读全文
摘要:
OJ题号:洛谷1083 思路:ZKW线段树 阅读全文
摘要:
在线评测系统: 网络教程: 國立臺灣師範大學資訊工程學系演算法筆記 旧金山大学算法演示 VisuAlgo 书籍资料: 《算法导论》 《算法艺术与信息学竞赛》系列 《挑战程序设计竞赛》系列 阅读全文
摘要:
OJ题号:洛谷1005 思路: 动态规划。 不难发现每行能够取得的最大值仅与当前行的数据有关,因此本题可以对每行的数据分别DP,最后求和。 设$f_{i,j}$表示左边取$i$个、右边取$j$个的最大值,则DP方程为$f_{i,j}=max(f_{i-1,j}+a_{i-1}*2^{i+j},f_{ 阅读全文
摘要:
OJ题号:BZOJ4890、洛谷3761 思路: 总共有$n$个结点、$n-1$条边,说明整个图是一个无根树。 枚举每一条边$w$,并计算删除这条边以后的最大费用。 首先我自己定义了两个概念: 树的中心:树上的一点,保证从该点出发的最长简单路最短。 树的半径:从树的中心出发的最长简单路。 每次删边时 阅读全文
摘要:
OJ题号:BZOJ1217、洛谷2279 思路:贪心。 先O(n)递推记录各个结点的深度,然后从深度大的结点贪心,如果当前结点不安全,就在它爷爷地方开消防局,同时更新上下二代的安全信息。 阅读全文
摘要:
OJ题号:洛谷1801 思路:建立一个大根堆、一个小根堆。大根堆维护前i小的元素,小根堆维护当前剩下的元素。 阅读全文
摘要:
OJ题号:洛谷3370 思路:BKDR 阅读全文