
pat-数据结构
要认认真真
这个作者很懒,什么都没留下…
展开
-
02-2
/* title:02-2 问题分类: 没有0项判断结束 求导倒着改, 对于0项不输出 ,但是输入 没有0项 */还有一个测试点没有过http://www.patest.cn/contests/mooc-ds/02-2#includestruct t{ int xi; int zhi;}a[10000];int m原创 2015-01-09 11:04:42 · 261 阅读 · 0 评论 -
06-2
http://www.patest.cn/contests/mooc-ds/06-2注意1使用vector,用vs调试,监视v不能完全显示邻接表,只能监视v[0],v[1],v[2],这样才能完全显示注意2单源最短路径,有2层循环//第一层循环,n-1次newp = x;for(int i=0;i<n-1;i++){ //里面有2个小循环,共3步 //第1步,小循环1:原创 2015-01-24 10:10:23 · 254 阅读 · 0 评论 -
05-3
http://www.patest.cn/contests/mooc-ds/05-3题目中有10000个点,边更多,若用邻接矩阵,双重循环必超时,因此用vector遍历还是用模板错误一:dfs遍历,最后一个点不过由于dfs调用系统栈,最多15000,而边可能会有很多,所以不过错误二:什么时候层数更新改用bfs,用tail不断记录队尾,用last表示本层的最后一个节点,只有当原创 2015-01-21 11:32:01 · 280 阅读 · 0 评论 -
05-2
换了vs终于大致知道怎么用了,想念cfree啊进入到了图,开始感觉简单到爆,事实证明我错了图,先考虑用什么数据结构,g[max][max]还有一种用vector容器的,后面有习题05-2 有一个测试点没过http://www.patest.cn/contests/mooc-ds/05-2我的错误主要是1.对dfs不熟悉void dfs(int x){原创 2015-01-20 15:47:47 · 332 阅读 · 0 评论 -
04-1
啊啊啊啊,被折磨的遍体鳞伤,最后参考老师给的代码写出些来所以坚持就是一定能看到希望,永远不能放弃http://www.patest.cn/contests/mooc-ds/04-1犯的错误:1.struct tree{ int data; int left; int right; int height;}t[MAX];这里我用left,right存储的是数字,原创 2015-01-15 17:43:25 · 264 阅读 · 0 评论 -
04-2
莫名的一坑http://www.patest.cn/contests/mooc-ds/04-2数据太大,要用压缩路径int findRoot(int x){ if(a[x]==-1){ return x; }else{ int tmp=findRoot(a[x]); a[x]=tmp;//路径压缩 return tmp; }}/* title:原创 2015-01-16 09:56:09 · 246 阅读 · 0 评论 -
03-2
/* 竟然段错误,不解*/#include#include#includestruct btnode{ struct btnode *lchild; struct btnode *rchild; int data; bool isroot;}*list[20];int zu;int exchange(char a[原创 2015-01-10 21:19:45 · 333 阅读 · 0 评论 -
03-3
好吧,又一个不明白的最普通的栗子不过http://www.patest.cn/contests/mooc-ds/03-3/* title: 问题分类:*/#include#includeint stack[40];int top=-1;int gettop(){ return stack[top];}int pop(){ return stack[top原创 2015-01-12 13:40:08 · 284 阅读 · 0 评论 -
02-3
哈哈哈哈哈~竟然一次过!!!不过样例确实给了很多提示参考了别人代码/* title:02-3 问题分类: 新思路: 1.倒着看,遇到数字进栈,运算符出操作数2个 2.对于数字,就当做无小数点,直到遇到小数点,除以该权值,重置权值,再算 3.数字正负问题 */#include#includedouble ss[40];int top=-1;void p原创 2015-01-10 21:42:41 · 281 阅读 · 0 评论 -
01-2
有个测试点还是没有过,可能是0和一堆负数的问题http://www.patest.cn/contests/mooc-ds/01-2/* title:01-2 问题分类:最大子序列 */#includeint main(){ freopen("in.txt","r",stdin); int zu; int a[10001];原创 2015-01-07 13:33:20 · 238 阅读 · 0 评论 -
03-1
/* title: 问题分类:*/科学计数法1e-3判断边界http://www.patest.cn/contests/mooc-ds/03-1#include#includedouble a1,a2,a3,a4;double f(double x){ return a1*pow(x,3)+a2*pow(x,2)+a3*x+a4原创 2015-01-09 16:36:05 · 263 阅读 · 0 评论 -
02-1
/* title: 问题分类: 1.有多个-1 2.只有一个节点 3.翻转全部节点,最后改-1 对于1始终不过,5ab10010是段错误 */http://www.patest.cn/contests/mooc-ds/02-1#includestruct t{ int add; int data; int n原创 2015-01-09 11:06:12 · 250 阅读 · 0 评论 -
06-3
http://www.patest.cn/contests/mooc-ds/06-3用并查集找最小生成树注意1.路径压缩//找到x的根节点int findr(int x){ //如果该节点为根节点,返回本身 if(root[x]==-1){ return x; }else{ int tmp=findr(root[x]); //压缩路径 root[x]=tmp原创 2015-01-24 11:21:15 · 365 阅读 · 0 评论