近几天的悲剧合集
来源:互联网 发布:网络摄像头品牌排行榜 编辑:程序博客网 时间:2024/04/30 06:40
首先,前天晚上鼓起勇气写fhq的K凹凸序列,写来写去,它竟然给我超时。好伤心的。后来,猛然间,发现我的左偏树的combine是这么写的:
int combine (int i, int j){ if (key[j] > key[i]) swap (&i, &j); if (!j) return i; rc[i] = combine (rc[i], j); if (dist[rc[i]] > dist[lc[j]]) swap (&lc[i], &lc[j]); dist[i] = dist[rc[i]] + 1; return i;}
这还是左偏树吗?根本就不交换左右子树。。于是,被我一改,改成int combine (int i, int j){ if (key[j] > key[i]) swap (&i, &j); if (!j) return i; rc[i] = combine (rc[i], j); if (dist[lc[i]] > dist[lc[j]]) swap (&lc[i], &lc[j]); dist[i] = dist[rc[i]] + 1; return i;}
一测,还是超了。发现,这次交换的是i的左孩子和j的左孩子,有用吗?于是,又变成这副模样:
int combine (int i, int j){ if (key[j] > key[i]) swap (&i, &j); if (!j) return i; rc[i] = combine (rc[i], j); if (dist[lc[i]] > dist[rc[i]]) swap (&lc[i], &rc[i]); dist[i] = dist[rc[i]] + 1; return i;}
这样总可以了吧。。可是,还是超了。我看xqz写的都是斜堆,怎么比我的还快些呢?某一次,我把带//的两句删了,发现竟然过了。。好神奇,斜堆比左偏树快。。。猛然之间,发现我写的竟然变成了右偏树。。。怎么会这样。。。于是,最终版本如下,终于过了:
int combine (int i, int j){ if (key[j] > key[i]) swap (&i, &j); if (!j) return i; rc[i] = combine (rc[i], j); if (dist[lc[i]] < dist[rc[i]]) swap (&lc[i], &rc[i]); dist[i] = dist[rc[i]] + 1; return i;}
昨天用ld的最大流的方法写省队集训day1的snake,写来写去最后就是错那么一个点。。好悲伤。。我静态查错查了好久,硬是没发现什么错误。我想,可能是增广不够吧,于是我在求了最大流之后随手又加了一句isap(),发现竟然过了!!好开心!!但到底是错在那个地方呢?我很怀疑是我的gap。把gap优化删了之后就过了,泪流满面。。以后请注意,gap优化应该写成这个样子:
else { --gap[dtmp = dist[i]]; /* DO NOT FORGET */ e = adm[i] = edge[i]; for (mindist = vexsize - 1; e; e = g[e].n) if (dist[g[e].t] < mindist && g[e].c) mindist = dist[g[e].t]; ++gap[dist[i] = mindist + 1]; if (!gap[dtmp]) break; /* DO NOT FORGET */ if (i != src) i = pred[i]; }
- 近几天的悲剧合集
- 近几天的计划
- 近几天的总结
- 近几天的开发经历
- 近几天的杂思
- 近几天对DataSet的新认识
- 关于近几天的笔试总结
- 近几天情况
- 近几天状态不佳
- 10.5 近几天小结
- 近几天小结
- 纪念csdn博客的开通及近几天的生活
- 近几天工作小事总结
- oracle 查询近几天数据
- 说说这几天的悲剧事吧(2011/05/26)
- 获取近三月、近一月、近几天日期
- 近几天在andriod的学习过程中遇到的一些细节
- tree的合集
- 使用DOS命令找到占用80端口的程序,关闭该程序
- Atlas学习手记(4):使用AutoComplete Extender实现自动完成功能
- EveryDay English
- 抄别人的例子,学习基础
- Characteristics of a software architect
- 近几天的悲剧合集
- 锻炼身体
- ArcEngine的Commands/Menus/Tools
- 一年之前,一年之后。
- “微团”网页设计—首页(今日团购)
- 存儲過程解密SQL 对单个或所有存储过程
- 两个tomcat
- Windows7更加的精彩
- iphone学习笔记--常用的代码