上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 16 下一页
摘要: 题目链接 树状数组+单调栈 计算出每个后缀的前面、后面第一个h[]比它小的(前闭后开),乘起来计算答案 1 #include<algorithm> 2 #include<iostream> 3 #include<cstdlib> 4 #include<cstring> 5 #include<cstd 阅读全文
posted @ 2016-02-28 20:38 HugeGun 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 题目链接 后缀数组+暴力枚举 1 #include<algorithm> 2 #include<iostream> 3 #include<cstdlib> 4 #include<cstring> 5 #include<cstdio> 6 #include<string> 7 #include<cma 阅读全文
posted @ 2016-02-28 19:34 HugeGun 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题目链接 一开始还想用o(n)贪心……想多了…… 后缀数组预处理之后通过比较rank来确定取前面的或者后面的 调了半天发现c[]开小了QAQ 1 #include<algorithm> 2 #include<iostream> 3 #include<cstdlib> 4 #include<cstri 阅读全文
posted @ 2016-02-28 11:00 HugeGun 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 先求后缀数组、相邻两个后缀的最长公共前缀 二分答案,o(n)check 1 #include<algorithm> 2 #include<iostream> 3 #include<cstdlib> 4 #include<cstring> 5 #include<cstdio> 6 #include<s 阅读全文
posted @ 2016-02-28 08:56 HugeGun 阅读(475) 评论(0) 推荐(0) 编辑
摘要: 题目链接 坑坑坑坑 我自己怎么想都不会把一列当成一个点写平衡树QAQ 扫描线+可持久化treap showson教了我可持久化treap%%% 1 #include<algorithm> 2 #include<iostream> 3 #include<cstdlib> 4 #include<cstr 阅读全文
posted @ 2016-02-26 19:29 HugeGun 阅读(371) 评论(0) 推荐(0) 编辑
摘要: Gerw说凸多边形的三角剖分是一棵树,并且可以转二叉树,因此卡特兰数可以…… 发现一条边只能连接两个三角形,所以可以把三角形当做树的结点,相邻的连边 求证:连接两个三角形的线段经过的三角形等同于树上两个三角形路径上的所有点 我想说,证明好麻烦啊。。。不过还是想表达一下我的看法。。。 首先,题目说(一 阅读全文
posted @ 2016-02-26 14:36 HugeGun 阅读(647) 评论(0) 推荐(0) 编辑
摘要: 题目链接 好久没写高精度了,调了很久QAQ 如果直接递归计算答案的话肯定会T 发现一个数不管是分成一奇一偶还是直接>>1,都会重复计算很多东西 我们只需要在递归的时候实时维护一个xx(ans[x])和xxx(ans[x-1]) 一层一层的选择更新xx或xxx就好 (请无视递归函数的名称和里面乱搞的数 阅读全文
posted @ 2016-02-26 13:53 HugeGun 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 题目链接 先求每个点到根的异或和 然后就要找出两个点,使dis[a]^dis[b]最大 注意异或的性质,我们可以用trie树,沿着与当前数字每位的相反方向走 1 #include<algorithm> 2 #include<iostream> 3 #include<cstdlib> 4 #inclu 阅读全文
posted @ 2016-02-26 08:26 HugeGun 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题目链接 昨天刚刚学习了EXKMP 于是我就用了EXKMP做了这道题 找完pre后就用前缀和就好 为了节约清空的时间,我加了时间戳t[] 1 #include<algorithm> 2 #include<iostream> 3 #include<cstdlib> 4 #include<cstring 阅读全文
posted @ 2016-02-25 16:32 HugeGun 阅读(344) 评论(0) 推荐(1) 编辑
摘要: 题目链接 本来是求点a到点b的路径 由于是完全图且K固定,就可以当成是每个原图点往k个中转点连了in[i][kj]条边,每个中转点往每个原图点连了out[kj][i]条边 于是我们就可以把中转点和原图点反一下 求两个原图点的路径就变成了求两个中转点的路径 用矩乘快速幂就可以了 如图ki,kj为中转点 阅读全文
posted @ 2016-02-25 14:01 HugeGun 阅读(377) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 16 下一页