- 博客(6)
- 收藏
- 关注
原创 codeforces Round # 187(Div.2) D
题意就是给两个字符串a,c, 现在将b个a相连得到w, d个c相连得到p,现求最大的q, 使其q个p相连,并且 得到的字符串存在于w中 (字符匹配不用连续)其实就是问b个a中存在多少个c先将字符串c预处理, 得到从当前字符开始得到的c的个数 并记录 跳转的下标for(int i = 0; i < c.length; i++) { int dd = i; for(int j =
2013-06-08 13:09:47
490
原创 第一次广东省赛
三人都是第一次参加省赛。 热身赛很坑 就做了大家都做了的B 最后怒看询问版发现数据被改了 真坑 热身赛那天师兄们说保四争五 遗憾没有争五。 说说过程。 我从尾巴看, 两位师兄从头看, 其实我觉得节奏就在这个时候被我带坏的。 两位师兄A没读懂 我K读懂了 东神过来听我讲题意 结果 两个人都异次元 我以为东神懂了 东神以为他明白了。。 然后东神敲K 我去看A 。 东神敲了K
2013-05-16 18:02:58
466
原创 hdu 4291~
矩阵乘法 + 循环节 + 快速求幂 代码: #include #include #include #define ll __int64 void mul(ll a[][2], ll b[][2], ll mod) { ll ans[2][2] = { 0, 0, 0, 0 }; for(int i =
2013-04-10 14:14:14
479
转载 小根堆 总结
小根堆 如果有一个关键字的集合K={k0,k1,k2, ..., kn-1}, 把所有元素按完全二叉树的顺序存储 方式存放在一个一维数组中,并且满足 ki 则称这个集合为小根堆。 小根堆的创建: 1. 复制堆数组 2. 找到最初的调整位置,即最后一个分支结点 3.1自底向上逐步扩大形成堆 3.2 向前换一个分支结点 小根堆的插入: 1. 将待插入元素插入
2013-03-27 10:54:41
744
原创 hdu 1754
恩这个是求区间最大值,是把敌兵布阵那道题的update函数改了一下, ps : a >?= b == a = max(a, b); #include const int maxn = 200010; int sum[maxn * 4]; void PushUP(int rt) { sum[rt] = sum[rt * 2] > sum[rt * 2 + 1] ?
2013-03-23 12:53:17
445
原创 hdu 1166 ~
线段树第一步~ 是找了别人的模板~~ 看明天自己能不能写一遍看看~ //by Goner #include const int maxn = 50010; int sum[maxn * 4]; void PushUP(int rt) { sum[rt] = sum[rt * 2] + sum[rt * 2 + 1]; } void build(int l, in
2013-03-23 12:43:36
329
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人