图论
wangqianqianya
这个作者很懒,什么都没留下…
展开
-
图论:tarjan算法
可以求有向图强连通分量个数,每个强连通分量的节点数等,还可以求割点和桥 强连通图G:G中任意两节点都可以相互到达 强连通分量:G不是强连通图,但G的子图G'是强连通图,则G'为G强连通分量。强连通分量是环。 割点:如果去掉图中节点v及与v相连的边后,图的强连通分量变多了,则v为割点 桥:如果去掉某条边后图的强连通分量变多了,则该条边为桥。 有割点不一定有桥,有桥一定有割点。如C为割点,但...原创 2019-07-11 20:12:45 · 337 阅读 · 0 评论 -
“华为杯”中国矿业大学程序设计学科竞赛
G、毕业生的纪念礼物theme:输入n表示纪念品数目,接下来n个数代表第i个数的类别,给每个人发3个不同类别的纪念品,问最多能给几个人发?1≤n≤100000,1≤r[i]≤1e9solution:首先由贪心,每次应该选择数量最多的三个类别,这样就可以保证没一状态下都是总种类最多状态。注意选出三个后要重排,所以我们用优先队列存,每次取出三个-1,若值不为0,则再存入优先队列。#inc...原创 2019-07-08 13:10:08 · 541 阅读 · 0 评论 -
2019 Multi-University Training Contest 1
Stringtheme:给定一个仅包含小写字母的字符串,求字典序最小的长度为k的子序列满足26个约束条件:第i个约束条件表示字母i出现的次数在[l,r]范围内。|S|≤10^5solution:最终是要求字典序最大的序列,所以贪心选择,每选一个元素都从a~z顺序选择。所以首先用queue(因为是从前往后弹出,即先进先出)记录下每一个每个字母在数组中的下标,对每一个字母所在的所有位置(但要在...原创 2019-07-23 16:36:10 · 237 阅读 · 0 评论 -
2019 Multi-University Training Contest 3
hdu6611:K Subsequencetheme:给定一个含n个元素的序列,可以选择k轮,每轮选出非降子序列求和,选过的元素不能再选,求k轮后最大能得到的和。solution:最长非降子序列与dp、线段树、网络流联系紧密。每个数字有次数限制,所以考虑费用流。增加一个源点与汇点,再在源点之后与汇点之前增加一个点,分别于源/汇点相连,出/进的流量为k(限制k轮),费用为0。这两点都与每一个...原创 2019-08-01 15:05:29 · 136 阅读 · 0 评论 -
Codeforces Round #581 (Div. 2)
C. Anna, Svyatoslav and Mapstheme:给你一个有向无权图,给出一条路径p经过的点(不一定为简单路径,即可以有重复点),要找出最短子序列v使得p是一次经过v中所有点的一条简单路径。2≤n≤100,2≤m≤10^6solution:首先用Floyd求出任意两点间的最短路径。然后贪心选点(尽可能使每个点不选就满足要求):首先第一个点一定要加在答案里,因为它是起点,之...原创 2019-08-25 21:24:30 · 141 阅读 · 0 评论 -
最短路
单源最短路径DijkstraO(E+VlogV)贪心,每次找当前离源点最近的点,所以不能处理负权边。poj2387 Til the Cows Come Home#include<iostream>#include<queue>using namespace std;struct qnode{ int v; int d; qn...原创 2019-08-21 22:09:36 · 244 阅读 · 0 评论 -
Codeforces Round #551 (Div. 2)
D. Serval and Rooted Treesolution:给定一棵树(无环),除叶子节点外,给定每个节点的一个操作为max或min,表示该节点的值等于其所有子节点的值的最大或最小值。现要你给树的k个叶子节点赋予1~k的值(每个数字用一次),是的根节点1的值最大。1<=n<=3e^5solution:DP思想,dfs实现DP。用dp[i]表示节点i的值是它所有子叶子节点...原创 2019-08-27 21:09:01 · 132 阅读 · 0 评论 -
树的重心与直径
树的重心树的重心也叫树的质心。找到一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心,删去重心后,生成的多棵树尽可能平衡。 树中所有点到某个点的距离和中,到重心的距离和是最小的,如果有两个距离和,他们的距离和一样。 把两棵树通过一条边相连,新的树的重心在原来两棵树重心的连线上。 一棵树添加或者删除一个节点,树的重心最多只移动一条边的位置。 ...原创 2019-08-28 14:52:54 · 342 阅读 · 0 评论 -
2019ICPC南京网络赛
A. The beautiful values of the palacetheme:给定一个n*n螺旋矩阵,现从螺旋矩阵中选出m个位置,每个位置的价值由它的元素值的每个数位之和表示,其余位置的元素全部置为0,q次询问,每次询问子矩阵价值。1<=n<=1e6,m,q<=1e5solution:首先要根据螺旋矩阵的性质推出给定x,y,矩阵中(x,y)的元素值。之后问题转化为...原创 2019-09-03 22:59:23 · 177 阅读 · 0 评论