上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 22 下一页
摘要: 好的讲解manacher算法的文章,图文并茂。http://blog.csdn.net/ggggiqnypgjg/article/details/6645824题解来源:http://blog.sina.com.cn/s/blog_6fa65cf90100s3sg.html题意:求给定串的最长回文子串(2009多校题目)分析:枚举每个点向左向右扩展,看最远能扩展到哪儿.但是普通的枚举是n^2的,肯定超时。现在我们想kmp或扩展kmp一样,给字符串定义一个nex数组,nex[i]表示以i为中心最远能向右扩展的长度,使得s[i – nex[i] + 1……. i + nex[i]- 1]形成的回文 阅读全文
posted @ 2013-05-09 13:34 z.arbitrary 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 在环境设置里进行如下设置:把Terminal to launch console programs那个选项改成gnome-terminal -t $TITLE -x原来是xterm -T $TITLE -egnome-terminal和xterm的参数表示方法不一样。 阅读全文
posted @ 2013-05-09 10:30 z.arbitrary 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 题意:有N种01字符串,每种有无限个..问你这些字符串是否有多种组成方案组成相同的串!分析:求字符串的组成问题,并且求是否能组成相同的字符串.我们可以把所有字符串的状态表示出来.vis[i][j][k],(0<=i<=1<<22,0<=j<=22,0<=k<2)i表示这个字符串的十进制的数,j表示这个字符串二进制的位数(这样就可以知道有多少前导0了),k表示是否是题目给的原字符串这样当有i==0,j==0这个状态时表示符合题目要求,能找到,..故输出"Ambiguous",否则输出"Not ambiguous&quo 阅读全文
posted @ 2013-05-09 00:28 z.arbitrary 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 题意:幼儿园里有很多房屋,房屋与房屋之间连以走廊,走廊与房屋之间有一扇门.幼儿园长想把门漆成绿色或者黄色,使得:任意一条走廊两头门的颜色不同;任意一间房屋上的门,绿色门的数量与黄色门的数量相差不超过1;其实这题就是求多个欧拉路或回路..因为欧拉路的每个点的入度和出度相差不超过一.分析:将从房子出去的门染绿色,进去的门染红色..也就转换成出度和入度关系;若每个房子有偶数个门,这整个图就是个欧拉回路,故一定能行若有奇数个房子有奇数个门,则一定不行,...(不能构成欧拉路或欧拉回路)则对于有偶数个房子有奇数个门,则将这偶数个门两两匹配,形成一条虚拟的走廊...则样就形成了欧拉回路了!!最后去掉加入的 阅读全文
posted @ 2013-05-03 15:36 z.arbitrary 阅读(402) 评论(0) 推荐(0) 编辑
摘要: http://www.notonlysuccess.com/index.php/segment-tree-complete/comment-page-2/#comment-4139题意:给一组数据,有两个询问,一种是给区间[a,b]上每个数加c,另一种是求区间[a,b]的和!#include <cstdio>#include <algorithm>using namespace std; #define lson l , m , rt << 1#define rson m + 1 , r , rt << 1 | 1#define LL long 阅读全文
posted @ 2013-05-02 13:30 z.arbitrary 阅读(737) 评论(0) 推荐(0) 编辑
摘要: 题意:这题和POJ-3177-Redundant Paths差不多..只是这题是一开始是无向图,要求你加几条有向边形成强连通图.即和无向图加几条无向边形成双连通分量是一个意思!分析:先求双连通分量,然后缩点,形成新图,然后统计点的度数,由于原图可能是不连通的,故可能有孤立的点,即度数为0.然后统计度数,度数为1的ans加1,度数为0的ans加2,最后(ans+1)/2即是答案.然后注意,若一开始整个图就是一个双连通,则答案为0// File Name: 10972.cpp// Author: Zlbing// Created Time: 2013/4/30 9:20:22#include< 阅读全文
posted @ 2013-04-30 10:40 z.arbitrary 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 题意:有N个方案M个投票人,每个投票人最多能投4个方案,问满足每个投票人超过一半的建议被采用的方案.若不存在输出"impossible"分析:对于投票人,若提出的方案少于3个,则需要全部满足才能满足题意,若大于等于三个则最多只能有一个方案不被满足答案输出对于每个方案采纳和不采纳都Twosat一遍,若都满足输出"?",若都不满足则没有方案满足题意,输出"impossible",若只能采纳输出"y",不能采纳输出"n";// File Name: 1086.cpp// Author: Zlbing/ 阅读全文
posted @ 2013-04-29 16:41 z.arbitrary 阅读(378) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/wsniyufang/article/details/6609872题意:判断给定的有向图是否满足 1.强连通 2 每一条边属于且仅属于一个环分析:tarjan算法的运用,用fa[]数组记录tarjand的搜索路径,当有一个点有横向边(指向它的祖先节点——表示有环),据fa记录的路径标记 除被指向的祖先外所有路径上的点,当有某个点被记录2次时,必然存在一条边属于两个环。我的程序有点错误,在UVA10510-Cactus老是RE...不知道为啥..然后改了下输入到hdu上就过了...难道是hdu的数据太弱了?唉..我好菜(顶点改成从0开始就好了!)//U 阅读全文
posted @ 2013-04-28 18:05 z.arbitrary 阅读(477) 评论(0) 推荐(0) 编辑
摘要: 题意比较复杂就不多说了...分析:只是拆点即可,对于@说不能同时有两个人站在上面,可以直接忽略即可,因为这个是不沉没的,故一个一个通过即可.// File Name: 11380.cpp// Author: Zlbing// Created Time: 2013/4/26 15:12:42#include<iostream>#include<string>#include<algorithm>#include<cstdlib>#include<cstdio>#include<set>#include<map># 阅读全文
posted @ 2013-04-26 16:45 z.arbitrary 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 题意:N个点(1<=N<=100)M(1<=M<=5000)条有向边,运送K(1<=K<=100)个单位商品,每条边都有一个系数ai(0<ai<=100)和容量ci(ci<=5),若运送x个单位的话,就得交ai*x^2美元.问你,将K个单位商品从1运到N,最小花费.若运送不到,输出-1;分析:因为容量Ci比较小,故可以拆边,把容量为Ci的边拆成Ci条边,每条边的花费为xi*xi*ai-(xi-1)(xi-1)*ai;详细见代码// File Name: 1486.cpp// Author: Zlbing// Created Time: 20 阅读全文
posted @ 2013-04-26 14:48 z.arbitrary 阅读(221) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 22 下一页