![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
ACM
文章平均质量分 63
1
UpMing!
人菜瘾大的Acmer,已退役。
展开
-
GYM-102920-L. Two Buildings(决策单调性+分治)
题目链接题目大意:求一段序列的 (h[i]+h[j])*(j-i) 的最大值step1: 转化一下题意(h[i]+h[j])(j-i) = ( h[j] - (-h[i]) )(j-i)令a[i] = -h[i] ,b[i] = h[i]然后全部转化为两种坐标 (i,a[i]) (i,b[i])这样题目就转化成了在一个坐标系中 求最大矩形的面积(选出左上角和右下角的点)step2: 去除一些多余的点对于一个固定的(i,a[i])坐标,要想矩形面积最大,肯定是越往左上越好对于原创 2021-09-06 13:18:12 · 334 阅读 · 15 评论 -
2021-8-24-upc训练赛 C-最大公约数(单调栈+gcd特性/分治)
好久没更新了题目大意:求这个式子之前写过一个多次询问,每次询问是求区间内所有子区间的gcd的和(HDU5381)是利用gcd的特性然后莫队维护的GCD的特性: 一段区间内的gcd的数值不会出现超过log种,而且相等的都挨着因为遇到一个数要么不变,要么至少减少一半知道了这个性质之后再来看看这个式子我们可以枚举每个a[i]作为最大值的贡献,也就是说a[i]作为区间最大值控制的区间是[L,R]的话求区间[L,R]对答案的贡献假设当前最大值的位置为pos,作为最大值控制的左右区间为[L,R]如原创 2021-08-25 21:36:30 · 325 阅读 · 6 评论 -
2021牛客寒假训练营5D石子游戏(差分)
这个题无解的情况后台数据高达80%,一开始过了10%以为写假了光巨昨晚讲的太好了,今天上线写一下题目大意:给你n堆石子和一个区间k,每次对一个长度一定为k的区间里的所有数字加一,问最少操作次数使得所有的数都相等思路:对于一个区间的加减操作,我们很容易想到差分数组我们直接考虑最终状态最终状态的差分数组W 0 0 0 0 0 0 此时w就是我们都变成的那个数字那么考虑初始状态w1 w2 w3 w4 w5 (可能为负)我们差分数组操作的时候,如果对[x,y]区间加一的话只需要b[原创 2021-03-15 12:53:39 · 2140 阅读 · 14 评论 -
NOIP2007 提高组] 树网的核 -(N^3,NlogN与ON三种解法)
AC不是我们的终极目标,我们的终极目标是获得经验。题目大意:一颗树,告诉你一个值的求法,让你在树的直径上选择一段路径使得这值最小题目中的“值”:在直径上选择一段路程F,这个值就是所有点到达F的最大值首先介绍O(N^3)的解法:适用于非加强版,数据范围N<=300看到N<=300,我过去就是个flody嗷,什么dfs,树形dp求树的直径,lj三层for之后我们在任意两点之间选择最长的,并记录端点值这时候树的直径和直径的两个端点就知道了然后我们要在树的直径上选择一段路程F。.原创 2021-03-15 00:43:42 · 1481 阅读 · 11 评论 -
图论进阶指南-银河(差分约束/DAG/tarjan)
测评地址题目大意:第一行给出两个整数N和M。之后M行,每行三个整数T,A,B,表示一对恒星(A,B)之间的亮度关系。恒星的编号从1开始。如果T=1,说明A和B亮度相等。如果T=2,说明A的亮度小于B的亮度。如果T=3,说明A的亮度不小于B的亮度。如果T=4,说明A的亮度大于B的亮度。如果T=5,说明A的亮度不大于B的亮度。就是告诉你点之间的关系,给每个点确定边权使总和最小最小最小最小在差分约束系统中有两种表达式1x[j] >= x[i] + K 在松弛后所有的点都满足以上条件原创 2021-03-10 15:18:03 · 294 阅读 · 5 评论 -
abc190E - Magical Ornament(bfs-状压dp)
题目大意:给你n个点m条边然后给出一组点集s询问最短的点集v包含s的所有的点且v的相邻的点可以到达题目思路:可以看到k的值比较小前几天在oj刚写过一个类似的k<=5k<=5的时候只需要暴力枚举五个点的顺序然后处理两两相邻的最短路即可这里K<=17第一步肯定都是 处理这个k个点的单源最短路时间复杂度O(kn)做题训练赛边权为1的图写了个堆优化被学长发现了,所以这次直接就bfs上了 ,不过这个题我看学长代码的时候,他写的堆优化(逃)处理完单源最短路后这里k&l原创 2021-02-02 21:31:33 · 251 阅读 · 5 评论 -
LDUOJ- 1.27 -F. 膜方俱乐部(tarjan缩点/dp/DAG)
题目描述:第一行为一个正整数 N。第二行有N个非负整数A[i],表示了每个分部的orzFang价值。第三行有N个正整数F[i],表示通过第i个分部的虫洞所到达的分部为 F[i],可能出现 F[i]=i的情况。求:从第 i 个分部出发,orzFang 价值之和的最大值为多少。题目思路:对于每个点 都有一个目标点,所以是一个有环的有向图可以先缩点void tarjan(int u) { low[u] = dfn[u] = ++indexx; vis[u] =1,sta[++top] = u原创 2021-01-27 18:28:37 · 213 阅读 · 4 评论 -
LDUOJ - 1.25训练赛 -D. 成为王的痛苦 (前缀最大值优化dp)
图解@光巨Description“拔出石中剑,你便是王”。“拔剑之前,你最好先想一想。因为一旦拔起剑,你将不再是人类,你会被所有人类憎恶,你将最终迎来悲剧的死亡。”魔术师梅林如是说。然而名为Arturia Pendragone的少女还是拔起了剑,成为了英格兰之王。一天,王发现她拔出的石中剑上有N个凹槽,经过多年征战,她一共收集了M块宝石,并且N≥M。将每块宝石放到每一个凹槽中都会使石中剑具有一定的美丽值(可能为负数)。若1≤i<j≤M,则编号为i的宝石所在的凹槽的编号一定要小于编号为j原创 2021-01-26 23:28:09 · 1116 阅读 · 7 评论 -
abc188E- Peddler(DAG)
题目大意:n个点,m条边在n个点有一个物品买入和卖出的价值m条边中保证x<y(连接的两个点)问 对一个物品买卖一次的最大利润是多少Solution 1:因为边中保证了x<y,所以可以看出有向无环图mi[]定义为到达i点之前(不包括i点)的最小出买卖值那么如果在i点进行交易的话,得到的利润为 val[i] - mi[i]只需要枚举每个点 更新答案然后用每个点的边集再更新一边 mi数组复杂度O(N+M)Solution 2:如果题目的边中不保证x<y,是一个普通的有原创 2021-01-11 19:38:40 · 1984 阅读 · 6 评论 -
abc187 --E - Through Path(树上差分)/ 树链剖分+线段树
题目描述:给你一棵树每个点的初始权值为0N-1条边,每条边连接a[i] - b[i]然后给你q个操作(两种)以a[i]为起点遍历所有的点且路径上不能经过b[i],路径上的所有点加w以b[i]为起点遍历所有的点且路径上不能经过a[i],路径上的所有点加w题目思路:两种操作实质是一样的就是 起点不同如果起点为u ,不能经过的点为v如果dep[u] < dep[v] 就是把除了v的子树外的所有点加w如果dep[u] >dep[v] 就是只把u的子树加w具体操作:先原创 2021-01-03 20:00:01 · 364 阅读 · 4 评论 -
山路 (ghat)--(最短路-最小生成树//超级原点)
题目描述会和神奈子一起改变地形,开凿地下洞穴等。虽说是一起,不过看起来改变土地是诹访子的工作。与其说她是直接将大地整平,不如说这是她麾下的崇神的功劳。——「求闻口授」山路交错相同,令人烦躁。于是诹访子想要将山路重新规划,具体的说,山路可以看成 n 个点,m 条边的无向图。她会在这幅图上的基础之上添加一些边,具体的说,她会给每个点设一个权值ai ,然后将点两两之间连边,假如连了一条边为(i,j) ,那么这条边的长度为|ai + k × aj| ,其中 k=1 或 -1。几千年过去之后,已经没什么人原创 2020-11-29 13:20:13 · 599 阅读 · 0 评论 -
upc/洛谷p1875--佳佳的魔法药水(最短路+图论模型转化)
题目大意:给你n瓶药水,每个药水有一个权值p[i],你得到新的药水有两种方式1.直接购买药水C2.通过两个药水的合成 比如A+B=C求得到药水0的最小花费和方案数题解:这个题求方案数可以想到类似最短路计数,那就需要把它转化成一个图的模型如果dist[i]代表合成药水i的最低花费,那么如何更新dist[j]的最低花费传统最短路都是从一个已经确定最短路的点出发,u->v 用u去更新v,这个题是两种药水合成一种药水那么就从两个已经确定最短路的点出发 ,假如A+B合成C就用dist[c]原创 2020-11-15 11:56:04 · 429 阅读 · 0 评论 -
Codeforces Gym 102501 K. Birdwatching(bfs)
**问题链接****题目大意:**给你n个点,m条有向边和一个终止点st,问你对于任意一点u,u到st点距离为1且u到st点路径只有一条,那么这个点u符合条件,求出所有满足条件的点u思路在图中,多起点单一终点的情况下,一般采用反向建图1.求出可能满足条件的所有点(距离st点的距离为1)先把满足条件1的点存起来2. 在满足条件1的前提下,集合中的点 要满足 到st的路径有且只有一条设满足条件1的集合为s反向建图后,问题转化为 从st点为起点到与他距离为1的点的路径只有一条先从集原创 2020-11-03 21:06:59 · 275 阅读 · 1 评论 -
问题 D: 约会-UPC三十场(前缀和)
题目描述从前,小兔发现了一个神秘的花园。花园是一个 n 行 m 列的矩阵,第 i 行 j 列的花的美丽度为 ai,j,一个合法的约会场所为任意一个正方形子矩阵,定义子矩阵的浪漫度为这个子矩阵的两条对角线上的花的美丽度之和。现在小兔想选一个面积大等于 1 的约会场所使得场所的浪漫度最大,以便和小鹿约会,因为小兔忙着 AKIOI ,所以她把这个问题交给了你。输入第一行,两个正整数 n,m。接下来是一个 n 行 m 列的矩阵,表示各个位置上花的美丽度。输出仅一行,一个正整数,表示最大的浪漫度。样原创 2020-05-29 12:45:18 · 1585 阅读 · 3 评论 -
UPC-2020春季个人训练赛第四场(新生场)--E 黑匣子 (双堆,对顶堆)
参考博客化身孤岛的鲸ophython96问题描述Black Box是一种原始的数据库。它可以存储一个整数数组,还有一个特别的变量i。最开始的时候Black Box是空的,而i等于0。这个Black Box要处理一串命令。命令只有两种:ADD(x):把x元素放进Black Box;GET:i加1,然后输出Black Box中第i小的数。记住:第i小的数,就是Black Box里的数按...原创 2020-04-04 21:05:17 · 372 阅读 · 0 评论 -
2020.02.03UPC联合训练赛第三场J题lamp(前缀和)
题目描述There is a grid with H horizontal rows and W vertical columns, and there are obstacles on some of the squares.Snuke is going to choose one of the squares not occupied by an obstacle and place a ...原创 2020-02-03 12:55:19 · 339 阅读 · 0 评论 -
2019-2020大中小学生联合训练赛第五场 F题 素数分解 【DFS】 【哥德巴赫猜想】
题目描述素数,又称质数,是指除 1 和其自身之外,没有其他约数的正整数。例如 2、3、5、13 都是合 数,而 4、9、12、18 则不是。虽然素数不能分解成除 1 和其自身之外整数的乘积,但却可以分解成更多素数的和。你需要编程 求出一个正整数最多能分解成多少个互不相同的素数的和。例如,21 = 2 + 19是21的合法分解方法。21 = 2 + 3 + 5 + 11则是分解为最多素数的方...原创 2019-11-30 11:48:33 · 1171 阅读 · 0 评论 -
2019-2020大中小学生联合训练赛第三场 F题 存在
题目描述给出一个B数组B[0…n-1]。你要寻找另一个数组A[0…n-1],使得A数组同时满足如下条件:1、对于0<=i<n, A[i]必须是2^j,其中j是正整数。即A[i]必须是2,4,8,16,32,64…等这样的数。2、对于0<=i<n, A[i]^B[i]必须能整除P, 其中P=A[0] * A[1] * A[2] * …A[n-1]。注意:对于本题,都是...原创 2019-11-28 22:07:25 · 341 阅读 · 0 评论 -
中国石油大学 2019-2020大中小学训练赛第二场 F题 位置 【螺旋矩阵+DFS】
问题链接 http://icpc.upc.edu.cn/problem.php?cid=1961&pid=5中国石油大学 2019-2020大中小学训练赛第二场 F题 位置 【螺旋矩阵+DFS】题目描述由于晨晨还没有研究出核心算法,在游戏中总是被明明击败。晨晨拿出了杀手锏进行反击,精心设计了一个大型取数字求位置的难题:NN( N是奇数)个地砖,每个上面写有一个编号,这些编号正好是...原创 2019-11-23 21:34:28 · 855 阅读 · 0 评论 -
浅谈拓展欧几里得算法、最小正整数解与乘法逆元
欧几里得:首先要明确欧几里得算法,就是我们所说的辗转相除法。就是求两个数a,b的最大公因数gcd(a,b)ll gcd(ll a,ll b) //欧几里得算法 { //辗转相除法 if(a%b==0) return b; return gcd(b,a%b);}拓展欧几里得算法通俗来说就是求二元一次方程 Ax+By=C ...原创 2020-01-15 13:08:14 · 781 阅读 · 0 评论 -
LDUOJ周练--保存名画--拓扑排序
Description在一个Byteland上有一副非常有名的图画需要被封存。这个作品需要在2个实验室进行处理。这个处理过程被分为许多步骤。对于每个步骤,我们知道它必须要在哪个实验室进行。在两个实验室之间运输这些这些美丽但又易碎的画会带来额外的风险,因此这个运输的过程需要尽可能的被避免。理想情况下所有的工作都会在第一个实验室做完,然后剩下的在另一个实验室完成,但是有些步骤必须在另一步骤完成之后才能完成。你的任务是找到一个工作的顺序,让这个被运输的过程最少。输出需要运输的次数。Input第一行N和M,原创 2020-11-11 19:33:57 · 257 阅读 · 0 评论 -
UPC - Swapping Places (拓扑排序)
题目大意:给你s种物种,和m个物种之间的关系(朋友或者不是朋友关系),然后在给你一个长度为n的序列每个位置代表一个物种当满足一下两个条件时:1 . 两个物种相邻2. 两个物种时朋友关系这两个物种的位置可以交换,求字典序最小的序列题目分析:如果两个物种不是朋友关系,那么他们的相对位置永远不会改变(约束条件)某个物种约束条件越多,他在序列中出现的位置应该越靠后,可以枚举每个位置的物种建图(对于对他有约束的物种)连边这个时候并不需要向前遍历所有的物种和当前物种连边,这样时间复杂度n*n只需要原创 2020-11-10 21:29:24 · 177 阅读 · 0 评论 -
异或最小生成树 (Codefrces888G +2020牛客多校训练5 B题 Graph)--分治+贪心+01字典树
我可能是实验室最后一个弄明白这个算法的我之所以一直没懂就是一直不理解分治是如何替代的 连边的这个过程,那我这篇文章的出发点就是围绕这个点展开的,如果还有别的地方不懂的话可以访问RJS紫光JJL言归正传前置知识: 01字典树众所周知, n个点的树 需要连接n-1条边,假设我们有四个点 的权值 val[i]我们先让他生成一个树(不用异或值最小)1.我们先联通 val【1】和val【2】 那么这样以2为根节点的两颗子树就联通了,2 .联通 val【3】和val【4】 那么这样以3为原创 2020-07-31 17:16:22 · 293 阅读 · 0 评论 -
CF1095C Powers Of Two(二进制拆分/STL优先队列)
题目描述赵老师做为一个程序员,实在是太喜欢二进制了以至于他十分喜欢2的次幂他想要让你帮他算出正整数n是否可以被分成k个2的某次幂之和Input第一行只有两个正整数n,k (1 ≤ n ≤ 10^9 , 1 ≤ k ≤ 2· 10^5).Output如果不存在这样的方案,输出NO.否则输出YES,并且输出 k个正整数,它们的和是n,如果有多种方案,输出任意一种.ExamplesI...原创 2020-01-27 10:42:47 · 334 阅读 · 0 评论 -
2020.10.24--严格次小生成树 --详细讲解
2020-1024=996品,细品10.24祝各位coder编码有成,学业进步,工作顺利,升职加薪!!!前置知识1.Prim算法、Kurskal算法求最小生成树2.LCA求树上两点间的最近公共祖先概念如果最小生成树选择的边集是EM,严格次小生成树选择的边集是ES,那么需要满足:思路要求次小生成树 那就是在最小生成树上进行加边和删边的操作求得次小生成树如果我们求出了次小生成树,我们任意取树上两点u,v 之间连接一条边,那么此时一定生成了一个环 ,我们需要在这个环中删去一条边维.原创 2020-10-24 11:08:36 · 273 阅读 · 0 评论 -
洛谷T160512 G - 森林(并查集)
题目思路:按照正常的并查集思路来想的话,对于操作一 分裂成两颗树后,比较难维护的是其中一颗子树的所有子节点的祖先节点 因为 在find找祖先节点的时候会找到分裂前的的那个祖先节点,如果给每个子节点都更改的话,复杂度不允许但是,如果我们把删边变为加边的话,这个并查集维护起来就比较方便了 ,我们从这颗树的最终状态向前操作操作一 删边变为加边操作二 值的变换,颠倒一下顺序(这里可以用栈记录一个节点的数值变化顺序)Code:int n,m,val[maxn],u[maxn],v[maxn],p[.原创 2020-12-26 20:30:39 · 202 阅读 · 2 评论 -
CodeForces - 1283E. New Year Parties (贪心)
题目大意:n个数每个数有一个位置x[i] 你可以对每个数操作将他移动到x[i]+1或者x[i]-1或者不动问你最多占据的位置和最少占据的位置题目思路:求最多位置时:我们对x数组进行排序后,位置关系是递增的对于当前x[i] 如果x[i]-1不存在,我们优先选择填充x[i]-1因为随之x[i] 的增大 x[i]-1这个位置将不再能移动到如果x[i]-1存在那么次优先填充x[i]原因同上求最少位置时:对于序列 4 4 5 5 6 7 8 9 9求最少时候只需要看成 4原创 2020-12-10 19:35:52 · 186 阅读 · 0 评论 -
codeforces - 1450D - Rating Compression(单调栈)
题目大意:给你n个数,对于每个长度len (1<=len<=n)中的最小值所组成的集合是不是一个(n-i+1)的全排列,是用1表示,不是用0表示题目思路:1.用单调栈求出当前a[i]能控制的范围l[i],r[i] --单调栈求区间最值2.如果对于长度len的集合中数字 num 是第一次出现,那么利用树状数组对 tree[num]++这样就check一下 query(n-i+1)是不是大于等于n-i+1就能知道当前长度len符不符合条件具体操作:遍历ans[i]时候一定要倒着拿这原创 2020-12-09 21:44:12 · 223 阅读 · 0 评论 -
洛谷P1073最优贸易--(tarjan缩点+DAG+dp+拓扑排序)
这个题好像有一万种解法,有spfa双向扩搜的,有分层图转移的,bfs的。。。。。题目描述:n个点m条边,每个点有一个权值代表在这个点买或者卖水晶球的价格有一个人从1走到n问你能够赚的最多的差价是多少(只能买卖一次)题目思路:这是一个带环的有向图首先可以把环缩成一个点,记录这个点的买卖的最高价格和最低价格(因为对于一个环内所有的点,这些点可以相互到达)那么现在图就变成了一个DAG对于当前点u满足dp[u] = max(max(dp[u],dp[v]),val_max[u]-minn[v])原创 2020-12-03 13:22:38 · 2037 阅读 · 8 评论 -
Codeforces-1454E Number of Simple Paths(基环树-思维)
题目大意:给你n个点,n条边,求图中简单路径的个数题目思路:n个点n条边,那么图中一定有一个环拿这个图来讲,我们将两点间的关系分为4种1.两点都在环上,简单路径的个数为2(例如2与5)2.一个点在环上一个点不在环上,简单路径个数为2(例如2与6) – 但不能是2与3或者2与4(这是情况3)3.两个点在同一子树下(以环为根) 简单路径个数为 1(例如2与3或者3与1)4.两个点在不同一子树下(以环为根) 简单路径个数为 2(例如7与3)可以发现,任意两点间的简单路径的个数要么为1要原创 2020-11-26 20:34:23 · 307 阅读 · 2 评论 -
Educational Codeforces Round 98 -B - Toy Blocks (思维)
题目链接题目大意:n个盒子,每个盒子里有a[i]个球, 对于任意一个盒子,可以把其中的球随意分配到其他(n-1)个盒子当中,使得n-1个盒子中的球数目相等,求 向n个盒子中最少添加多少个球才能实现上述操作题目思路:设最少向盒子添加 x个球,n个盒子的所有球的个数为sum因为每个盒子的最终状态可以确定 是 都相等的所以设最终状态的数字是ava有(sum+x)%(n-1)==0(sum+x)/(n-1)==ava设n个盒子中的最大值为ma有ma>=ava联立框1框2,有ma原创 2020-11-20 13:37:31 · 2376 阅读 · 16 评论 -
Codeforces507E - Breaking Good (最短路-还原边)
题目链接题目描述:给你n个点m条无向边,每个边有好坏区别(0/1),边权都为1。求1-n的路径中设t1为最短路中的坏路t2为非最短路中的好路在保证最短路径的前提下,求t1+t2的最小值题解:首先 最短路中我们要尽量保证好边多,所以我们尽可能走好边多的点(在最短路相等的情况下)然后非最短路中的不用管,肯定也是最优了,因为一条边要么在集合t1要么在集合t2,所以要他对答案的贡献小的话,肯定送去一个 对应的集合具体操作:之前做过最短路还原路径是记录的点 还原出一条u-v1-v2-v的一个序列原创 2020-11-19 19:14:13 · 356 阅读 · 1 评论 -
牛客-战略游戏(树上dp)
题目描述给你一棵树,问你选择最少的点覆盖所有的边题解:这个题我一上来直接一发贪心wa掉,后来自我否定了一波拿这个歪歪扭扭 的菊花图来讲,如果按照贪心的思路,每次选连接度数最多的那个点,那么红色标记的点为选出来的点,但是 其实只需要选出紫色标记就能满足条件,所以说贪心并不是正解那就考虑dp,因为这是jjl大佬的题单,盲猜一波树上dp和之前写的那篇没有上司的舞会的模型基本一样Codeint n,d[maxn],dp[maxn][2],root;vector<int>e[maxn原创 2020-11-11 23:12:12 · 429 阅读 · 0 评论 -
分层最短路-例题
题目链接1 - - codeforces gym 101873C题目链接2–codeforces gym 102501A题目链接3 洛谷 飞行路线读懂了题之后就是板子题了,一般就是一维的迪杰斯特拉在开一维记录状态比如 dist[i][j]记录为 到达i点用了j次机会点最短路/权值或者到达i点路径长度为j的最小花费Gym 101873C有个需要注意点地方就是 可以呆在 一个点不动,不是每一步都需要移动#include<iostream>#include<algor原创 2020-11-05 20:37:22 · 207 阅读 · 0 评论 -
2019 CCPC 哈尔滨 - F Fixing Banners(二分图)
题目描述Harbin, whose name was originally a Manchu word meaning “a place for drying fishing nets”, grew from a small rural settlement on the Songhua River to become one of the largest cities in Northeast China. Founded in 1898 with the coming of the Chinese E原创 2020-10-27 21:51:26 · 275 阅读 · 0 评论 -
2018 山东省ACM省赛B题Bullet (二分+二分图最大匹配)
DescriptionIn GGO, a world dominated by gun and steel, players are fighting for the honor of being the strongest gunmen. Player Shino is a sniper, and her aimed shot kills one monster at a time. Now she is in an n×n map, and there are monsters in some gri原创 2020-10-19 00:16:07 · 307 阅读 · 0 评论 -
Codeforces Round #661 (Div. 3) E1 - Weights Division (easy version) --贪心,优先队列,树
题目描述:题意:给你一棵树,每条边都有权值,求 sum:叶子节点到其他所有节点的路径和再给你一种操作: 使 任意一条边的权值减半,求最少的操作数使得 sum<=k (k给出)思路:1 . 如何求sum可以算出每条边被使用的次数leaf ,然后sum+=a[i].w*leaf ,算出每条边的贡献2.怎样使得操作数目最少要使得sum 变得小于等于k ,还要操作次数最少,可以先贡献大的边开始改变,这样会使sum 更接近k一条边的贡献 (a[i].w-a[i].w/2)*leafCod原创 2020-08-06 16:52:41 · 180 阅读 · 2 评论 -
AcWing 285 没有上司的舞会(入门树形dp)
**原题链接题目描述**Ural大学有N名职员,编号为1~N。他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。每个职员有一个快乐指数,用整数 Hi 给出,其中 1≤i≤N。现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会。在满足这个条件的前提下,主办方希望邀请一部分职员参会,使得所有参会职员的快乐指数总和最大,求这个最大值。输入格式第一行一个整数N。...原创 2020-02-22 16:29:52 · 434 阅读 · 0 评论