01 2019 档案
摘要:poj 2186tarjan缩点板子题缩完点之后是有向无环图,要想其他点都能到达,那么它的出度为0,不然随意连就会出现环,如果出度为0的点的个数不是1,肯定就凉了。 #include<iostream> #include<cstdio> #include<queue> #include<algori
阅读全文
摘要:tarjan目的:求极大强联通分量复杂度:O(n+m);dfn[]表示这个点是第几次被dfs到的low[]指极大强联通分量中最先被dfs到的,如果dfn[]==low[]那么它就是极大强联通分量中的祖先用栈储存 1 #include<iostream> 2 #include<cstdio> 3 #i
阅读全文
摘要:P2502 [HAOI2006]旅行有些问题光靠直觉是不靠谱的,必须有简单的证明,要么就考虑到所有情况。这个题我想的是要么见最小生成树,要么建最大生成树,哎,我sb了一种很简单的情况就能卡掉在最小生成树中,Min为a,它有重边,b比a大,而且b依然是Min,那么此时答案就会更优。正解就是枚举每一个边
阅读全文
摘要:洛谷1550 打井找一个数组来存以x为根的树的最小值,所有边按从小到大排序,如果e[i].v<=Min[t1]||....(见代码 1 #include<iostream> 2 #include<cstdio> 3 #include<queue> 4 #include<algorithm> 5 #i
阅读全文
摘要:codevs1183 泥泞的道路分数规划+二分答案(小数)一般是把移项之后的进行从大到小排序,但在这里要跑最长路,这和排序的道理是一样的,不过要同时满足最大和联通两个条件 求最长路的时候不要忘记判正环23333333 1 #include<iostream> 2 #include<cstdio> 3
阅读全文
摘要:luogu p1119 灾后重建少用memset(),不然吃亏在后边。在floyd在如果有些点不能走,等价于它们不能作中转点,这样就满足了时效性,也就满足了在变化的图中求任意两点的最短路 1 #include<iostream> 2 #include<cstdio> 3 #include<queue
阅读全文
摘要:P1938 [USACO09NOV]找工就业Job Hunt给边赋予价值,入边的权值为D-Ti,然后从起点开始跑最长路,如果钱的总数超过了D*C,也就是一定有一个城市走了两遍,则有正环,则输出-1 1 #include<iostream> 2 #include<cstdio> 3 #include<
阅读全文
摘要:poj 1753做搜索题还是要找到特殊性质和枚举方式哪怕很简单的性质,也会产生很大的影响在这个题中,同一个格子翻2次和不翻没有区别,在这里有一个小细节就是可以有impossible的情况,这也意味着所有情况都可以在规定时间内枚举到,这也就是你枚举所有情况就可以了。这题还有一个巧妙的方法如果第一行是确
阅读全文
摘要:因为spfa没事就被卡一卡,所以堆优化dijstra就显得很重要,在最短路或者其模型里边,最少有一条边是没有被更新过的,也就是它是最短的,同理从这个点开始也有一条边最短,所以每次就找最短的然后松弛操作就可以的。 1 #include<iostream> 2 #include<cstdio> 3 #i
阅读全文
摘要:get到一种找规律的新方法,如果参数有两个,可以打一个矩阵,分别以两个参数为横纵坐标,查分也是很好的方法灵感来源于2018年第43届ACM/ICPC亚洲区域赛沈阳站 insertion sort
阅读全文