03 2015 档案
摘要:【题意】给出一棵树,有n个点(2≤N≤105),每条边有权值,现在打算新修一条路径,给出新路径u的起点v,终点和权值,下面给出Q(1≤Q≤105)个询问(a,b)问如果都按照最短路径走,从a到b节省了多少距离。咱不妨把新修路径的一个端点u设为根结点,然后建树。这样新路径另一端v一定连着它的子树的一个...
阅读全文
摘要:一开始从watashi的那本书中看了二分查找法跟RMQ法,也明白了思路,RMQ法是在线LCA算法,但我记得还有一种tarjan的离线算法。于是花了两个小时在网上查了一下,大致做了几道题。下面以HDU2586为例简单说一下。【题意】给定一棵树,每条边都有一定的权值(40000个点),q次询问(500次...
阅读全文
摘要:无向图的割顶:Vector G[] :邻接表存图Int pre[] :存储时间戳Int low[] : u及其后代所能连回的最早的祖先的pre值Int iscut[] : =true表示是割顶,=false不是割顶Dfs函数在主函数调用时,fa预设为-1。注意初始化:memset(head,-1,...
阅读全文
摘要:【题意】给一个无向图的反图(即给定的边实际上不存在,而未给的边是存在的),求连通块数。(点数n G[i]为结点i相邻的结点,预处理时将其排序为有序序列。然后BFS,直接枚举st中的元素(即不存在已扫描到的连通块中的点),然后对该元素在G[i]中二分查找,如果没有找到,证明存在着这一条边,进行扩展即可...
阅读全文
摘要:该模板来自大白书【解释】给多个语句,每个语句为“ Xi为真(假) 或者 Xj为真(假)”每个变量和拆成两个点 2*i为假, 2*i+1为真“Xi为真 或 Xj为真” 等价于 “Xi为假 –> Xj为真”。DFS算法没有回溯过程。【函数说明】模板bfs函数在模板外一般用不到void init(int ...
阅读全文
摘要:转载注明出处:http://blog.csdn.net/non_cease/article/details/7989521正确区分不同的查找算法count,find,binary_search,lower_bound,upper_bound,equal_range本文是对Effective STL第...
阅读全文

浙公网安备 33010602011771号