上一页 1 2 3 4 5 6 7 8 9 10 ··· 13 下一页

2014年2月7日

TC SRM 607 DIV2

摘要: 求拼接完成后的字符串包含的子回文串的数目,一开始还用暴力去做,想都不用想 肯定超时了。 复习了一下求最长子回文串的算法,发现可以类似解决。 给相邻字符之间添加一个‘@’字符,这样所有的回文串都是奇数长度,然后从左到右,统计以每个字符为中心的回文串的数目就行了,长度逐渐递增,一旦遇到不是回文串的情况,就马上结束,开始对下一个字符为中心的回文串的统计。 Orz…这个回文串算法不久前学过,最近搞前... 阅读全文

posted @ 2014-02-07 15:59 rootial 阅读(194) 评论(0) 推荐(0)

2013年12月21日

UVALive - 3401 Colored Cubes

摘要: 好久没写解题回顾了。主要是没什么时间,但是还是一直在刷题,图论刷了70%的知识点,不过感觉长进不是很大,所以觉得还是得一步步来,最近还是先从刘汝佳大白书把前面基础章节刷完然后再决定以后的训练方式吧。 这个题目还算是理解了。重点在于各种姿态的的表示,顶部在上共有6种放置方法,然后正面对应4种,这样每个魔方对应24种方式放置。利用一个数组p[6]保存旋转后各个面对应的标准姿态的编号。然后将第一个魔方... 阅读全文

posted @ 2013-12-21 20:12 rootial 阅读(233) 评论(0) 推荐(0)

2013年11月2日

UVA 11090 Going in Cycle!!

摘要: 要求给定的图的中平均权值最小的环,注意处理自环的情况就能过了。按照w1+w2+w3+….wn #include #include #include #include #include #include #include #include #include #include #include #include #define esp 1e-6#define pi acos(-1.0)#define pb push_back#define lson l, m, rt VI;typedef pair pii;typedef vector VII;typedef vector VIII;typ... 阅读全文

posted @ 2013-11-02 19:12 rootial 阅读(343) 评论(0) 推荐(0)

2013年10月20日

CodeChef A

摘要: 问题是求出斐波那契数列的第n个,这里要用大数加法预处理,然后就可以了代码: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #define esp 1e-615 #define pi acos(-1.0)16 #define pb push_back17 #define lson l, m, rt VI;31 typedef pa... 阅读全文

posted @ 2013-10-20 23:37 rootial 阅读(193) 评论(0) 推荐(0)

CodeForces - 7D Palindrome Degree

摘要: 最近接触了一点字符串算法,其实也就是一个简单的最大回文串算法,给定字符串s,求出最大字符串长度。 算法是这样的, 用'#'将s字符串中的每个字符分隔,比如s = “aba”,分割后变成#a#b#a#,然后利用下面的算法: pre: mx ←0 for i: = 1 to n-1 if(mx>i) p[i] = min(p[2*id-i], mx... 阅读全文

posted @ 2013-10-20 11:01 rootial 阅读(820) 评论(1) 推荐(0)

2013年10月12日

LCA问题的ST,tarjan离线算法解法

摘要: 一 ST算法与LCA 介绍 第一次算法笔记这样的东西,以前学算法只是笔上画画写写,理解了下,刷几道题,其实都没深入理解,以后遇到新的算法要把自己的理解想法写下来,方便日后回顾嘛>=< RMQ问题就是询问一个给定数组相应区间i…j的最大值。 ST算法的思路是:f(i,j)表示i开始的2^j个数中最大值/最小值,通过运用dp的思想初始化f(i,j)求出每个i(1….n)出发长度为2... 阅读全文

posted @ 2013-10-12 23:41 rootial 阅读(352) 评论(0) 推荐(0)

HDU Traffic Real Time Query System

摘要: 题目大意是:对于(n, m)的图,给定边a, b查询从a到b要经过的割点的最少数目。先tarjan算法求双连通然后缩点,即对于每个割点将周围的每个双连通看成一个点与之相连。然后求解LCA即可,距离dis[u]表示从根出发到u的遍历过程中经过的割顶的数目,利用tarjan离线算法, 最后答案是:dis[u] + dis[v] - 2*dis[findset(v)] + (findset(v) > bcc_cnt)。注意findset(v) > bcc_cnt表示当LCA(u,v) 为割顶时的判断,此时必须加1。代码: 1 #include 2 #include 3 #include 阅读全文

posted @ 2013-10-12 23:13 rootial 阅读(367) 评论(0) 推荐(0)

ZOJ - 3195 Design the city

摘要: 题目要对每次询问将一个树形图的三个点连接,输出最短距离。利用tarjan离线算法,算出每次询问的任意两个点的最短公共祖先,并在dfs过程中求出离根的距离。把每次询问的三个点两两求出最短距离,这样最终结果就是3个值一半。其实开始我用的一种很挫的方法才AC的,具体思路就不说了,感觉很麻烦又不好写的样子。怎么没想到上面的简便方法呢。初始代码: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include ... 阅读全文

posted @ 2013-10-12 15:51 rootial 阅读(241) 评论(0) 推荐(0)

2013年10月8日

UVALive 5903 Piece it together

摘要: 一开始用的STL一直超时不能过,后来发现AC的代码基本都用的普通邻接表,然后改了一下13s,T=T,效率太低了。然后把某大神,详情戳链接http://acm.hust.edu.cn/vjudge/problem/viewSource.action?id=1199083的300+ms的代码加上自己的优化成功到了85ms,限时30s的程序还是挺有成就感的。 题目分析: 一个黑格子要和相邻的两个白格... 阅读全文

posted @ 2013-10-08 17:00 rootial 阅读(336) 评论(0) 推荐(0)

2013年9月30日

POJ - 1523 SPF

摘要: 题目要求割顶集,并且还要求出去掉割顶之后剩下的图连通数目。tarjan算法求出割顶后直接枚举就可以了吧。一开始想到利用iscut[u]的次数也就是点u被判定为割顶的次数求连通分量数,还有利用与结点u相连的点的bccno不同的编号来判定,都是不行的,具体原因自己想清楚比较好。以后就不会犯这样的错误了。代码:#include #include #include #include #include #include #include #include #include #include #include #include #include #define esp 1e-6#define pi aco 阅读全文

posted @ 2013-09-30 17:37 rootial 阅读(156) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 9 10 ··· 13 下一页

导航