随笔分类 -  数据结构——树结构

摘要:题目传送门 考虑一条边所做的贡献,为这条边两端的树节点的数目之差的绝对值,因此我们可以搜索,随便钦定一个点为根,然后记录一下每个点子树的大小,那么对于每条边所做的贡献,就是w[i]*abs((n-siz[v[i]])-siz[v[i]]),其中i为边的编号,abs为取绝对值,siz[x]表示x的子树 阅读全文
posted @ 2019-10-24 08:15 shao0320 阅读(141) 评论(0) 推荐(0) 编辑
摘要:题意简述:给定一颗N个点边带权的树,再给定M条链,问将树上的某条边权值改为0后,这些链中最长的至少有多长。 由于答案显然具有单调性,因此可以考虑二分答案。 二分答案后就变成了这样一个问题:将一条边的边权变为0后,是否可以让所有m条路径中每条的权值都小于mid; 这个问题乍一看还是没啥思路 阅读全文
posted @ 2019-09-28 20:43 shao0320 阅读(203) 评论(0) 推荐(0) 编辑
摘要:题目传送门 评分:省选/NOI-,难度:普及+/提高 这题真的和RMQ没有半点关系,只需要一个裸的线段树,连pushdown都不需要,只需要两种操作:区间修改和区间求最小值,在回溯时加上标记即可,唯一有点思维含量的是对环的处理,如果左端点大于了右端点,就维护(l,n)(1,r),否则正常维护即可,不 阅读全文
posted @ 2019-06-22 13:49 shao0320 阅读(304) 评论(0) 推荐(0) 编辑
摘要:一、前言 对于维护区间连续和问题,我们已经学了很多种算法和数据结构,在规定n<=100000,m(操作数)<=200000,内,暴力算法可以解决单点修改,单点求值。前缀和算法可以解决区间求和问题,而最近学的树状数组可以解决单点修改,区间求和的问题。而当我们需要区间修改时,上边的三种算法都将失效,我们 阅读全文
posted @ 2019-06-17 20:54 shao0320 阅读(382) 评论(1) 推荐(1) 编辑
摘要:题目描述 无向连通图G有n个点,n-1 条边。点从1到n依次编号,编号为i的点的权值为W_i ,每条边的长度均为 1。图上两点(u,v) 的距离定义为 u 点到 v 点的最短距离。对于图 G 上的点对 (u,v),若它们的距离为 2,则它们之间会产生Wv*Wu的联合权值。 请问图 G上所有可产生联合 阅读全文
posted @ 2019-05-20 19:55 shao0320 阅读(233) 评论(0) 推荐(0) 编辑

****************************************** 页脚Html代码 ******************************************
点击右上角即可分享
微信分享提示