09 2014 档案

水题 连续子序列和的绝对值最大
摘要:今天遇到一个题目,发现想了很久。这样的情况应该更加引起重视,简单基础题都不能很快做出,以后还是要补一补DP基础,一直都不怎么顺手。给定一个数组,求所有的子数组中,和的绝对值最大值。分析:利用前缀和算出每一段的和a[i....j]为sum[j]-sum[i-1],那么和的绝对值最大值,sum[i]的正... 阅读全文

posted @ 2014-09-28 23:11 rootial 阅读(510) 评论(0) 推荐(0)

Lucas定理及其应用
摘要:Lucas定理这里有详细的证明。其实就是针对n, m很大时,要求组合数C(n, m) % p, 一般来说如果p 2 #include 3 #include 4 using namespace std; 5 6 #define N 100010 7 8 long long mod_pow(i... 阅读全文

posted @ 2014-09-28 19:39 rootial 阅读(444) 评论(0) 推荐(0)

HDU 5044 TREE
摘要:题意:一棵树上两种操作,操作1,改变u到v的每一点的值增加k,操作2,改变u到v每一条边值增加k。最后结束时问,每一点和每一条边的值。初始时,点和边的值都为0.分析:很显然要用树链剖分,将点和边分别划分成连续一段的编号,然后就是维护一段一段的值了,给它增加一个值,由于题目只需要输出最后结果,那么可以... 阅读全文

posted @ 2014-09-27 18:34 rootial 阅读(339) 评论(0) 推荐(0)

HDU 5033 Building
摘要:分析:利用单调栈分别算出最右的能够看见的楼,和最左的能够看见的楼,然后计算。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 1... 阅读全文

posted @ 2014-09-26 23:21 rootial 阅读(284) 评论(0) 推荐(0)

Codeforces Round #238 (Div. 1)
摘要:感觉这场题目有种似曾相识感觉,C题还没看,日后补上。一定要坚持做下去。A Unusual Product题意:给定一个n*n的01矩阵,3种操作,1 i 将第i行翻转2 i 将第i列翻转3 询问矩阵第i行和第i列做向量乘法之和。分析:分析发现对于3的结果取决于对角线上1的个数num,即num%2,然... 阅读全文

posted @ 2014-09-26 23:18 rootial 阅读(189) 评论(0) 推荐(0)

hdu 4878 ZCC loves words AC自动机+中国剩余定理+快速幂
摘要:题意就不说了。分析:折腾好几天自己写的代码还是看了别人代码后发现几乎没什么复杂度的差别,可是就是一直超时,后来干脆照着别人写啊,一直WA,就在准备放弃干脆先写这篇博客的时候,又看了一眼WA的代码,发现一个中间变量没有取模直接爆掉了。终于AC了,做了好几天。思路:对所有单词建立AC自动机,那么每个节点... 阅读全文

posted @ 2014-09-19 14:23 rootial 阅读(452) 评论(0) 推荐(0)

HDU 5015 233 Matrix
摘要:题意:给定一个矩阵的第0列的第1到n个数,第一行第1个数开始每个数分别为233, 2333........,求第n行的第m个数。分析:其实也没那么难,自己想了半天还没往对的方向想,m最大1e9,应该立即想到要用到快速幂,关键在于递推矩阵。递推矩阵的作用是依次算出每一列,第1列第一个数233是前一列的... 阅读全文

posted @ 2014-09-16 02:17 rootial 阅读(311) 评论(2) 推荐(0)

HDU 5008 Boring String Problem
摘要:题意:给定一个串长度k,然后判断一下sum[i-1]是不是==k,不是的话说明第k小的字串一定在后缀i的字串中出现过,并算出长度L。然后再确定其在整个字符串中出现的最左位置,L>h[i]显然成立,所以L只能在i之后的后缀的字串中出现,找到一个范围i~r,使得之间的h值>=L,然后RMQ求出最小的sa... 阅读全文

posted @ 2014-09-16 01:31 rootial 阅读(688) 评论(0) 推荐(0)

ZOJ 3817 Chinese Knot
摘要:题意:给定4个长度为N的字符串( N 2 #pragma comment(linker, "/STACK:102400000,102400000") 3 #define in freopen("F:\\rootial\\data\\data.txt", "r", stdin); 4 #def... 阅读全文

posted @ 2014-09-07 19:09 rootial 阅读(316) 评论(0) 推荐(0)

Codeforces Round #215 (Div. 1)
摘要:A Sereja and Algorithm题意:给定有x,y,z组成的字符串,每次询问某一段s[l, r]能否变成变成zyxzyx的循环体。分析:分析每一段x,y,z数目是否满足构成循环体,当然长度 2 #define in freopen("solve_in.txt", "r", stdin);... 阅读全文

posted @ 2014-09-05 22:26 rootial 阅读(277) 评论(0) 推荐(0)

CDQ分治题目小结
摘要:CDQ分治属于比较特殊的一类分治,许多问题转化为这类分治的时候,时空方面都会有很大节省,而且写起来没有这么麻烦。这类分治的特殊性在于分治的左右两部分的合并,作用两部分在合并的时候作用是不同的,比如,通过左半部分的影响来更新右半部分,所以分治开始前都要按照某一个关键字排序,然后利用这个顺序,考虑一个区... 阅读全文

posted @ 2014-09-02 13:11 rootial 阅读(4884) 评论(1) 推荐(1)

Codeforces Round #232 (Div. 1)
摘要:这次运气比较好,做出两题。本来是冲着第3题可以cdq分治做的,却没想出来,明天再想好了。A. On Number of Decompositions into Multipliers题意:n个数a1,a2, a3...an求n个数相乘与a1*a2*a3*a4...an相等的排列个数。分析:首先应该对... 阅读全文

posted @ 2014-09-01 00:59 rootial 阅读(605) 评论(0) 推荐(0)

导航