- 博客(10)
- 收藏
- 关注
原创 自己的一点小结
NOIP快要结束了,在这一段竞赛和之前文化课的学习和乱搞之后,我挺想总结一些东西的。文化课首先回想了一下之前文化课的学习,可以说是被班上的大佬吊锤。本来初中认为自己已经算是认真和努力了,初中的考试和自主招生让我颇有点小得意。但一升学才见识到自己与班上同学巨大的差距,月考就直接从自主招生的第一炸到了千里之外QAQ,当初没考过我的同学全都甩了我一截,唉,那几天特别得伤心。好吧,那就先爬起来吧:1. 自己
2017-11-05 11:24:34 175
原创 信息学的重要能力
做题的习惯信息学既重在知识的学习,更重在练习。现在网上有很多非常好的网站可以用于做题,还包括题解,讨论等。但是做题一定要坚持独立思考,杜绝直接去看题解和讨论。自己不会题目的正解并不重要,学长和老师告诉我,你有没有思路才更关键。每一题都不太会,但都能用奇怪的规律或是暴力求解拿部分分(听学长说省选都有这种奇人),这也是一种成功(拉仇恨,容易被那些辛辛苦苦想正解的boy暴捶)。网站上可以看到自己做错的原因
2017-11-02 16:56:22 620 1
原创 线段树更进一步的运用
区间修改 线段树除了点修改之外还有更多的作用 Add(l,r,v):把a[l],a[l+1],a[l+2]…a[r]中所有元素加v Query(l,r):计算子序列a[l],a[l+1],…,a[r]的元素和,最小值和最大值当然如果你想让你的代码拥有更多的黑科技气息(附带运算速度加成),你可以采用 位运算 这种优(zhuang)秀(bi)的技巧定义线段树需要维护的区间和,最小值和最大值分别
2017-11-01 17:09:37 268
原创 浅谈线段树
-————终于从数论中爬出来了,没有继续写数论了 点修改 例题:给出一个有n个元素的数组a1,a2,a3,….an,设计一个数据结构,来支持修改某个元素和计算某个区间的最值 分析:因为要修改元素并且要计算最值,就不能再用ST表和遍历整个区间来计算,这两种方法的时间复杂度都较高,且如果一边修改元素,一边找最值,写出的代码就可以直接拿去卡死评测机. 所以我们要引入线段树(
2017-10-31 15:28:59 192
原创 数学基础
—-感觉自己现在身为一个OIer,却陷入数学之中无法自拔基本计数方法 1.排列组合 C(n,m)=n*(n-1)(n-2)…*(n-m+1)/m! –组合 P(n,m)=n!/(m-1)! –排列 区别排列与组合的标志是“有序”与“无序”c(n,m)以及其重要的性质在组合计数中有着极其重要的作用 (1)c(n,0)=c(n,n)=1 (2)
2017-10-29 10:19:50 333
原创 简单的数论小知识
经过我这一段时间对数论的一顿乱学,现在总结几点最基础的吧.1.gcd算法 gcd算法用来求最大公约数,最普遍且优美的算法就是辗转相除法。int gcd(int a,int b){ if(b==0) { return a; } else gcd(b,a%b);}```(超简洁的) 而**lcm(最小公倍数)**就用`(a*b)/gcd(a,b
2017-10-28 16:45:17 320
原创 单调栈的运用
单调栈本质上只是单调递增或递减的栈,有点类似于单调队列,但不同之处在于插入一个元素时,会弹出栈中 所有不符合单调性的元素(来个例子吧!)当一个单增的栈stack{1,2,3,4};向其中压入元素6时,stack{1,2,3,4,6};向其中压入元素2时,stack弹出2,3,4,且stack{1,2};向其中压入0时,stack弹出1,2,3,4,stack{0};所以结论 利用单调栈,可以找
2017-10-25 20:22:53 561
原创 位运算
首先熟知至少下列三种运算符 1.& 按位与运算 只有对应的两个二进位均为1时,结果才为1,否则为0。参与运算的数以补码方式出现。 2.| 按位或运算 只要对应的两个二进位有一个为1时,结果位就为1。参与运算的两个数同样以补码出现。 3.^ 按位异或运算 当两对应的二进位相异时,结果为1。 下列为一个简单的位运算(n+m==?) #include<cstdio> using namesp
2017-10-25 17:18:10 297
原创 ST表
ST表用于处理区间最值问题,时间复杂度可以处理到O(nlogn),用mn[i][j]表示从j到j+2^i-1的最小值,长度为2^i。j到j+2^i-1的长度为2^i,那么一半的长度就等于2^(i-1),前半段的状态表示为mn[i-1][j],后半段的长度也为2^(i-1),后半段的状态表示为mn[i-1][j+2^(i-1)].综上可得: mn[i][j]=min(mn[i-1][j],mn[i-
2017-10-25 15:11:16 239
转载 树状数组
出处:http://blog.csdn.net/int64ago/article/details/7429868 一、树状数组是干什么的? 平常我们会遇到一些对数组进行维护查询的操作,比较常见的如,修改某点的值、求某个区间的和,而这两种恰恰是树状数组的强项!当然,数据规模不大的时候,对于修改某点的值是非常容易的,复杂度是O(1),但是对于求一个区间的和就要扫一遍了,复杂度是O(N),如果实时的
2017-10-25 13:08:32 151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人