令人抓狂的整体二分题.根本原因还是我太菜了. 在学校写了一个下午写得头晕,回家里重写了一遍,一个小时就写完了--不过还是太慢. 题目传送门:洛谷P4175. 题意简述: 一棵 \(n\) 个结点的树,每个点有点权. 有 \(m\) 次操作,每个操作要么是更改单点点权,要么是查询树链上第 \(k\) 大点权. 题解: 树套树固然可以,但是整体二分也很好. 整体二分就是对于所有的询问一起二分答案,在二分区间范围内的查询和修改一并下传. 这题把整体二分基础题的操作搬到了链上,但是实现方法并没有太大不同…
1146: [CTSC2008]网络管理Network Time Limit: 50 Sec  Memory Limit: 162 MBSubmit: 3522  Solved: 1041[Submit][Status][Discuss] Description M公司是一个非常庞大的跨国公司,在许多国家都设有它的下属分支机构或部门.为了让分布在世界各地的N个 部门之间协同工作,公司搭建了一个连接整个公司的通信网络.该网络的结构由N个路由器和N-1条高速光缆组成. 每个部门都有一个专属的路由器,…
1146: [CTSC2008]网络管理Network Time Limit: 50 Sec  Memory Limit: 162 MBSubmit: 870  Solved: 299[Submit][Status] Description M公司是一个非常庞大的跨国公司,在许多国家都设有它的下属分支机构或部门.为了让分布在世界各地的N个部门之间协同工作,公司搭建了一个连接整个公司的通信网络.该网络的结构由N个路由器和N-1条高速光缆组成.每个部门都有一个专属的路由器,部门局域网内的所有机器都联…
树链剖分完就成了一道主席树裸题了, 每次树链剖分找出相应区间然后用BIT+(可持久化)权值线段树就可以完成计数. 但是空间问题很严重....在修改时不必要的就不要新建, 直接修改原来的..详见代码. 时间复杂度O(N*log^3(N)) ---------------------------------------------------------------------------- #include<cstdio> #include<cstring> #include<…
题目传送门:洛谷 P4298. 题意简述: 给定一个 \(n\) 个点,\(m\) 条边的简单有向无环图(DAG),求出它的最长反链,并构造方案. 最长反链:一张有向无环图的最长反链为一个集合 \(S \subseteq V\),满足对于 \(S\) 中的任意两个不同的点 \(u, v \in S\)(\(u \ne v\)),\(u\) 不能到达 \(v\),\(v\) 也不能到达 \(u\),且 \(S\) 的大小尽量大. 题解: 根据 Dilworth 定理,一个 DAG 中最长反链的大小…
很久之前写过 count on the tree. 然后一直不懂树状数组是怎么套上这个主席树的. 看了两小时发现它套的就是个权值线段树, 看不出来可持久化在哪里. 因为动态开点所以空间nlog2n. 树状数组维护dfs序,每个节点挂个线段树. 为了省空间拿原树建了个主席树. #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #define N 80005 usi…
Description M公司是一个非常庞大的跨国公司,在许多国家都设有它的下属分支机构或部门.为了让分布在世界各地的N个 部门之间协同工作,公司搭建了一个连接整个公司的通信网络.该网络的结构由N个路由器和N-1条高速光缆组成. 每个部门都有一个专属的路由器,部门局域网内的所有机器都联向这个路由器,然后再通过这个通信子网与其他部 门进行通信联络.该网络结构保证网络中的任意两个路由器之间都存在一条直接或间接路径以进行通信. 高速光 缆的数据传输速度非常快,以至于利用光缆传输的延迟时间可以忽略.但是…
题目描述 M公司是一个非常庞大的跨国公司,在许多国家都设有它的下属分支机构或部门.为了让分布在世界各地的N个部门之间协同工作,公司搭建了一个连接整个公司的通信网络.该网络的结构由N个路由器和N-1条高速光缆组成.每个部门都有一个专属的路由器,部门局域网内的所有机器都联向这个路由器,然后再通过这个通信子网与其他部门进行通信联络.该网络结构保证网络中的任意两个路由器之间都存在一条直接或间接路径以进行通信. 高速光缆的数据传输速度非常快,以至于利用光缆传输的延迟时间可以忽略.但是由于路由器老化,在这些…
P4175 [CTSC2008]网络管理 题目描述 带修改树上链的第\(k\)大 输入输出格式 输入格式: 第一行为两个整数\(N\)和\(Q\),分别表示路由器总数和询问的总数. 第二行有\(N\)个整数,第\(i\)个数表示编号为\(i\)的路由器初始的数据延迟时间\(T_i\). 紧接着\(N-1\)行,每行包含两个整数\(x\)和\(y\).表示有一条光缆连接路由器\(x\)和路由器\(y\). 紧接着是\(Q\)行,每行三个整数\(k\).\(a\).\(b\). 如果\(k=0\),…
Portal Description 给出一棵\(n(n\leq8\times10^4)\)个点的带点权的树,进行\(m(m\leq8\times10^4)\)次操作,操作有两种: 修改一个点的点权. 询问路径\((u,v)\)上第\(k\)大的点权.若路径上的点不足\(k\)个输出invalid request!. Solution 带修改的可持久化线段树. 首先对于每个节点\(u\)建立一棵线段树记录路径\((u,rt)\)上的权值分布.考虑修改一个点的权值对这些线段树有什么影响.当\(u\…