自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 HDU 5490 Simple Matrix (2015合肥站网络赛1007 数学题)

这个看了秦总博客学会的,附上地址 博客介绍得很详细。 我原来的思路,找到每一个ai,bi对(n,m)的贡献。 我们可以写出 c(n,m)=∑ni=1ai∗(n+m−1−im−1)+∑mi=1bi∗(n+m−1−in−1)c(n,m) =\sum_{i=1}^n ai*{n+m-1-i \choose m-1} + \sum_{i=1}^m bi*{n+m-1-i \choose n-1}

2015-09-30 23:50:58 1005

原创 HDU 5489 Removed Interval(2015合肥站网赛1006,DP+树状数组)

当时写的时候并不会,一直想不通一个问题,每次删除的区间从L,R->L+1,R+1的时候,如何维护整个剩余序列的LIS。太弱。。。。 赛后才搞懂这个问题,就是一个dp的问题吧。 dp1[i]表示以num[i]开头的LIS。 dp2[i]表示以num[i]结尾的LIS。 dp[i]表示以分割出来的第二段num[i]为开头的LIS+第一段中的序列的最大值 我们设删除的区间长度为d 那么dp[i

2015-09-28 21:18:35 648

原创 HDU 5476 Explore Track of Point (2015上海站网赛1009)

这是一道纯平面几何题,高中时候最喜欢的数学竞赛的一块知识!!! 硬要说什么难度的话,初中数学竞赛的知识点,入门级平面几何吧。。。(而现在的我太过愚蠢。。。) 图中的圆是,过B,C点并与三角形ABC相切与B,C的圆 这道题答案是高+劣弧BC的长度 这道题就是一个简单的托勒密定理+切线定理 那么我们要证明的就是角BPM+角APC = 180 下面是证明: 我们延长AP交圆于D,连接CD

2015-09-26 19:14:51 1562

原创 HDU 5458 2015沈阳站网赛1009 (边的双连通+树链剖分+线段树)

题意:给你n个点,m条边,两种操作:1 u v 把u v之间的边删掉一个2 u v 如果删除一条边就能使u,v不连通,那么找出所有满足这个条件的这些边的个数。注意:每一个时刻都保证图是一个连通图,可能有重边,可能有自环(u-u这种边)删边这种东西太难处理,所以我们离线做,找出终图,然后加边,加边这种东西用并查集就可以维护,关键我们怎么求操作2? 1:很明显,我们要把所有的边的双连通分量缩成一

2015-09-22 18:24:49 790

原创 2015北京网赛G BOX(BFS)

这道题写了20+分钟,找了1个半小时错误,发现是一个很蠢的错误。还没有时间写1002了。总结下来的话,还是这道题写法太傻比了。 直接 n = 1,2,3,4,5,6,7 暴力打表算出来,然后查询的时候只要一个hash的过程。做法: 首先状态是什么?每个数在第几个位置,比如 3124576 这个状态对应的就是 dp[1][2][0][3][4][6][5]。 由目标状态1234567开始bfs

2015-09-20 22:40:52 593

原创 HDU 5451 2015长春站网赛1002(数论)

附上大神的博客:广义斐波拉契数列循环节点 比赛的时候搞了两种想法:1:暴力找一遍循环节点,应该能在要求的复杂度内找到(并没有写) 2: 这个时候我们的复杂度降到了p*log(2^(32)),然后天真地写了,结果wa了4发,感觉应该不会贵,待会附上代码(依旧TLE)说说正解:广义斐波拉契数列的循环节:(p-1)*(p

2015-09-19 22:59:13 984

原创 POJ 2752 后缀数组

这道题是一道很裸的KMP,原来是用KMP写的,今天换后缀数组写了一下,就这道题而言,KMP要比后缀数组快的多。 这次写完才发现为什么上次我用后缀数组写这题一直T,我原来自己写的后缀数组并没有写基数排序,复杂度是o(nlognlogn),简直作死。。。 直接上代码吧,比较水#include <cstdio>#include <cstring>#include <cstdlib>#in

2015-09-18 00:02:34 515

原创 HDU 5446 2015长春站网络赛1010(数论模板题)

这道题知道两个东西就能写出来:lucas+CRT(中国剩余定理),题目很裸。但是有一个坑,就是相乘的时候会爆LL!!!这个时候用一个快速乘就搞定了,这个也是这道题才学会的,其实快速成很简单,就是把一个数变成2进制,然后把*改成了+法(和快速幂基本一样)。 lucas定理: C(n,m) == C(n/p,m/p)*C(n%p,m%p) (mod p) ,p为素数。 证明可以看cxlove大神的博

2015-09-16 23:10:02 492

原创 HDU 5442 2015长春站网络赛1006(后缀数组)

后缀数组大神模板 比赛的时候没有A掉的一题,总结起来还是自己想得过于简单了,实际上也确实是蛮简单的裸地后缀数组的题(好像正解不是后缀数组写的)。 做法是:正着再写一边,找一次sa[2n-1], 这个就是对应的顺时针最优解。把序列翻转以后再写一边,照一次sa[2n-1],算出所有height值,逆序再找一边height[i] < n的时候的最右端的i,这个就是逆时针最优的解。口头表达好像比较不容易

2015-09-15 23:57:15 413

原创 HDU 5441 2015长春站online1005(并查集)

这场比赛其实打的还是比较傻逼的,赛后做总结,感觉麟哥和真珍姐讲的还是蛮有道理的,现在如果再做专题的话没有什么意义了,这段时间准备多做点套题。比赛的时候并不是我写的这题,赛后补了一下,写离线并查集的话,不断插满足条件的边,如果是u,v在两棵不同子树的话,那么这次查找的答案就是ans += 2*cnt[findset(u)]*cnt[findset(v)];这里应该比较好理解。#include

2015-09-14 12:57:43 407

原创 HYSBZ 2002 Bounce 弹飞绵羊(分块)

今天原来打算做ZOJ月赛的,等到中午的时候感觉太困了,就睡了一觉,然后就没有然后了。。。这题正版写法应该是LCT,但是分块也能过,而且写起来特别简单,LCT写的话应该是一个Cut,Link操作,维护的就是答案的值(没写)。下面附上代码:#include #include #include #include #include #define LL long long#defi

2015-09-12 16:43:54 422

原创 HYSBZ 2243 染色 LCT学习

这道题感觉非常简单,(其实用树链剖分写的话肯定快多了),一个区间染色问题,需要记录一下最左段,最右端的颜色,还有就是有几段,这样才能维护起来,在一个傻逼地方wa了好多遍,翻转的时候,左端的颜色变成了右端的颜色,右端的颜色变成了左端的颜色。下面是代码:#include #include #include #include #include #define LL long long#d

2015-09-11 21:30:13 583

原创 HYSBZ 2049 Cave 洞穴勘测

比较简单的LCT,就一个link,Cut操作(就是HDU那道题中的两个),直接上代码:#include #include #include #include #include #define LL long long#define INF 0x3fffffff#define FOR(i,x,y) for(int i = x;i < y;i ++)#define IFOR(i,

2015-09-11 21:25:06 515

原创 SPOJ 375 LCT学习

今天把这题的LCT补了一下:下面是用树链剖分写的,上面使用LCT写的,树链剖分确实比LCT快,据说是LCT多一个常数的关系,但是这道题由于数据比较小的关系吧,树链剖分并没有比LCT快多少。这道题的关键是一个边权转换成点权来写(话说如果这个不知道,那么树链剖分也写不出来了吧,但是我感觉是不是可以用map,int>来直接存边,然后做,好像这个样子又会多一个logn,没有尝试写过。。。)

2015-09-10 23:07:35 418

原创 HDU 4010 动态树LCT学习

入门LCT的题目,这几天把LCT学习了一下,上手真是好难。这是写的LCT的第一道题,改掉了BUG以后交上去,PE,加了一行空格以后就过了,真是太开心了!!!写一点刚开始学习的一点感想,等我把题目补完了再来做一个小结。刚开始看http://wenku.baidu.com/view/75906f160b4e767f5acfcedb  这篇论文的时候真是感觉好烦,看了好几遍以后感觉写得确实太优秀

2015-09-08 22:14:16 836

原创 ZJOI2008 树的统计 树链剖分学习

水题,这次都没有给我傻逼的机会了,1A过了。直接上代码了#include #include #include #include #include #define LL long long#define INF 0x3fffffff#define FOR(i,x,y) for(int i = x;i < y;i ++)#define IFOR(i,x,y) for(int i

2015-09-04 22:59:31 379

原创 HDU 3966 树链剖分学习

这道题不难,看出是树链剖分就很简单,其实奇异也很明显就是一个树链剖分,不过这次不是把树链扔到线段树上,是把节点扔到线段树上。这个时候注意一下w[1] = 1就行了,其他就是线段树的一个区间覆盖的问题了。#include #include #include #include #include #include #define LL long long#define FOR(i,x,

2015-09-03 23:06:53 264

原创 POJ 3237 树链剖分学习(&&树链剖分小结)

一个地方wa了3发,找了一组数组发现的错误,太蠢,就是两个人数作交换写成了 a=b ,b=a。最近智商真是感人。这道题是由spoj375这题改编的,多了一个取反的操作,这个操作只需要多维护一个最小值就行了。然后就是简单的树链剖分+线段树的区间操作。没什么好说的,直接上代码(过几天把LCT学习了,可能回头再来补这题)。#include #include #include #include

2015-09-02 23:24:08 383

原创 SPOJ 375 树链剖分学习

学习树链剖分的第一题,第二个dfs忘记递归了(太蠢),re了两发,改过来以后就1A了。学习树链剖分可以参考这篇博客:http://blog.sina.com.cn/s/blog_7a1746820100wp67.html 个人感觉写得非常好!!!树链剖分听起来很吊,其实就是把数边扔到线段树上,然后搞出一点事情来。主要就是一个重儿子,重链,从而使复杂度降到了(logn)。这个非常关键。关于初

2015-09-01 23:07:56 362

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除