
图论
wanherun
今天会有好事发生吗
展开
-
bzoj4264 小C找朋友
怎么说呢,这应该算是一种新知识吧,图上hash。 具体做法就是每个点都附上一个初值,然后把每个点所连的点的值“合”起来,然后就可以判断相连的点是否一样了(不包括自己),如果要让自己也在的话,再“合”上自己就好了。关于怎么“合”,有多种方法,感觉一般采用二进制运算,因为不用考虑顺序呀。好像异或的正确率比较高呀。#include<bits/stdc++.h>#define N 1000000usi原创 2017-10-29 21:44:10 · 281 阅读 · 0 评论 -
[noip2014]寻找道路 题解
emmmm,按照题意来做就好了。首先,我们反向建边,从终点开始搜索,看能到哪儿些点,记录一下,再正向建边,看有哪儿些点连了这些点,把它们都排除就好了。剩下的就是裸的最短路了。#include<bits/stdc++.h>#define N 10000#define M 200000using namespace std;int n,m,s,t,inf;int x[M+5],y[M+5];原创 2017-10-24 22:53:11 · 448 阅读 · 0 评论 -
[noip2014]联合权值 题解
要距离为2,画一画图可以显然得到,就是每个点相连的每个点之间两两满足条件。现在问题就成了,已知n个数的值,a1,a2,a3……an,求a1*a2+a1*a3+……a1*an+a2*a1+a2*a3…………。然后稍微用一下数学公式,我们发现答案就是和的平方减去平方的和。最大值维护一个最大值和次大值就好了。#include<bits/stdc++.h> #define N 200000 using原创 2017-10-24 22:45:41 · 267 阅读 · 0 评论 -
[noip2015]信息传递 题解
一句话题意:找一个图中最小环的长度。当时第一个想法就是直接暴力找,然后,就T了。其实,这道题有个重要的性质——每个点都只有一条出边。这样,每个店最多在一个环中,然后一个环中的所有点可以两两互相到达,否则不能。具体的话画一画图就知道了。然后就成了Tarjan找强连通分量的水题了。#include<bits/stdc++.h>#define N 200000using namespace std;原创 2017-10-22 17:20:31 · 1099 阅读 · 0 评论 -
bzoj1179 [Apio2009]Atm
题目这题,咋一看,没什么思路。我们这样想,一个强连通分量中的点显然可以互相到达,所以就不需要考虑了,先缩点。然后重构图,跑一遍SPFA就好了,注意显然不会有环。#include<bits/stdc++.h>#define N 600000using namespace std;int n,m,A[N+1],x,y,s,p;int first[N+1],nxt[N+1],to[N+1],siz原创 2017-09-21 22:40:48 · 232 阅读 · 0 评论 -
bzoj1051 [HAOI2006]受欢迎的牛
题目哇,优快云博客皮肤改版了,还有什么优质博主抢先体验版,手贱点了试用,哇塞,好。。。。。。丑。不过据说全部都要改,这样我的心情就好了许多。再来看这道题,比较经典的tarjan缩点题。 先用tarjan缩点,点内每一个小点都能互相到达。大点之间建有向边,如果只存在一个大点的出度为0,那么它的大小就是答案。存在多个的话,答案为0。#include<bits/stdc++.h>#define N原创 2017-09-17 11:28:44 · 203 阅读 · 0 评论 -
bzoj2208 [Jsoi2010]连通数
题目暴力出奇迹。由于太弱,对图论不太熟悉,就写暴力吧,理论貌似可过233 实测10s内跑出来了#include<bits/stdc++.h>#define N 2000using namespace std;int n,tmp,ans;char opt;vector <int> E[N+1];bool vis[N+1];void add(int x,int y){ E[x]原创 2017-09-09 16:17:55 · 271 阅读 · 0 评论 -
bzoj4562 [Haoi2016]食物链
题目输入符合生物学特点233,所以这就应该是一个有向无环图,我们尝试在上面做dp。显然,f[i]=sigma(f[u]),u连向x,按照拓扑序来。 注意统计答案时,只记录出度为0的点。 当然,一个点不能算食物“链”233#include<bits/stdc++.h>#define N 100000using namespace std;int n,m,x,y,ans;int f[N+1]原创 2017-08-30 07:42:46 · 631 阅读 · 1 评论