![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
Daniel__d
这个作者很懒,什么都没留下…
展开
-
CF1325E-数学,无向图最小环
CF1325E题目描述题解代码#include<bits/stdc++.h>#define M 1000009using namespace std;int read(){ int f=1,re=0;char ch; for(ch=getchar();!isdigit(ch)&&ch!='-';ch=getchar()); if(ch=='-'){f...原创 2020-04-04 17:21:50 · 211 阅读 · 0 评论 -
AT5798-BFS+dp+思维题
AT5798题目大意题解代码#include<bits/stdc++.h>using namespace std;int read(){ int f=1,re=0; char ch; for(ch=getchar();!isdigit(ch)&&ch!='-';ch=getchar()); if(ch=='-'){f=-1,ch=getchar()...原创 2020-03-29 10:25:01 · 100 阅读 · 0 评论 -
CF25C-Floyd
CF25C题目描述题解代码#include<bits/stdc++.h>#define int long long using namespace std;int read(){ int f=1,re=0; char ch; for(ch=getchar();!isdigit(ch)&&ch!='-';ch=getchar()); if(ch=='...原创 2020-03-29 10:42:08 · 159 阅读 · 0 评论 -
Navigation System-最短路计数
CF1320B Navigation System题目描述题解最短路计数首先反向建边,并对pip_ipi维护其下一个数即pi+1=nxt[pi]p_{i+1}=nxt[p_i]pi+1=nxt[pi]然后从终点跑最短路,如果nxt[pi]nxt[p_i]nxt[pi]在一条终点到pip_ipi的最短路上,给pip_ipi打上标记最后统计答案注意:更新最短路时,要消去原来...原创 2020-03-29 10:54:40 · 275 阅读 · 0 评论 -
Koala and Notebook-拆边,BFS,贪心
CF1209F Koala and Notebook题目描述题解我们将每条边拆成单字符的边,用vector存,然后贪心从0-9 BFS一遍即可代码#include<bits/stdc++.h>#define int long long#define M 1000000using namespace std;vector<int>w[M][10],q[M]...原创 2020-03-29 10:55:08 · 163 阅读 · 0 评论 -
灾难-拓扑排序,LCA
P2597 灾难题目描述题解看完上面2幅图,我们差不多就能得出解法。假设一个点的fafafa有多个,那么我们将这个点连接在这多个fafafa的lcalcalca上,因为只有当他们的lcalcalca死亡后,该点才会灭绝,然后我们在新图上拓扑排序,统计答案即可代码#include<bits/stdc++.h>#define M 200009using namesp...原创 2020-03-29 10:55:48 · 137 阅读 · 0 评论 -
P2302 loidc,跑起来--tarjan,最短路
P2302 loidc,跑起来–tarjan,最短路题目描述题解以下描述中 A->loidc,B->cony首先我们发现,当A先于B跑进环中时,B成功逃脱,否则将被抓住。接着我们发现,A与B到任意一个点必定是走最短路(感性理解)那么当d[i]>e[i]d[i]>e[i]d[i]>e[i]且iii位于环中时,B成功逃脱若iii不在环中,那么更新答案,an...原创 2020-03-29 10:51:19 · 208 阅读 · 0 评论 -
仙人掌图2-仙人掌
仙人掌图2-仙人掌题目描述题解分外环内和环外分别进行dp推荐题解:https://www.cnblogs.com/chloris/p/11853320.html仙人掌推荐博客:http://immortalco.blog.uoj.ac/blog/1955代码实现#include<bits/stdc++.h>#define M 200009using namespa...原创 2020-03-29 10:47:32 · 107 阅读 · 0 评论 -
191114-旅行
旅行题目描述简化题意:从起点1开始遍历完所有点,使字典序最小,求该字典序(每条边至多经过两次,进入一次,回溯一次)解析首先考虑是一棵树的情况,显然只需要将每个点连出的边按从大到小拍一遍序,因此dfs时一定会先走编号小的城市,因此排完序过后,直接输出dfs序即可接着再来考虑基环树的情况,暴力删边!!!,因为尽管是一棵基环树,但是最后遍历过后,遍历的路径仍然是一棵树,即有一条边一定不会遍历到...原创 2020-03-29 10:50:36 · 80 阅读 · 0 评论 -
191114-最优贸易(spfa)
191114-最优贸易简化题意本题是让我们在一张带节点权值的图上,找出一条从1到n的路径,使路径上能选出两个p,q(先经过点p,再经过点q),并且ap−aqa_p-a_qap−aq的值最大(a数组表示节点的权值)解析首先我们给这张图建一张反图,第一次在原图上跑spfa,求出节点1到各个节点所经过路径上最小点权值(记为did_idi),然后在反图上跑一遍spfa,求出从节点n到各个节点...原创 2020-03-29 10:43:57 · 248 阅读 · 0 评论 -
191107-网络流
191107-网络流练习一,最大流问题1),Edmonds-Karp算法时间复杂度为O(nm2)O(nm^2)O(nm2) 一般能处理103−10410^3-10^4103−104规模的网络模板#include<bits/stdc++.h>#define M 200006const int inf=1e8;int maxn,n,m,s,t,nxt[M*2],first[...原创 2020-03-29 10:46:18 · 90 阅读 · 0 评论 -
191027-小C与桌游
小C与桌游解析首先,这道题显然和拓扑排序有关其次,读题后发现,题目要求求出 “最优情况” 和 “最劣情况” 两个答案我们不妨在求解时将这两个问题分开。对于“最优情况”,我们显然可以贪心的取编号最小的入度为0的点扩展。每次与之前走过的最大的点比较,然后更新即可然后对于第二种情况,最劣情况,我们能不能效仿第一种的贪心呢,每次从编号最大且入度为0的点的开始拓展。答案显然是否定的,我们可以很...原创 2019-10-31 19:58:24 · 144 阅读 · 0 评论 -
191028-分层图最短路
191028-分层路最短路T1 Telephone Lines方法1,二分答案+spfa解析本题的的答案显然具有单调性,因为支付的钱更多时,合法的升级方案一定包含了花费更少的方案,所以我们可以将问题转换为:是否存在一条合法的升级方法,使花费不超过mid因此每次二分出答案后,只需要把升级价格大于mid的电缆看做长度为1的路径,其余的看做长度为0的路径,然后跑一遍spfa,如果d[n]<...原创 2019-10-31 19:57:35 · 262 阅读 · 0 评论 -
191028-树链剖分
191028-树链剖分定义指一种对树进行划分的算法,它先通过轻重边剖分将树分为多条链,保证每个点属于且只属于一条链,然后再通过数据结构(树状数组、BST、SPLAY、线段树等)来维护每一条链。那么什么是轻重边呢?很简单,来看下面一张图:在轻重链剖分中,每个非叶节点有且仅有一个重儿子,其余子节点为轻儿子。轻重儿子划分的依据是子树大小,对于每个非叶节点, 其子树size最大的子节点成为...原创 2019-10-31 19:57:14 · 185 阅读 · 0 评论