02 2017 档案

摘要:参考链接 二叉加分树:注意,从i到n的最大值应该由后面到部分区间构造出来,即i应该倒序枚举,一开始想到是用记忆化搜索,枚举断点k值,也是犯了枚举起点到错误,导致根本构造不出答案,已经是不会做啦,直接就看题解啦,代码其实和参考的完全一样:算是抄啦吧 不过感觉dp还是不能这样,这个真的要思维,以后必须想 阅读全文
posted @ 2017-02-27 22:31 rsqppp 阅读(137) 评论(0) 推荐(0)
摘要:回家学了下gdb。 命令如下: 命令 d [编号] d: Delete breakpoint的简写,删除指定编号的某个断点,或删除所有断点。断点编号从1开始递增。 (gdb) d s 相当于其它调试器中的“Step Into (单步跟踪进入)”;n 相当于其它调试器中的“Step Over (单步跟 阅读全文
posted @ 2017-02-24 18:47 rsqppp 阅读(142) 评论(0) 推荐(0)
摘要:prim算法和kruskal算法是解决生成树的算法,prim更快,但kruskal实现简单, 思路上是贪心: prim:每次寻找离生成树最近的点,加入生成树,再用那个点松弛其他点到生成树的距离,一般是O(N2);当然,有优化,二叉堆可以到达,斐波那契堆可以优化到 kruskal:给边排序,区最小的边 阅读全文
posted @ 2017-02-23 16:40 rsqppp 阅读(180) 评论(0) 推荐(0)
摘要:埋个强连通分量教程的坑: 其实现在可以看一下kosaraju的思路,每次dfs我们可以得到一棵dfs树,如果我们从明智的节点选择开始dfs可以方便的通过反向有向边得到一个强联通分量,但不明智的节点选择则会直接遍历整个图,通过上面个的例图可以看到拓扑序末端的的节点能恰好遍历一个联通分量,而一棵dfs树 阅读全文
posted @ 2017-02-19 13:21 rsqppp 阅读(264) 评论(0) 推荐(0)
摘要:超水的并查集加背包,我居然卡了几次,最后是傻逼的多套了层循环,, 调试的时候一定要专注,不然不可能找到错误, 确保程序能运行再去追求结果,你的目的是做对这个算法题,不是来秀你不熟的运算符重载, 题目 阅读全文
posted @ 2017-02-15 22:31 rsqppp 阅读(173) 评论(0) 推荐(0)
摘要:题目参见 枚举生成最小生成树,维护一下答案。 注意int的函数会默认返回0 代码: 阅读全文
posted @ 2017-02-15 20:29 rsqppp 阅读(144) 评论(0) 推荐(0)
摘要:题目 无数傻逼错误出现这一题。 码头数和天数一直搞反,偏偏样例还就是反了也是一个运行结果, 建图出现傻逼错误。 最短路再无法到达是返回固定值INF 最短路的思路: 预处理哪几天哪几个码头无法经过,每次dijkstra时处理一下时间段内那些码头不能到达,然后和vis数组一起判断一下就好了,最后返回 然 阅读全文
posted @ 2017-02-13 20:00 rsqppp 阅读(145) 评论(0) 推荐(0)
摘要:不说了,这玩意就是个人生题,昨天晚上各种鬼,还有变量突然变成0的坑爹事情都出现了。 十五步以上算-1解。。。 总体思路,IDA*: 1.写个估值函数,这里我写的是和目标图的理想差异 2.枚举步数,根据步数和估值来决定剪枝。 3.一点经验,估值剪枝不要严格卡在步数上,可以适当放高上限,确保答案在搜索树 阅读全文
posted @ 2017-02-10 13:06 rsqppp 阅读(417) 评论(0) 推荐(0)