• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
sheepsheep
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理

2015年9月14日

A* 算法
摘要: #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;struct Node{ int x,... 阅读全文
posted @ 2015-09-14 17:23 sheepsheep 阅读(158) 评论(0) 推荐(0)
 
 

2015年9月11日

2048小游戏
摘要: #include #include #include #include #include #include #include #include #include #include using namespace std;#define INF 0x7fffffff#define MAXN 5int ... 阅读全文
posted @ 2015-09-11 16:04 sheepsheep 阅读(199) 评论(0) 推荐(0)
 
 

2015年5月5日

hihocoder(1081)最短路径1
摘要: Dijkstra,基础题,借此题好好地复习了之前的算法,Dijkstra是贪心算法的最好例子。总结一下,Dijkstra算法是将顶点分为两组,一组S表示已经找到最短路径的顶点集合,一组Q表示还未确定是最短路径的顶点集合,维护一个D[n]的数组来记录顶点src到每个顶点的最短路径,该数组在算法完成之前... 阅读全文
posted @ 2015-05-05 22:31 sheepsheep 阅读(146) 评论(0) 推荐(0)
 
 

2015年5月4日

死锁产生的条件与避免方法
摘要: 所谓死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而... 阅读全文
posted @ 2015-05-04 19:56 sheepsheep 阅读(610) 评论(0) 推荐(0)
 
 

2015年4月13日

hihocoder(1050) 树中最长路径
摘要: 树的最长路径,即求一颗树的直径问题,dfs和bfs都可一解决,但一直觉得dfs的比较绕,不好理解。于是写了bfs的方法,其中0节点当作哨兵,每次从队列中取出0节点的时候,就知道一轮bfs结束,可以把深度加一。bfs的思路很简单:1.随便找一个节点,以该节点为起点进行一次bfs,得出的最后一个顶点,一... 阅读全文
posted @ 2015-04-13 18:42 sheepsheep 阅读(739) 评论(0) 推荐(0)
 
hihocoder(1049) 后序遍历
摘要: 常见题了,分治思想,有一个结论划分后,将序列划分为更小的子集,继续应用该结论。图简单,直接递归了,之前看过非递归的写法。。。忘了Impl: 1 #include 2 #include 3 4 using namespace std; 5 6 void postOrder(string str... 阅读全文
posted @ 2015-04-13 11:27 sheepsheep 阅读(193) 评论(0) 推荐(0)
 
hihocoder(1038,1043) 01背包与完全背包
摘要: 动态规划是一直感觉比较模糊的东西,虽然大致上知道是什么一回事,但是离灵活应用还差得远,但貌似比赛中动态规划的题出的特别多,这两个经典问题其实只能算是一个学习动态规划很好的模型。不过万事开头难,关键还是得静下心来多练习。01背包的状态转移式:f(i, j) = max{f(i-1, j), f(i-1... 阅读全文
posted @ 2015-04-13 10:39 sheepsheep 阅读(141) 评论(0) 推荐(0)
 
 

2015年4月12日

hihocoder(1109) 堆优化的Prim算法
摘要: 这题思路也很简单,就是用一个最大堆堆去维护Prim算法中的Low数组,把刷新Low数组的操作,变成了刷新堆的操作,由于堆的插入操作位logn,查询时间为常数,因此在边稀疏的情况下,其复杂度与Kruscal接近。这题刚开始老是WA,想了很久,不知道错在哪里,后来发现时因此不能直接去堆中的最小路径,因为... 阅读全文
posted @ 2015-04-12 23:02 sheepsheep 阅读(1317) 评论(0) 推荐(0)
 
hihocoder(1098) 最小生成树Kruskal
摘要: Kruskal比Prim简单的多,对已知边排序,然后从排序的边中跳出N-1条最短的来就可以了,当然,如果在挑的过程中出现环,就丢掉继续找,就只这么直接。如何判定有没有环?很简单,用并查集就可以。比如a-b,b-c,c-a构成了环,那么a-b合并,b-c合并后,如果紧接着最小边是c-a,那么并查集的f... 阅读全文
posted @ 2015-04-12 10:19 sheepsheep 阅读(182) 评论(0) 推荐(0)
 
 

2015年4月11日

hihocoder(1097) 最小生成树Prim
摘要: 图论一直是自己算法中最最最柔弱的部分,主要是,当年数据结构的课程,后面就去打酱油了,后来时间又都花在了电赛上,平时用的相关部又少,这一部分就更弱了,总是懒得捡起来,但是现在可是没退路了,开始好好复习这一部分。Prim算法是求解无向图最小生成树的经典算法,和Dijkstra算法类似,但是Prim算法每... 阅读全文
posted @ 2015-04-11 17:04 sheepsheep 阅读(246) 评论(0) 推荐(0)
 
 
下一页

公告


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3