自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Accsc的博客

心怀梦想,持之以恒

  • 博客(7)
  • 收藏
  • 关注

原创 HDU-1325 Is it a tree? (勉强算并查集?)

判断是不是一棵树,只要三个条件 1. 每个点至多只能有一个父节点 2.n个点,对于n-1条边 3.不存在自环 用一个集合p储存出现过的点的序号,f储存有已经父节点的点;flag表示是是否满足条件1和3,edgenum记录边的数量 #include<cstdio> #include<set> using namespace std; set<int> ...

2018-09-19 22:40:14 195

原创 ZOJ-3261 Connections in Galaxy War(并查集)

1.读入点的权值和边(保证first顶点编号小于second顶点),集合清空,并查集每个元素置为-1 2.读入所有请求,将摧毁请求中的边转换为一个int储存在集合中(设两顶点编号为a,b,且a<b,那么哈希值为10000*a+b,因为最多有10000个点,采用了10000进制的思想,ab有序保证一条边的哈希值不因为定点出现顺序不同而不同) 3.遍历所有的边,若该边不在集合中,合并两个顶点...

2018-09-18 20:24:50 197

原创 POJ-2892/HDU-1540 Tunnel Warfare (树状数组+二分查找)

这两道题的题目时一样的,但是数据不一样。 bool d[maxn]; 用于记录村庄i是否被炸毁 建立一个树状数组bit[maxn],sum(i)用于计算[1,i]区间内被摧毁的村庄的个数 stack<int> 记录被炸毁的村庄的顺序 下面对三种指令进行处理 首先对数据做一点说明:POJ的数据中应该没有继续炸毁已经被炸毁村庄的操作,但是HDU的数据中有 1. D x   摧毁...

2018-09-17 12:28:53 285

原创 LightOJ-1074 Extended Traffic (stack优化Bellman-Ford)

每个junction就是图的一个顶点,边权就是(终点的busyness-起点的busyness) ,所以可能会出现负边和负环。要用Bellman-Ford算法求单源最短路。 在这里要注意,本题的图中是包含负环的,对于能求得最短路的点就求,不能到达的点和无最短路的点都要标记出来。 d[i]==inf 表示i处无法到达,d[i]仍是初始值;cnt[i]>=n,代表i点已经n次入栈,如果有最短...

2018-09-11 20:22:37 272

原创 POJ-3159 Candies( 栈优化Bellman-Ford+邻接表)

与POJ1151类似,较大输入,需要用邻接表。 由于我们要求的是与顶点1最大的差值,需要先将d[]数组初始化为无穷大,然后一步步根据边的约束缩小到合理的最大值。 然而这道题与众不同的一点是队列优化的Bellma-Ford会超时,栈优化就不会,网上有博客说在很多情况下栈的效率的确高于队列,我也不知道为什么....记录一下这种做法 最后注意用于指向数组模拟链表的下一节点的nxt[]数组的大小应与...

2018-09-08 00:21:03 332

原创 POJ-1511 Invitation Cards (SPFA+邻接表)

这个题主要的点在于数据量过大(以及题目废话过多),然后就带来了储存上的不便,用刘汝佳紫书上喜欢用的vector那样会因为直接超时,然后简单的邻接矩阵在VS中直接提示数组过大....所以一个好的方案是数组模拟链表实现邻接表。这样做比直接使用链表的好处在于节省了反复申请释放内存所消耗的可观的时间。 然后对于这种百万级别的数据,简单的bellman-ford或者dijkstra应该会超时,所以这里选择...

2018-09-07 19:25:07 240

原创 UVa247 Calling Circles (Floyd +DFS/并查集)

本题中两点A,B在一个一个calling circle中的条件是存在一条A->B的路径,也存在一条B->A的路径。可以用Floyd算法传递闭包, g[i][j] 为1表示i->j存在路径,反之表示不存在,那么AB在一个circle中等价于 g[A][B]&&g[B][A]。 可以用DFS或者并查集来输出连通分量。 本题的顶点以string表示,可以用STL ...

2018-09-04 13:27:54 233

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除