摘要:
题目大意:n个点m条边的有向图,q次询问c,s,t,表示汽车邮箱容量为c,求从起点s到终点t的最小费用。汽车在每个点可以加任意的油,每个点的单位油价为a[i]。 题目思路:利用最小费优先队列优化最短路,dist[u][use]代表到达u节点,剩余use单位汽油的花费值。 #include<stdio 阅读全文
摘要:
题目大意:有向图,新计划的地铁,有k个计划新路,利用现有的铁路、k条新路和限定只能用d条新路,找出从0到n-1的最短路径 题目思路:用dist[u][use],储存使用use条新路,到达节点u的最短路径。 #include<stdio.h> #include<string.h> #include<s 阅读全文
摘要:
次短路算法 阅读全文
摘要:
约瑟夫环问题描述:一圈共有N个人,开始报数,报到k的人自杀,然后重新开始报数,问最后自杀的人是谁? 思路: 1.直接暴力模拟,没什么好说的,简单暴力。但是时间复杂度为O(n*m),太过浪费时间。 2.动态规划,把问题重新描述一下:N个人(编号0~(N-1)),从0开始报数,报到(k-1)的自杀,剩下 阅读全文
摘要:
题目大意: 给出n个点的坐标,求至少画多少掉直线才能连接所有点。 题目思路:状态压缩 首先经行预处理,求出所有状态下,那些点不在该状态内 以任意两点为端点求出这条直线的状态 枚举所有状态,找出不在当前状态下的两点,以这两点所形成的直线经行更新dp。 其中dp[i]表示在i状态下的最优解。 #incl 阅读全文
摘要:
题目大意: 给出n*n的矩阵Map,Map[i][j]代表第i个男人和第j个女人之间的满意度,求男女一一配对后,最大的满意度之和。 题目思路:状态压缩 题目可看做每行取一点,所有点不同列的情况下,各个点的最大和为多少。 dp[i][j],代表第i行,状态为j的情况下的最优解,其中j的含义为:j所代表 阅读全文
摘要:
拓扑排序 阅读全文
摘要:
优先队列:顾名思义,首先它是一个队列,但是它强调了“优先”二字,所以,已经不能算是一般意义上的队列了,它的“优先”意指取队首元素时,有一定的选择性,即根据元素的属性选择某一项值最优的出队~ 阅读全文
摘要:
题目大意:给出一个连通图,求再一个边后,剩余的最少桥数。 题目思路:首先进行缩点得到重构后的图,求出重构后树的直径(通过两次BFS求出相距最远的两点间的距离),ans=重构图边数-树的直径 //#pragma comment(linker, "/STACK:102400000,102400000") 阅读全文
摘要:
无向图求桥 阅读全文