首先如果点权全都为正,就可以直接选所有的点. 活在梦里.. 考虑枚举一个点\(i\),作为我们选择的集合中的一个点. 然后我们把另一个点\(j\)选入集合的时候必须把两棵树中\(i\)和\(j\)路径上的点全都选入集合. 似乎想到了什么. 闭合子图. 不就是一个最大权闭合子图吗. 然后我们按最大权闭合子图的模型建图. 所有正权的点跟\(S\)连容量为权值的边. 所有负权的点跟\(T\)连容量为权值绝对值的边. 我们把枚举的i作为两个树上的根. 然后每一个点跟两颗树上的\(father\)连容量为…
Discription 对于 100% 的数据, N<=50. solution: 发现N比较小,所以我们可以花O(N^2)的代价枚举两颗树的联通块的LCA分别是哪个点,然后现在问题就变成了:选一个点必须要选它在两个树上的祖先,问如何选点可以使收益最大. 这是一个裸的 最大权闭合子图 问题, 节点连S表示选,连T表示不选,如果选x必须选y那么就连<x,y,inf>,最后的答案就是 所有正的a的和 - 这个图的最小割. #include<bits/stdc++.h> #defi…
问题: Given two binary trees, write a function to check if they are equal or not. Two binary trees are considered equal if they are structurally identical and the nodes have the same value.   分析: 考虑使用深度优先遍历的方法,同时遍历两棵树,遇到不等的就返回. 代码如下: /** * Definition f…
原文:WPF的两棵树与绑定   先建立测试基类 public class VisualPanel : FrameworkElement { protected VisualCollection Children { get; set; } public VisualPanel() { Children = new VisualCollection(this); } protected override int VisualChildrenCount { get { return Children…
使用element ui组件库实现一个table的两棵树的效果 效果如下,左边树自动展开一级,右边树默认显示楼层,然后可以一个个展开 代码如下 <el-table :data="relativeData" :fit="isFit" height="700px" :row-style="showTr" :row-class-name="tableRowClassName" :header-row-cla…
description 题面 solution 点分治+最小割. 点分必选的重心,再在树上dfs判交,转化为最大权闭合子图. 可以做\(k\)棵树的情况. code #include<iostream> #include<cstdlib> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #include<queue> #defin…
6315.Naive Operations 题意很好理解,但是因为区间求和求的是向下取整的a[i]/b[i],所以直接分数更新区间是不对的,所以反过来直接当a[i]==b[i]的时候,线段树对应的位置更新+1操作是可取的,但是怎样才能在合适的时候+1操作呢?一开始智障想的是只要单点是b[i]的倍数就可以啊,但是这样就相当于单点查询的操作,铁定超时到上天,但是反过来就可以啊,直接一开始给一个数组赋值为b[i]的值,区间更新的时候所有的都更新,然后区间查询一下最小值,有0就说明有的已经正好减完b[i…
很简单 提交代码 https://oj.leetcode.com/problems/same-tree/ iven two binary trees, write a function to check if they are equal or not. Two binary trees are considered equal if they are structurally identical and the nodes have the same value. /** * Definiti…
题意: 市场中有n个集合在卖.我们想买到满足以下要求的一些集合,所买到集合的个数要等于所有买到的集合合并后的元素的个数. 每个集合有相应的价格,要使买到的集合花费最小. 这里我们的集合有一个特点:对于任意整数k(k>0),k个集合的并集中,元素的个数不会小于k个. 现在让你去市场里买一些满足以上条件集合,可以一个都不买. 分析: 根据集合的特点,我们发现,如果吧集合和元素分成左右部,建出二分图,那么一定存在完美匹配. 所以我们把一个集合匹配的那个元素当成它的代表元素. 我们要求最终买到的集合个数…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3015 题目大意: 有一些树,这些树的高度和位置给出.现在高度和位置都按从小到大排序,对应一个新的rank,任意两棵树的值为min(高度的rank) * abs(位置差的绝对值).问所有任意两棵树的值的和是多少. 解题思路: 按照题意离散化,然后对H从大到小排序,这样可以保证前面的树高度都比当前的高(或者相等).在计算的时候就可以使用当前的H. 和POJ-1990类似 #include<iostre…