自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 poj 1191 棋盘分割 动态规划

备战最后一次问求,这两周要多做些题目了。今晚做了一道poj的题目,题面要求对8*8的棋盘进行分割,使得分割的各块之间的均方差最小。由于棋盘可能要用到多处对不同块的求和,对棋盘进行预处理算出从(i,j)到(k,l)的块的和是必要的(虽然感觉不做这一步应该也不会超时吧,但我这么优化完0ms就过了)。同时,分割不同块的时候,明显有一个规模更小的子问题的求解过程,可以考虑采用动态规划。同时由于题面要求,不...

2018-06-26 22:24:04 202

原创 最长回文子串

好久不见。最近打算学习机器学习,开始练习用python编程。别的不说,没有大括号的语言看起来确实简洁优雅许多。今晚做了一道最长回文子串的题(http://www.pythontip.com/coding/code_oj_case/54),需要在O(n)时间内完成。易见暴力的三次方,动态规划的平方和中心搜索的平方都不能满足要求。https://programmingpraxis.com/2010/1...

2018-06-15 00:24:15 172

原创 poj 2186 popular cows 求强连通分量

好久没写了,最近发懒,加上大部分时间都在做学校的voj,倒是很少想起来这儿发帖了。昨天刚考完oj,10道题只A了3道,但也算比去年有进步吧。。感觉我回头还应该自学些高级数据结构,否则根本应付不过来。今天发现学校oj论坛上有一道poj 2186的题,一看大概是要求强连通分量来把图缩成树处理,然而网上大部分解法都是Tarjan或者Torasaju。。。我就查了下算法导论,第二十二章倒也提到过一种做法,...

2018-05-06 18:57:53 208

原创 多个点共线个数问题

这周问题求解遇到了一个“莫须有”的编程作业,莫名其妙地做了,就发到这里跟大家交流一下吧。题目是问平面上有一堆点,问这堆点中最多有多少个点能共线。在此用了一种较为直白的解决办法,即找到过每个点的最多共线的线,再对所有的点做一遍找到即可,用时N2log(N)。代码贴到下面,请大家指教。#ifndef POINT_H#define POINT_H#include <stdio.h>#...

2018-03-13 20:13:03 874

原创 Deu Bracitoi Seqnsia

本着代码暂时不能公开的原则,现在先记录,等解禁后再公布题号(虽然我觉得相差也能查得到)#include <stdio.h>#include <stdlib.h>#include <string.h>#include <iostream>#include <algorithm>#include <assert.h>u...

2018-03-09 21:17:04 194

原创 hdu 2433 travel

今天做了一道hdu的单源最短路径问题,其问一个图中所有节点最短路径和以及删去某条边后相应的最短路径和。直接计算会超时,所以要适当记录路径,当删去的边不在某个顶点的最短路中的时候才再跑一遍bfs。相应的注意记录和计算即可。之前是将所有边的最短路径记录到了一起,导致不能很好的复用,将其分开记录才能很好的发挥预处理的作用,算是学习到一点数据结构处理的思路(不过说真的,有时候感觉我数据结构那里才是学的最差...

2018-02-26 17:10:25 251

原创 codeforces 59E shortest path

今天终于做出了一道困扰我一学期的题,就是这道shortestpath。其要求不能连续访问某些三个城市,比如限制1 2 3, 则不能在访问完1、2后访问3.一种直白的想法(从同班同学黄毅飞那里听来的)就是以边建图,同时可以增加一个起始城市0连一条0->1的单行道,再连一条n->n+1的单行道,从而转换为0到n+1的dijkstra(但是后来发现dijkstra会超时,注意到其边权恒为1,...

2018-02-25 23:27:47 573

原创 poj 3349 哈希 简单拉链(卡时间过去的。。。)

大家好,昨天由于感觉到hash表作为一种数据结构的强壮能力,决定做些相关题练习一下,所以做了poj3349这一道。简单来看就是问一堆雪花有没有同构的,而在询问的过程中,经本人测试,用log n 时间插入及查询会超时,所以应该运用哈希表才能过去。雪花由于其对称性,可以举出其同构的12种类型,经比较后确定最小值并插入。解决冲突的方法采用了最原始的拉链法,最后3.7s过去的,惊险。别的方法我还会尝试的。...

2018-02-24 16:57:16 387

原创 poj 1635 树的表示

今天做了一道判定树同构的题。由于其是有根树,我们可以将这棵树用最小字典序表示出进行比较即可,找最小序的过程用递归完成即可。另外用string表示的过程中,可以采用std::ios::sync_with_sdtio(false)来提高输入效率(虽然也只是十几ms级别,离大神们的0ms还是有很长路要走。。另外看他们用hash方法能够取得接近0ms的成绩,或许我还要学习一个)#include <s...

2018-02-23 12:30:10 204

原创 Budget Poj 2396 含下界网络流

今天花了一天才A了一道题,不过回头上论坛一看发现大家都是做完后感慨良多,感觉也不虚此行。题目要求填充矩阵,且已知矩阵各行各列的和,以及对矩阵某些行某些列有相应的限制,求是否存在合理的填充,存在即输出。由于各行各列的值已经知道,并且注意到矩阵横行和之和等于就矩阵竖行和之和,我们可以转化出一个流网络,节点是每一行和每一列,假想一个源节点在矩阵左边,汇节点在矩阵上方,则我们要做的就是让流从源经由矩阵留到...

2018-02-22 22:38:05 219

原创 problemA(hdu 5685)

这道题需要我们计算一个序列的哈希值,计算方法为连乘后模9973.由于其询问次数较多,不能采用现问现乘,而应该预处理后回答。对于a~b,设其连乘值为H(b)和H(a),则相应的原值应为两式相除;但由于是在模的意义上开展的,所以我们选择计算H(a)的乘法逆元以进行相应工作,最后在O(1)时间内回答询问。#include <stdio.h>#include <stdlib.h>...

2018-02-20 21:27:27 195

原创 poj 2369 permutations

大家春节快乐。最近过年,堕落了好几天,今天随便a了一道数论的题,聊当练手。题意是说要找一个置换的阶,所以当我们把这个置换的形式写出后找出其所有子置换的最小公倍数即可。另外最近在重新练手,练习科学c++的写法,请大家多加指教。#include <stdio.h>#include <stdlib.h>#include <string>#include <...

2018-02-19 17:34:11 201

原创 going home hdu1533 二分匹配、完美匹配最小费用流

今天做了一道hdu1533的going home的题,题意是说找到平面上若干个人到若干个房子中的最小费用,同时要求全部都要有房子进入。易见可以容易地计算出其完全二分匹配的权重图,然后跑KM算法即可求得最大值(由于其为完全二分图,必然存在完美匹配)。而本题中要求最小值,可将边权设为负值来跑,最后获得结果再取负即可。模板来自http://blog.csdn.net/x_y_q_/article/det...

2018-02-13 12:27:24 372

原创 swap HDU2819 匈牙利算法(二分匹配应用)

个人感觉这道题非常有意思,其询问对于输入矩阵能否通过一系列交换两行或两列的操作使得矩阵的对角线上全部为1.易见对于每一行,其最后能处在的位置就取决于该行包含1的位置,如1 0 1 0 0,则这一行经过一系列交换之后它必须要位于第一行或第三行,从而相应的变为匹配问题,直接用匈牙利算法解即可。#include <stdio.h>#include <stdlib.h>#inc...

2018-02-12 17:22:23 190

原创 过山车 hdu2063 匹配、匈牙利算法起步&&最大流

现在开始接触这学期学得最差的一部分——匹配算法(或者说直接没学过吧。。期末oj死得很惨),虽说我感觉死得最惨的问求试卷上并不是这种题。这题是道很简单的二分匹配,直接应用匈牙利算法求解即可。#include <stdio.h>#include <stdlib.h>#include <iostream>#include <vector>#incl...

2018-02-12 11:59:53 268

原创 one from ural

#include <stdio.h>#include <stdlib.h>#include <vector>#include <iostream>#include <algorithm>#include <string.h>using namespace std;#define MAXN 102#define ...

2018-02-10 17:06:26 172

原创 Cow Relays(POJ 3613)

这道题困扰我一学期了,大意是求多源最短路径并要求每条路径的长度恰好为N,感觉上可以直接用矩阵乘法来做,只是此时矩阵乘法的乘变为广义乘,同时注意初始化(一开始直接在之前数据基础上求,导致一直WA。。)。另外由于图的点数有1000,但是给出的边只有100,所以实际用到的点数只有200以下,具体实现的过程中采用了set记录并简化的方法(当然后来才发现用map的实现更加方便)。另外应该用到矩阵快速幂的方法...

2018-02-10 12:01:05 237

原创 shortest path

今天做了hdu4479的一道题,是要求找到单源最短路径,同时路径上的边的距离需要是严格单调递增的。乍一看其已经不再符合贪心的结构,不能用dijkstra来直接处理。这里感觉要换下思路,即将建立单源最短路的过程看成是一个集合的扩张过程,其中通过保证扩张的过程是从边权递增的顺序进行以完成扩展,同时在每一轮中进行相应处理判断即可。另外确实要学习更多stl的巧妙用法了。#include <stdio...

2018-02-08 19:27:35 365

原创 Layout Poj 3169 差分约束与SPFA

今天运气不错,连a两道,在此再记录一下。(要是是这学期中能够找到这么多时间来写它就好了啊……悔不当初)此题大意是说找到一群牛之间的满足差分约束关系下的最大值,那么按小于的标准建边跑最短路得到的就是最长路。算法导论这一章中讲到的是求一个差分约束的可行性问题,所以会多加一个点并将它作为源点来跑单源最短路径。这里是找到某一点的,所以不需多加那一个顶点,直接来跑SPFA即可。判断存在负环类似Bellm

2018-02-06 21:43:16 212

原创 Frogger Poj 2253 Dijkstra变形

好久没记录了,近来忙一个http服务器的搭设活动,遇上了一堆新问题,而且不停地在后端遇上段错误。。感觉还是应该完全转到c++啊。html倒确实是一种有意思的记录方法。说回今天的题目,简单来说就是找到变种单源最短路径,其中两点路径距离定义为其经过的“最短路径"上的最长边长度。虽然有所改变,但是容易验证其仍然符合松弛操作所须的三角不等式等相应性质,故将relax(u,v,w)中的加定义为广义加(取

2018-02-06 15:47:53 178

原创 POJ 1278 Agri-Net 最小生成树模板题(Prim 与 Kruskal)

这是我的第一篇oj记录博文,请大家以后多多指教。今天本来想做poj 3241曼哈顿最小生成树的那道题,结果学了半天发现自己连Kruskal都不能正确实现,所以就回来重刷了一下最小数模板题的此题,并之前的prim算法的解法的代码一起发出。Prim与Kruskal算法都是求解最小生成树的有效方法,但是两者的高效实现都依赖于巧妙的数据结构。Kruskal算法如果借助于并查集,则能达到O(E*alph

2018-01-27 00:16:08 559

原创 菜鸟宣言

各位好,本人是nju计科大二学生,因被问求残虐之故决心开始通过刷oj扩展视野,谨通过此博客来记录每天刷题记录,也激励自己前行。目标:每日一道,共勉。

2018-01-26 23:59:57 300

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除