- 博客(18)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 ACM 粗心永远AC不了系列——Demo Day|三维DP问题,机器人寻路,hiho一下第150周
题目来源:https://hihocoder.com/contest/hiho150/problem/1时间限制:10000ms单点时限:1000ms内存限制:256MB描述You work as an intern at a robotics startup. Today is your company's demo day. During t
2017-05-15 13:13:36
656
原创 算法导论——26.2 FordFulkerson方法,Edmonds-Karp算法java实现
介绍由Ford 和Fulkerson于1956年提出最大流问题的标号算法,故又称 Ford–Fulkerson标号法。其基本思想就是,从一个可行流开始,寻找从s到t的增广链,然而沿增广链增加流量,反复这样,直到找不出增广链位置。更多内容参见博文http://blog.csdn.net/smartxxyx/article/details/9293665这里值得注意的是,这个方法各种实现算
2017-05-09 14:23:35
1506
1
原创 算法导论——24.3 Dijkstra最短路径算法java实现
Dijkstra算法是由荷兰计算机科学家狄克斯特拉(Dijkstra)于1959 年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。 其基本原理是:每次新扩展一个距离最短的点,更新与其相邻的点的距离。当所有边权都为正时,由于不会存在一个距离更短的没扩展过的点,所以这个点的距离永远不会再被改变,因而保证了算法的正确性。不过根据这个原理,用Dijkstra求最短路的图不能有负权边,因为扩展到负权边的时候会产生更短的距离,有可能就破坏了已经更新的点距离不
2017-05-09 00:44:33
1120
原创 算法导论——24.2 DAG最短路径算法java实现
Bellman-Ford算法能在更普遍的情况下(存在负权边)解决单源点最短路径问题,但是对于DAG,可以有更加简化的算法去计算,使得时间复杂度更低。针对DAG的特点,以拓扑排序为基础,提出了解决DAG的最短路径问题的简单算法。通过理论分析,表明该算法具有理想的运算效率,其中,解决单源点问题的运算时间与E成正比,解决所有点对问题的运算时间与VE成正比。拓扑排序策略对于此类最短路径问题的研究,较传统的方法运算简单、求解直观。
2017-05-08 23:43:45
2682
原创 算法导论——24.1 BellmanFord算法java实现
Bellman - ford算法是求含负权图的单源最短路径算法,效率很低,但代码很容易写。其原理为持续地进行松弛(原文是这么写的,为什么要叫松弛,争议很大),在每次松弛时把每条边都更新一下,若在n-1次松弛后还能更新,则说明图中有负环,因此无法得出结果,否则就完成。Bellman - ford算法有一个小优化:每次松弛先设一个标识flag,初值为FALSE,若有边更新则赋值为TRUE,最终如果还是FALSE则直接成功退出。Bellman-ford算法浪费了许多时间去做没有必要的松弛,而SPFA算法用队列进行
2017-05-08 21:43:11
2338
原创 ACM 粗心永远AC不了系列——小Hi的烦恼|“五维数点”问题
问题来源:hiho一下第147周 小Hi的烦恼题目1 : 小Hi的烦恼时间限制:5000ms单点时限:1000ms内存限制:1024MB描述小Hi从小的一大兴趣爱好就是学习,但是他发现尽管他认真学习,依旧有学神考的比他好。小Hi在高中期间参加了市里的期末考试,一共五门:语文、数学、英语、物理、化学。成绩出来之后,小
2017-04-29 18:02:55
577
原创 ACM 粗心永远AC不了系列——HDU 1754 I Hate It|线段树区间求最值
线段树应用水题之一一:线段树基本概念1:概述线段树,类似区间树,是一个完全二叉树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问题,由于二叉结构的特性,它基本能保持每个操作的复杂度为O(lgN)!性质:父亲的区间是[a,b],(c=(a+b)/2)左儿子的区间是[a,c],右儿子的区间是[c+1,b],线段树需要的空间为数组大小的四倍
2017-04-29 13:30:36
521
原创 动态规划==》京东机2017实习生考题,通过概率
题目描述 小明同学要参加一场考试,考试一共有n道题目,小明必须做对至少60%的题目才能通过考试。考试结束后,小明估算出每题做对的概率,p1,p2,...,pn。你能帮他算出他通过考试的概率吗?输入输入第一行一个数n(1样例输入450 50 50 50输出小明通过考试的概率,最后结果四舍五入,保留小数点后五位。样例输出0.31250时间限制C/C++语言:1000MS其它语言:
2017-04-07 21:52:26
716
原创 动态规划入门==》转换为DAG问题——钢条切割
问题描述: 一家公司购买长钢条,将其切割成短钢条出售,切割本身没有成本,长度为i的短钢条的价格为Pi。那给定一段长度为n的钢条和一个价格表Pi,求钢条的切割方案使得收益Rn最大。如一个Pi如下:1.数据结构表示DAG,我们可以把它想象成DAG,每个长度想象成一个点,i>j 则i可以指向j,代价为上图(i-j)对应数值,结果就是求最长路径。2.问题小化,即求出前
2017-04-06 18:38:41
784
原创 动态规划入门==》转换为DAG问题——最短路径|矩阵嵌套|硬币问题
动态规划刚刚开始学习,到现在做过几道题,借鉴了各位大神的书籍文章后,对其有了新的看法。现在我总结目前我遇到题目动态规划思想的共性——很多动态规划都可以转化为带权DAG问题,以下是几道题题,我从中总结了他们的DAG特性一、DAG最短路径在我们聊DAG时先来介绍一个最直接的DAG问题问题描述:给一个带权有向无环图G=(V,E),找出这个图里S==>E的最短路径。这个问题
2017-03-30 19:31:44
1672
原创 算法导论——16.1-5动态规划解决活动选择带值问题
原活动问题是用贪心算法解得,实质是就是不重合区间择多问题。新的问题变形后,每个区间的都带上的值,求如何选择才能得到不重合区间且值最大。想了想只能用dp来解决,下面附我的解题思路+代码 1.用act[max][3]记录所有活动的状态(开始时间|结束时间|价值) act[n-1][0]表示第n个活动的开始时间,act[n-1][1]]表示第n个活动的结束
2017-03-28 20:54:01
2239
原创 盛大游戏面试题目小结
额,第一次面试,自己知识库还没有补充足,果然面完整个人都感觉不好了,这里会议起面试的问题,并贴出总结的答案,如果有哪里理解的不对,欢迎指正。1.线程安全的队列java提供线程安全的队列,主要分两种:阻塞队列(接口 BlockingQueue)和非阻塞队列(类ConcurrentLinkedQueue) 阻塞队列就是提供阻塞操作,当操作失败时阻塞线程(ReentrantLock
2017-03-27 23:17:40
3972
1
原创 ACM 粗心永远AC不了系列——UVA 512 - Spreadsheet Tracking 追踪电子表格中的单元格 |变换思想的另一种思路
此题在算法竞赛入门经典第二版中85页有详解,我先自己想了一下思路,然后看书上的思路,发现书上第二中方法的思路非常的巧妙,在不看代码的情况下自己实现了,特此标记。题目详细在最下方,这里先总结我的一点小小的心得。此题模拟Excel的变换,最首先想到的思路是用一个二维数组来模拟该操作,只不过这样子会使整个算法效率很地底下,但是较为容易想到。另一种思路,变换类型的题,但凡他是要求结果不论过程的
2017-03-13 16:41:45
621
原创 ACM 粗心永远AC不了系列——UVa 213 Message Decoding(World Finals1991,字符串) |二维数组的妙用
每天进步一点点,早日脱离水坑
2017-03-13 13:55:21
559
原创 《μCOS-III源码分析笔记》学习笔记|2|第三章时间管理
第3章时间管理3.1时间管理API3.2API原理OSTimeDly()和OSTimeDlyHMSM()的原理都是根据任务和其需要延时的节拍,调用OS_TickListInset()来讲该任务插入到时钟节拍轮(OSCfg_TickWheel[] 详见上章)中,并把该任务从就绪队列中脱离。之后每个时钟节拍都会判断任务延时是会否结束,结束了就把任务脱离时钟节拍轮,进行下一步操作
2017-03-11 21:18:41
1322
原创 《μCOS-III源码分析笔记》学习笔记|1|第二章时钟节拍
《μCOS-III源码分析笔记》学习笔记|1|第二章时钟节拍学校开源代码分析课程有是一门操作系统
2017-03-11 16:11:03
775
原创 ACM 粗心永远AC不了系列——HDU 1097 A hard puzzle
为什么ACM过不了,就是因为太年轻了,ACM需要考虑的比较细心,只有慢慢耐心才能积累经验养成好的编程习惯,加油奋斗。
2017-03-02 17:09:24
330
vuforia unity 摄像头黑屏 开发问题
2017-01-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人