上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 14 下一页
摘要: 求一个点到另一个点的路径中最小的最大边。 松弛操作改成if(d[v]>max(d[u],w)) d[v]=max(d[u],w); 即可。 阅读全文
posted @ 2018-09-06 17:05 LMissher 阅读(103) 评论(0) 推荐(0)
摘要: 题意是把一幅图分成n层,在第x层的点可以去x+1层,x+1层的点也可以返回x层,花费为c。 再额外给m条边,问1到n的最短路。 建图的时候新建n个节点,每个节点表示第i层的顶点,顶点向第i层每个点连有向边,边权为0,同时原始点向其下一层和上一层的顶点连有向边,边权为c。表示这一层的点可以通过顶点花费 阅读全文
posted @ 2018-09-04 22:38 LMissher 阅读(119) 评论(0) 推荐(0)
摘要: 待更 阅读全文
posted @ 2018-09-04 22:32 LMissher 阅读(116) 评论(0) 推荐(0)
摘要: 拓扑排序找环模题,如果一次排序所有点不能全部删除则有环,因为环的所有点入度为1。 #include <bits/stdc++.h> #include <unordered_set> #include <unordered_map> #define pb push_back #define mp ma 阅读全文
posted @ 2018-09-04 14:23 LMissher 阅读(108) 评论(0) 推荐(0)
摘要: 给一幅图,边从0开始每天多一条边,问每天增加边之后能够有多少人去旅游。 能去旅游的定义是只有当联通的点的度数都大于才能去旅游,否则都不能去旅游。 考虑从后往前遍历删边,当有点的度数小于k时将这个点从图中删去并把它的边删去。 #include <bits/stdc++.h> using namespa 阅读全文
posted @ 2018-09-04 08:10 LMissher 阅读(129) 评论(0) 推荐(0)
摘要: 给一个树上的BFS序列问是否合法,BFS都以1为根节点。 第一种做法比较容易想到,每遇到一个节点查找它后面的size节点是否在子树里在就推入队列,有不在的就不合法。 #include <bits/stdc++.h> #define lson l,mid,rt<<1 #define rson mid+ 阅读全文
posted @ 2018-09-03 08:39 LMissher 阅读(198) 评论(0) 推荐(0)
摘要: 和hdu5023一样不过询问不同。 #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #include <iostream> #define lson l,mid,rt<<1 #define rson 阅读全文
posted @ 2018-09-02 19:05 LMissher 阅读(86) 评论(0) 推荐(0)
摘要: 染色覆盖问题,有q次操作,每次操作可以把一个区间染成一种颜色或者把询问一个区间有多少中颜色。 把一个区间拆分成线段树中的一个一个的小区间,查询的时候也一样,当我们要染的区间是一个大区间的一部分且大区间有颜色时,把大区间的颜色pushdown。 查询时当线段树的区间包含了我们要查询的区间就返回这个区间 阅读全文
posted @ 2018-09-02 17:02 LMissher 阅读(105) 评论(0) 推荐(0)
摘要: 分层图最短路模板题。 #include <bits/stdc++.h> using namespace std; typedef long long ll; const ll inf = 1e18; const int M = 1e5+7; int n,m,cnt,head[M],flag[M][2 阅读全文
posted @ 2018-09-02 14:19 LMissher 阅读(160) 评论(0) 推荐(0)
摘要: 题意是给一幅图可以把k条边权值变为0,求最短路。 分层图裸题,分层图忘完了啊,上次做分层图还是很久以前了,不过套了个板子过了。 分层图就是再开一维数组记录额外的状态,这道题可以把k条边权值变为0,那多开的那一维数组j就表示有j条边权值为0,做个dp就好。 #include <bits/stdc++. 阅读全文
posted @ 2018-09-02 11:37 LMissher 阅读(288) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 14 下一页