codeforces 487E Tourists】的更多相关文章

洛谷 Codeforces 思路 首先要莫名其妙地想到圆方树. 建起圆方树后,令方点的权值是双联通分量中的最小值,那么\((u,v)\)的答案就是路径\((u,v)\)上的最小值. 然而这题还有修改,可以在每个方点维护一个\(multiset\)以支持. 但如果每次修改都暴力修改相邻的方点权值显然要挂,如何优化? 可以令方点的权值不包括自己的父亲,那么修改圆点时只需要修改自己的父亲即可. 查询时如果\(lca\)是方点那么还要与方点的父亲取\(\min\). 比较码农. 代码 #include<…
如果不是uoj上有的话(听说这是China Round),我有可能就错过这道题目了(这是我有史以来为oi写的最长的代码,用了我一天TAT!). 题目 传送门. 一个连通无向图,点上有权,支持两种操作: 修改某点的权值 询问点\(x\)到\(y\)的经过的最小的点(同一个点不能重复经过) 算法 这题想起来是不难的: 容易想到做一个强连通分量,每个分量里的点可以互相到达. 这时会有一个猜想:在一个分量里,是不是任意指定三点\(a,b,c\),都有一条合法路径从\(a\)到\(b\)途中经过\(c\)…
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ30.html 题目传送门 - UOJ#30 题意 uoj写的很简洁.清晰,这里就不抄一遍了. 题解 首先建出圆方树.接下来,我们称"圆点"为原来有的点,"方点"为新增的点. 然后先只考虑在线询问如何做. ——把方点的值设置成所有与他连边的圆点的权值的最小值,直接在圆方树上树链剖分再套个线段树支持一下区间询问即可. 然后会发现这样做支持不了修改操作. ——直接来个菊花图不断修…
题意 ​ \(n\) 个点 \(m\) 条边的无向连通图,每个点有点权,\(q\) 个要求,每次更新一个点的点权或查询两点间路径权值最小的点最小的路径. 思路 ​ 算是圆方树的板子吧?圆方树处理的主要就是两点之间路径的问题. ​ 我们先对原图建一棵圆方树,然后每个圆点的信息传递给父亲,一定是方点,用堆维护信息.最后只要树剖线段树查路径最小值即可,注意特判 \(\rm{lca}\) 即可. 代码 #include<bits/stdc++.h> #define FOR(i, x, y) for(i…
https://codeforces.com/contest/487/problem/E http://uoj.ac/problem/30 显然割点走过去就走不回来了...可以看出题目跟点双有关 有一个结论:如果在点双中有不同的点a,b,c,那么一定存在点不重复的路径从a到c再到b. 证明(摘自https://codeforces.com/blog/entry/14832): 显然这样的点双中,点数>=3,因此移除任意点或任意边,仍然连通 新建一张网络流图.用边(u,v,w)表示从u到v容量为w…
1. CF 438D The Child and Sequence 大意: n元素序列, m个操作: 1,询问区间和. 2,区间对m取模. 3,单点修改 维护最大值, 取模时暴力对所有>m的数取模. 因为取模后至少减半, 复杂度$O(nlognlogC)$ 2. CF 431E Chemistry Experiment 大意: n个试管, 第$i$个试管有$a_i$单位水银, m个操作: 1, 修改$a_x$改为$v$. 2, 将$v$单位水倒入试管, 求一种方案使得有水的试管水银与水总量的最大…
传送门 好毒瘤的一道题QAQ,搞了好几好几天. UOJ上卡在了53个点,CF上过了,懒得优化常数了 刚看时一眼Tarjan搞个强连通分量然后缩点树链剖分xjb搞搞就行了,然后写完了,然后WA了QAQ. 思考了一会把代码全删了,加了个mulutiset重写一遍,然后又是各种WA. 然后去看了POPOQQQ大爷的代码.原来把无向图缩成一个树用的是点双联通分量,搞不清图论的概念只能自扇脸.. 然后去研究了点双联通分量,搞了一道题,顺便给Trajn搞了个小总结. 这道题其实就是缩点然后剖剖剖.但是我的姿…
\(\mathcal{Description}\)   Link.   维护一个 \(n\) 个点 \(m\) 条边的简单无向连通图,点有点权.\(q\) 次操作: 修改单点点权. 询问两点所有可能路径上点权的最小值.   \(n,m,q\le10^5\). \(\mathcal{Solution}\)   怎么可能维护图嘛,肯定是维护圆方树咯!   一个比较 naive 的想法是,每个方点维护其邻接圆点的最小值,树链剖分处理询问.   不过修改的复杂度会由于菊花退化:修改"花蕊"的圆…
题目链接:http://codeforces.com/contest/488 A. Giga Tower Giga Tower is the tallest and deepest building in Cyberland. There are 17 777 777 777 floors, numbered from  - 8 888 888 888 to 8 888 888 888. In particular, there is floor 0 between floor  - 1 and…
After several latest reforms many tourists are planning to visit Berland, and Berland people understood that it's an opportunity to earn money and changed their jobs to attract tourists. Petya, for example, left the IT corporation he had been working…