DFS,深度优先搜索
Hacheylight
ZJ OIer
展开
-
树链剖分模板 LG3384
这里是来凑个帖的,勿看。树剖详解本人题目写炸了的经历和经验#include <bits/stdc++.h>using namespace std;const int N = 100010 ;#define int long longstruct edge{ int to,next ;}e[N<<1];int head[N],f[N],de...原创 2018-08-03 20:14:47 · 139 阅读 · 0 评论 -
货车运输 NOIP 2013 day1 t3
这个题目想A掉两个多月了,今天终于AC了,好开心 ^_^题意是 有一个有n个点m条边的图,每次询问两个点路径上最小边权的最大值。根据最大生成树的性质,先kruskal求出最大生成树,有g存储新的生成树。然后倍增相当于在树上求出两两点的路径上最小边权的最大值。之后通过dfs解决f[i][0],w[i][0],dep[i]f[i][0],w[i][0],dep[i]f[i][0],w[...原创 2018-08-05 08:38:37 · 179 阅读 · 0 评论 -
洛谷Luogu-1443 马的遍历 (BFS) HQG_AC的博客
8ms,32行,都算中等,但比较清晰。就是简单的bfs么。注意一个细节:这里可以用vis数组记录有没有到过。因为bfs是保证先遍历到的点的step<后遍历到的,所以可以这样。(即不会有更新) code:#include <bits/stdc++.h>using namespace std ;struct node{ int x,y,step ;}s...原创 2018-02-21 11:19:16 · 318 阅读 · 0 评论 -
USACO 2018 December Contest Silver 题解
T1 Convention【题意】有nnn头奶牛,第iii头在a[i]a[i]a[i]时刻到达,有mmm量大巴车接他们,每辆最多载kkk人(注意不需要坐满才能走),求等候时间最长的奶牛最短时间是多少【分析】又是最大值最小的问题,很容易想到二分答案二分等候时间最长的奶牛等候midmidmid分钟checkcheckcheck函数也很好想先按到达时间把奶牛排序记录第一个上车的时间和已上...原创 2018-12-25 16:27:58 · 563 阅读 · 0 评论 -
bzoj 4401 块的个数(树分块)
这题和分块没有关系啊有两个结论:1、一棵树划分成 kkk 份的方案是唯一的(但可以不存在);2、一棵树可以划分成 kkk 份,当且仅当有 kkk 个子节点的子树大小是 nk\frac{n}{k}kn 的倍数所以只要 DFSDFSDFS 求出每个节点为根的子树大小(即节点个数),然后枚举分成的块数即可解决。#include &amp;lt;map&amp;gt;#include &amp;lt;set&amp;gt;..原创 2019-02-21 17:28:31 · 243 阅读 · 0 评论 -
Codeforces 877E Danil and a Part-time Job (dfs序,线段树)
题意:给一棵 nnn 个节点的树,每个节点有一个灯,灯可亮可灭。给出 mmm 个操作,分为两种:将 xxx 及其子树的灯变成相反状态(亮变灭,灭变亮);统计 xxx 及其子树有多少个灯是亮的。题目要我们支持子树异或,子树求和这类子树问题可以很好的用 dfsdfsdfs 序解决子树对应着 dfsdfsdfs 序的一个区间区间就可以用线段树完成记录 szszsz 表示子树大小,v...原创 2019-02-23 10:53:13 · 209 阅读 · 0 评论