- 博客(5)
- 收藏
- 关注
原创 PTA-7.1-列车厢调度(栈的应用)
1.题目要求: 题目点我 2.思路解析: 样例如图:1-3轨道都可以看成是栈,不论是1轨还是3轨都应该让栈顶指向车厢在轨道的移动方向(因为栈的优点是在栈顶插入和删除元素很方便,反过来的话代码写起来会很麻烦)。 结合图和题目要求的输入,两个输入都应该逆序入栈 主要思路: 由于输入给了原始车厢都在轨1的情况,和最终车厢都进入到轨2的顺序。我们可以从最终车厢都在轨2的情况入手,判断是否会出现不合理的情况。 For example,第一个进入2轨的是C,则C可能有两种来源:①从1轨直接到2轨,②从3轨到2轨。
2020-10-23 17:17:59
2182
原创 [专题训练2]最短路
算法: Floyed算法(O(n^3)) Dijkstra (适合稠密图) SPFA:优点是可以处理负权值,但是不能处理负环,使用前最好先判断是否有负环(适合稀疏图)(还不熟)* 会用到的存图方法: 邻接矩阵 邻接表 前向星 (待学) 进度: 1.MPI Maelstrom POJ1502 (无向图) 题目在此 一开始看错了题意,以为需要对所有dis求和,实际上只需要取最大值 stoi不能用,可以用atoi(char*转化成int) 代码: #include<iostream> #inclu
2020-08-02 19:34:13
112
原创 [专题训练1]二分图匹配
[专题训练1]二分图匹配 匈牙利算法,除了二分图多重匹配外在二分图匹配中都可以使用。 难点在建图与判断二分图。 判断二分图时使用BFS染色法。 定理:一张图是二分图,当且仅当图中不存在奇环(长度为奇数的环)。 最小路径覆盖=顶点个数-最大匹配数 最小点覆盖 = 最大匹配数 1.Courses HDU1083 (比较裸的完全匹配) 题目链接: 题目在此 代码: #include<iostream> #include<cstring> using namespace std; cons
2020-08-02 11:06:44
121
原创 数组元素循环左移/右移的“两种”思路
(以下用n表示 数组元素总数 m表示 移动位数) 均以右移为例 思路1: 思路:将123456分割成前n-m 优点:运算次数较少 代码实现:(仅函数部分) int ArrayShift( int a[], int n, int m )***//函数形参中的a[]看成指针*a = a*** { //1234 56 // n-m m //4321 65 //561234 int i,j,inv...
2019-11-19 20:24:44
1397
原创 算法笔记:函数题-多项式求值(C语言)
算法笔记:函数题-多项式求值(C语言) 一.解题 题目要求 本题要求实现一个函数,计算阶数为n,系数为a[0] ..a[1]... ...a[n]的多项式f(x)=∑i=0n(a[i]×xi) 在x点的值。 double f( int n, double a[], double x); //其中n是多项式的阶数,a[]中存储系数,x是给定点。函数须返回多项式f(x)的值。 ...
2019-10-25 22:28:46
2378
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人