[bzoj5457]城市_dsu on tree】的更多相关文章

bzoj 5457 城市 题目大意 给定一棵以\(1\)为根的\(n\)个节点的有根树. 每个节点有一个民族和该民族在当前节点的人数. 有\(n\)个询问,第\(i\)个询问是求以\(i\)为根的子树内,人数最多的民族是哪个,这个民族有多少人. 如果最多的民族有多个输出编号最小的. 数据范围 \(1\le n\le 4\cdot 10^5\),\(m\le n\),\(1\le a_i\le m\),\(0\le b_i\le 1000\). 题解 我们发现这个题满足一个性质,就是无修改.询问子…
[题意]参考PoPoQQQ. 给定一棵树,每个点有一个点权,提供四种操作: 1.删除两点之间的连边 不存在边则无视 2.在两点之前连接一条边 两点已经联通则无视 3.在两点之间的路径上所有点的点权加上一个数 两点不连通则无视 4.询问两点之间路径上任选两点路径上的点权和的期望值 [算法]Link-Cut Tree [题解]第四步操作相当于路径所有区间点权和/区间总数. 假设链有n个点,区间总数就是n*(n+1)/2.假设点权分别为a1~an,则: $$ans=\sum_{i=1}^{n}a_i*…
一棵树,每个点有一个民族,和一个人数,求每个子树里最多的民族及其人数,如果一样,输出编号最小的 $n \leq 500000$ sol: 卡莫队的毒瘤题,需要 dsu on tree 大概就是 dfs 顺便维护一个数组叫“当前答案”,每次先把轻儿子加进来,再把重儿子加进来,然后把轻儿子删掉,重儿子继承这个“当前答案”数组 然后由于两点间最多有 log 条重链,复杂度很对劲 #include <bits/stdc++.h> #define LL long long #define rep(i,…
传送门 线段树合并菜题. 题意简述:给一棵树,每个节点有bib_ibi​个aia_iai​民族的人,问对于每棵子树,子树中哪个民族的人最多,有多少人. 思路: 直接上线段树合并,边合并边维护答案即可. 为了代码方便可以用pairpairpair来维护答案. 代码: #include<bits/stdc++.h> #define ri register int #define lc (son[p][0]) #define rc (son[p][1]) #define fi first #defi…
CF741D. Arpa's letter-marked tree and Mehrdad's Dokhtar-kosh paths 分析: 最多有一个字符出现奇数次 维护某个状态下深度的最大值,注意是全局深度 写成非递归形式方便理解 代码: #include <cstdio> #include <cstring> #include <algorithm> #include <cstdlib> using namespace std; #define N 5…
P5471- K-D tree优化建图-弹跳 优化建图是一种思想. 题意 有\(n\)个城市分布在小鸟岛上,有\(m\)个弹弓分布在这些城市里.因为弹弓体积大,固定麻烦,所以每个弹弓只能把小鸟弹飞到一块固定的矩形范围内的城市,同时小鸟会在空中滞留\(t_i\)的时间.闪电黄的家在1号城市,追求速度的它想知道,若只使用弹弓出行,它从家到其他所有城市的最短时间花费是多少. 抱歉魔改了题面,但是这个题意真的太像愤怒的小鸟了好吗 思路 暴力:枚举每两个城市间是否能转移进行建图跑最短路. 太浪费了,这么大…
本章主要是描述几种经典映射关系,顺带比较Hibernate4.x和Hibernate5.x之间的区别. 一.建立测试工程目录 有关实体类之间的相互映射关系,Hibernate官方文档其实描述的非常详细,这里只提供几种常见映射.(推荐4.3.11版本的 hibernate-release-4.3.11.Final\documentation\manual) 二.编写映射关系 (1)one2one单表内嵌映射: package model.family; import javax.persisten…
一 聚焦爬虫数据解析 1.1 基本介绍 聚焦爬虫的编码流程 指定url 基于requests模块发起请求 获取响应对象中的数据 数据解析 进行持久化存储 如何实现数据解析 三种数据解析方式 正则表达式 bs4 xpath 数据解析的原理 - 进行标签定位 - 获取定位好的标签里面的文本数据和属性值 1.2  爬取一个网站的图片 import requests # 1. 指定url url = "http://mpic.spriteapp.cn/ugc/2019/09/01/5d6be8e4396…
点此看题面 大致题意: 一棵树上每个点有颜色\(a_i\)和权值\(b_i\),求以每个点为根的子树内权值和最大的颜色及其权值和. 线段树合并 这是一道线段树合并板子题. (关于线段树合并,可参考我的这篇博客) 考虑一开始对于每个叶节点,在线段树第\(a_i\)位插入\(b_i\). 然后,对于每个非叶节点,在其子节点求完答案后,依次合并其子节点的线段树,再在线段树第\(a_i\)位加上\(b_i\). 重复此过程即可求出答案. 注意当有多种颜色权值和相同时输出编号最小的颜色,一开始判错\(WA…
3754: Tree之最小方差树 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 402  Solved: 152[Submit][Status][Discuss] Description Wayne在玩儿一个很有趣的游戏.在游戏中,Wayne建造了N个城市,现在他想在这些城市间修一些公路,当然并不是任意两个城市间都能修,为了道路系统的美观,一共只有M对城市间能修公路,即有若干三元组 (Ui,Vi,Ci)表示Ui和Vi间有一条长度为Ci的双向道路.…