![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
online judge
文章平均质量分 78
Jacoding
这个作者很懒,什么都没留下…
展开
-
poj2253 Dijkstra
我胡汉三又回来啦hhh 消失了好久,又终于开始算法的漫漫长路了,最近的事情终于告一段落。虽然之后还有final p和完全没有底的面试,但是又可以开始刷oj啦撒花。 这次是好好学了Dijkstra之后再来写的这道题,感觉就是完全套用伪代码啊,但是要在松弛的时候改变成这个情况特有的条件。 先把Dijkstra部分的伪码和注解列在下面,之后我再把ac码贴上来。 for each vertex v原创 2015-11-25 22:55:10 · 424 阅读 · 0 评论 -
poj1021 哈希
这道题在我刚学c++的时候写过一遍,然而因为代码太长了又写得很烂所以没敢交。 那时候或者是不久以前我觉得oj能ac都是一件不可思议的事情,这次也是参考了一些大神的想法,还有搜索了polyomino的问题大家在stackoverflow上的看法,然后写出来的。 其实我觉得因为我用了好多vector结构会导致变慢,但实际上ac居然0ms,不知道数据到底是怎么弄的。 主要还是哈希,每一个block原创 2015-11-12 22:05:37 · 768 阅读 · 0 评论 -
poj1125 Dijkstra
这道题又是Dijkstra,但是layer比较多要小心。每一个存储都要在合适的时候清空。 图像的题最好还是自己画在纸上好好研究之后再动手写。 #include #include using namespace std; int INF=20000; int no_stockholders=0; int weight[200][200]; int t[200]; int max_t[200]原创 2015-12-01 18:43:34 · 410 阅读 · 0 评论 -
poj1860 Bellman-Ford
一开始是知道这道题用的是贝尔曼福特最短路径算法,但是稀里糊涂地看了一点算法导论就着手开始做果然还是不行啊。 wa了一次之后决心好好研究一下这个算法,第二天还到YouTube上找了视频来看,果然清晰很多。 认真改完代码以后ac了,我可能等学了另一种算法之后再回来继续刷这道题,现在我还是喜欢看到解题数量往上涨的成就感啊。 所以这次也会认真地分析一下这道题,如果有可能的话,写一个详细一点的解题报告原创 2015-11-10 13:45:46 · 319 阅读 · 0 评论 -
poj1573模拟法
又是一次ac哈哈哈,不过可能是我做的题还是比较水的。 这道题和上午的那一道比较相像,然后我继续充分使用了自定义vector class的美好性质。 有关地图坐标的问题,有两种想法: 1. 在地图上做标记,也就是说地图上的每一个单位都可以容纳巨大的信息量 2. 用数据结构记住路径。 动态规划一般是树结构,总是要超时,这一点日后有机会会好好研究。 简单一点的问题,就可以用线性的结构记录路径原创 2015-11-09 14:22:04 · 475 阅读 · 0 评论 -
poj2632模拟法
又是一次ac哈哈哈,虽然题目本身不难,但是看上去很烦的样子。 不知为何我有一种高中做综合题的感觉。 但是这道题有一个陷阱,就是在输入的时候,程序crash之后应该跳过所有剩下的input执行下一个case,这里需要人工检验。 感谢Xcode的断点查错,让我明白了程序里面正在发生什么。 vector可以用自己定义的class type这点十分便利,说实话我也是第一次用。 另外要巧用bool原创 2015-11-09 12:04:55 · 351 阅读 · 0 评论 -
poj1068模拟法
今天写完三页纸的essay之后做了一道还算比较水的oj回回神,模拟法感觉就是顺着题意去做。 像我这种新手在还未有算法体系的情况下都是模拟法,据说很容易超时。 这道题还是比较水的,但是输入要注意如何最大限度地利用变量。 #include #include using namespace std; vector parentheses; void add_parentheses(int i1原创 2015-11-09 01:29:35 · 398 阅读 · 0 评论 -
poj3295 构造法
说是构造法,其实我觉得是活用了prefix与postfix表达式的处理方法,即stack的熟练运用。 之前学过的是运算符号的postfix转换,现在是逻辑符号。 没想到能一次ac啊好开心,感觉是新手的好运气啊。 #include #include #include using namespace std; vector V; bool isOperator(char o){ r原创 2015-11-07 15:55:06 · 331 阅读 · 0 评论 -
poj1328/2109/2586 贪心算法
贪心算法我觉得是一种思考,但是要很小心局部的最优是否是全局最优的必要条件。 三道oj中,1328很坑,题目有误导性,输出制式也要小心。 2109比较水,但是提出了一个关于double原理的讨论。 2586比较常规,如果1328能顺利ac的话,2586也是没有问题的。 以下先贴1328: 其实这个代码也是参考了别人贴出来的读数据的结构和输出制式。 #include #include原创 2015-11-06 14:33:58 · 638 阅读 · 0 评论 -
poj1753/poj2965 枚举法
开始做一点简单的oj,在网上看到了一套题单,是按算法类型和难度等级列出的。对我等入门新手十分友善,所以按照顺序往下刷并自学一些算法。开这个博客也主要是为了放一些学习笔记,保存刷题进度。 枚举法是入门第一种算法,poj的1753和2965都是属于顺序没什么关系的枚举。 以下贴代码 2965 #include #include #include using namespace std;原创 2015-11-06 09:23:12 · 487 阅读 · 0 评论 -
poj 2240 Bellman-ford
又是一道Bellman-ford练手,我感觉poj的服务器不是很稳定,一次wa,做了点无伤大雅的改动说我超时,过了一会儿又提交的时候说是CE,然后我加了两个初始化之后就ac了。 还是贴代码: #include #include #include #include using namespace std; struct edge{ string cu1; stri原创 2015-11-15 18:53:37 · 401 阅读 · 0 评论 -
poj3259 Bellman_ford
我感觉对Bellman_ford理解得太浅了,很想知道逐边松弛和按点来松弛有什么区别,感觉都是每条边松弛|V|-1遍,然而后者就会wa。 参考了好几篇ac的代码,改了方法之后才成功的,而且貌似时间用的好多。 我总算是有点理解为什么普遍地用数组了,就算开得很大,也要比dynamic的各种结构要快很多并且占的容量少。 我最后的代码和网上的另一篇很像(其实是参考着写的),我觉得他的注释十分易懂,所原创 2015-11-12 12:56:03 · 388 阅读 · 0 评论