- 博客(18)
- 收藏
- 关注
原创 Dijkstra-point-to-point shortest path and distance
基本思想 source -> target1.找出源节点到所有节点的距离dist[i],取最小值,对应的就是源节点到该节点node的最短路径;2.if(node==target)return dist[target];3.根据1步找到的最短路径,(dist[node] + edge[node][j] < dist[j])更新源节点到各个节点的距离;否则不更新;4.重复以上步骤。#inc...
2018-03-26 20:03:17
184
原创 广搜-point-to-point最短距离(大文件)-邻接表
#include <iostream>#include <cstdio>#include <stack>#include <vector>#include <queue>#include <ctime>#include <cstdlib>using namespace std;///图的邻接表struct AdjL
2018-03-26 19:56:43
190
原创 图生成器
CreateGraphPart.cpp ///产生小文件个part,#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <windows.h>#include <string.h>using namespace std...
2018-03-23 11:26:17
212
原创 大数据---图生成器(三元组)
1. 为能保证图的连通性,先生成一棵二叉树,写入文件,然后随机生成两个节点以及权重2. 生成之后,消除重复:对于节点多的大数据文件进行排序; 排序过程:1 首先把文件的一部分调进内存,利用快排对第一个节点排序,如果第一个节点相同,利用第二个节点排序 排序后保存到文件中; ...
2018-03-08 15:41:21
2261
原创 快排
#include #include using namespace std;int n; ///算法中的快排,当你在partition的过程中,始终保持着,数组被分成3部分,左边比key值小,并且有序,中间部分比key值大,右侧无序int partition(int A[],int l,int r){ int i=l-1; int j;
2016-05-09 19:53:45
206
原创 Light Bulb
DescriptionCompared to wildleopard's wealthiness, his brother mildleopard is rather poor. His house is narrow and he has only one light bulb in his house. Every night, he is wandering in his incom
2014-07-18 16:48:23
383
原创 UmBasketella
DescriptionIn recent days, people always design new things with multifunction. For instance, you can not only use cell phone to call your friends, but you can also use your cell phone take pho
2014-07-18 16:43:04
284
原创 Solve this equation&& Just Solve It(二分)
Solve this equation Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status DescriptionNow,given the equation 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y,can
2014-07-17 13:25:58
600
原创 《火车进站》的解题报告
1.题的大概意思是:给定两个字符串问是否可以按照第一个进站顺序以第二个顺序出站;2.利用栈结构来解决此问题,让第一个字符串所代表的车入栈,然后分别判断是否和第二个字符串对应相同,如果相同就让其出栈,最后判断栈是否为空,如果为空则是可以以这个顺序出站;否则不可以;
2014-01-22 16:35:24
796
原创 《电脑通信》的解题报告
1.本题的解题方法为并查集,(它的主要步骤并、查、);2.输入各个计算机的坐标,求出相邻计算机的距离的平方与最大的通信距离的平方比较,并且判断所测试的计算机是否修理过;3. 然后,输出相应的结果。
2014-01-18 16:47:44
361
原创 解题报告(所看的最多节目)
1.首先考虑解题的思想,因为想看节目最多,所以就是贪心思想;2.然后,按照节目结束时间进行排序;3.排序之后,优先选择结束时间早的(先选择第一个然后根据结束时间选择下一个,下一个的开始时间大于等于第一个结束时间并且选择结束时间最小的,以此类推)。
2014-01-18 16:34:04
424
原创 I think 'catch that cow'
首先:判断人和牛所在的位置关系;第二:定义结构体(包括1.数组记录人所在的位置坐标2.标记数组用来标记人是否走过3.人所走的步数);第三:把人所在位置入队,用标记数组标记人走过的位置为1,步数增一;下次的位置如果之前走过不入队;最后:到达牛所在位置,输出所走最小步数。
2014-01-15 10:04:24
357
原创 堆排思路
堆排中心:1.建堆(调整元素所在位置)(最大堆). { a.将数组元素写成树的形式 b.判断每一层父节点和子节点的大小关系(从叶子开始一直到根) c.根据大小关系调整元素所在位置
2014-01-13 09:44:45
484
原创 冒泡法排序
#include#define N 100main(){ int n,i,j; int p; int a[N]; scanf("%d",&n); for(i=0;i scanf("%d",a+i); for(i=0;i { for(j=0;j { if(a[j]>a[j+1]) { p=a[j];
2014-01-12 15:41:25
321
原创 选择法排序
#include#define N 100main(){ int n,i,j,k; int p; int a[N]; scanf("%d",&n); for(i=0;i scanf("%d",a+i); for(i=0;i { k=i; for(j=i+1;j { if(a[j] k=j;
2014-01-12 15:39:54
443
原创 插入排序
#include#define N 1000void insert(int a[N],int n);main(){ int n; int a[N]; int i; scanf("%d",&n); for(i=0;i scanf("%d",a+i); insert(a,n); for(i=0;i printf("%d ",a[i]);}
2014-01-12 15:39:21
326
原创 折半插入排序
#include#define N 1000void insert(int *a,int n);main(){ int a[N]; int n; int i; scanf("%d",&n); for(i=0;i scanf("%d",a+i); insert(a,n); for(i=0;i printf("%d ",a[i]);}
2014-01-12 15:36:11
399
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人