上一页 1 ··· 5 6 7 8 9 10 11 12 下一页
摘要: 好气啊,今天没有看懂后缀树和后缀自动机 只能写个后缀数组发泄一下了orz 阅读全文
posted @ 2017-03-10 21:03 Saurus 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 一道很巧妙的二分图的题目 简单分析性质可知,一个合法序列一定是由12,21这样的子串构成的,所以相邻的每隔2个两两配对 然后BF和GF互相配对,思考一下,如果存在奇环,那么必定有一个BG有两个GF,或者一个GF有两个BF,所以不存在这种情况,一定有解 直接二分图判断即可 阅读全文
posted @ 2017-02-23 17:27 Saurus 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题意就是一个给出2个字符矩阵,然后进行匹配,输出每个位置的匹配的结果 (超出的部分循环处理) 一种做法是使用fft,比较难写,所以没有写 这里使用一个暴力的做法,考虑到一共只出现26个字符 所以使用一个数组G[c][i][j]表示字符c是否出现在位置(i, j),即G[c]是一个01矩阵 可以使用b 阅读全文
posted @ 2017-02-21 21:47 Saurus 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 首先先膜杜教orz 这里简单说一下支配树的概念 支配树是对一个有向图来讲的 规定一个起点s,如果s到v的路径上必须经过某些点u,那么离s最近的点u就是v的支配点 在树上的关系就是,v的父亲是u。 一般图的支配树需要使用tarjan算法,但是如果有向图是没有环的,可以采用另一种做法 按照拓扑序建立支配 阅读全文
posted @ 2017-02-11 22:24 Saurus 阅读(323) 评论(0) 推荐(0) 编辑
摘要: orz一开始想不画图做这个题(然后脑袋就炸了,思维能力有待提高) 我的做法是动态规划+贪心+构造 首先把题目给的树变成一个可行的情况,同时weight最小 这个可以通过动态规划解决 dp[x]表示以x为结点的子树,它的最小weight是多少 接着我们就只需要考虑每条边增加多少就可以了,这里可以用贪心 阅读全文
posted @ 2017-01-31 17:08 Saurus 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 首先要知道 (m/1 + m/2 + ... + m/m) 约为 mlogm 还有一个比较明显的结论,如果一个纪念品区间长度大于d,那么如果列车的停车间隔小于等于d,则这个纪念品一定能被买到 然后把区间按长度排序 枚举d,边枚举边加那些长度小于d的区间到线段树当中,这样可以保证一个纪念品不会被加2次 阅读全文
posted @ 2017-01-29 16:17 Saurus 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 给定串A和串B,A由26个小写字母构成,B由?和26个小写字母构成 ?可以和任意字符匹配 求A中出现了多少次B 这里可以使用fft做法,定义向量A和向量B 然后求A和rev(B)的卷积结果C C的第i-len(B)位就可以表示匹配结果 如果C的第i-len(B)位恰好是B中除了?的字符个数,那么就是 阅读全文
posted @ 2017-01-25 14:12 Saurus 阅读(1845) 评论(0) 推荐(1) 编辑
摘要: 有时间来补算法原理orz 阅读全文
posted @ 2017-01-24 19:29 Saurus 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 这个算法就比较简单易懂了 就是把每个向量的特征值抽象成坐标,寻找最近的k个点,来进行划分 代码如下 阅读全文
posted @ 2017-01-24 18:37 Saurus 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 题目大意 求从l到r的整数中长度为n的等比数列个数,公比可以为分数 首先n=1的时候,直接输出r-l+1即可 n=2的时候,就是C(n, 2)*2 考虑n>2的情况 不妨设公比为p/q(p和q互素->既约分数) 那么等比数列为 k k*p/q k*(p/q)^2 ..... k*(p/q)^(n-1 阅读全文
posted @ 2017-01-20 13:32 Saurus 阅读(310) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 下一页