<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yangbowen2的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yangbowen2</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yangbowen2]]></copyright><item><title><![CDATA[自己的一点小结]]></title><link>https://blog.youkuaiyun.com/yangbowen2/article/details/78448359</link><guid>https://blog.youkuaiyun.com/yangbowen2/article/details/78448359</guid><author>yangbowen2</author><pubDate>Sun, 05 Nov 2017 11:24:34 +0800</pubDate><description><![CDATA[NOIP快要结束了，在这一段竞赛和之前文化课的学习和乱搞之后，我挺想总结一些东西的。文化课首先回想了一下之前文化课的学习，可以说是被班上的大佬吊锤。本来初中认为自己已经算是认真和努力了，初中的考试和自主招生让我颇有点小得意。但一升学才见识到自己与班上同学巨大的差距，月考就直接从自主招生的第一炸到了千里之外QAQ，当初没考过我的同学全都甩了我一截，唉，那几天特别得伤心。好吧，那就先爬起来吧：1. 自己]]></description><category></category></item><item><title><![CDATA[信息学的重要能力]]></title><link>https://blog.youkuaiyun.com/yangbowen2/article/details/78426769</link><guid>https://blog.youkuaiyun.com/yangbowen2/article/details/78426769</guid><author>yangbowen2</author><pubDate>Thu, 02 Nov 2017 16:56:22 +0800</pubDate><description><![CDATA[做题的习惯信息学既重在知识的学习，更重在练习。现在网上有很多非常好的网站可以用于做题，还包括题解，讨论等。但是做题一定要坚持独立思考，杜绝直接去看题解和讨论。自己不会题目的正解并不重要，学长和老师告诉我，你有没有思路才更关键。每一题都不太会，但都能用奇怪的规律或是暴力求解拿部分分（听学长说省选都有这种奇人），这也是一种成功（拉仇恨，容易被那些辛辛苦苦想正解的boy暴捶）。网站上可以看到自己做错的原因]]></description><category></category></item><item><title><![CDATA[线段树更进一步的运用]]></title><link>https://blog.youkuaiyun.com/yangbowen2/article/details/78416167</link><guid>https://blog.youkuaiyun.com/yangbowen2/article/details/78416167</guid><author>yangbowen2</author><pubDate>Wed, 01 Nov 2017 17:09:37 +0800</pubDate><description><![CDATA[区间修改 
线段树除了点修改之外还有更多的作用 
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)的技巧定义线段树需要维护的区间和,最小值和最大值分别]]></description><category></category></item><item><title><![CDATA[浅谈线段树]]></title><link>https://blog.youkuaiyun.com/yangbowen2/article/details/78403999</link><guid>https://blog.youkuaiyun.com/yangbowen2/article/details/78403999</guid><author>yangbowen2</author><pubDate>Tue, 31 Oct 2017 15:28:59 +0800</pubDate><description><![CDATA[-————终于从数论中爬出来了，没有继续写数论了 
点修改 
    例题：给出一个有n个元素的数组a1,a2,a3,….an,设计一个数据结构,来支持修改某个元素和计算某个区间的最值 
    分析:因为要修改元素并且要计算最值,就不能再用ST表和遍历整个区间来计算,这两种方法的时间复杂度都较高,且如果一边修改元素,一边找最值,写出的代码就可以直接拿去卡死评测机. 
    所以我们要引入线段树(]]></description><category></category></item><item><title><![CDATA[数学基础]]></title><link>https://blog.youkuaiyun.com/yangbowen2/article/details/78383238</link><guid>https://blog.youkuaiyun.com/yangbowen2/article/details/78383238</guid><author>yangbowen2</author><pubDate>Sun, 29 Oct 2017 10:19:50 +0800</pubDate><description><![CDATA[—-感觉自己现在身为一个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)]]></description><category></category></item><item><title><![CDATA[简单的数论小知识]]></title><link>https://blog.youkuaiyun.com/yangbowen2/article/details/78377116</link><guid>https://blog.youkuaiyun.com/yangbowen2/article/details/78377116</guid><author>yangbowen2</author><pubDate>Sat, 28 Oct 2017 16:45:17 +0800</pubDate><description><![CDATA[经过我这一段时间对数论的一顿乱学，现在总结几点最基础的吧.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]]></description><category></category></item><item><title><![CDATA[单调栈的运用]]></title><link>https://blog.youkuaiyun.com/yangbowen2/article/details/78346110</link><guid>https://blog.youkuaiyun.com/yangbowen2/article/details/78346110</guid><author>yangbowen2</author><pubDate>Wed, 25 Oct 2017 20:22:53 +0800</pubDate><description><![CDATA[单调栈本质上只是单调递增或递减的栈，有点类似于单调队列，但不同之处在于插入一个元素时，会弹出栈中 
所有不符合单调性的元素（来个例子吧！）当一个单增的栈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}；所以结论   利用单调栈，可以找]]></description><category></category></item><item><title><![CDATA[位运算]]></title><link>https://blog.youkuaiyun.com/yangbowen2/article/details/78343866</link><guid>https://blog.youkuaiyun.com/yangbowen2/article/details/78343866</guid><author>yangbowen2</author><pubDate>Wed, 25 Oct 2017 17:18:10 +0800</pubDate><description><![CDATA[首先熟知至少下列三种运算符 
1.& 按位与运算  只有对应的两个二进位均为1时，结果才为1，否则为0。参与运算的数以补码方式出现。 
2.| 按位或运算 只要对应的两个二进位有一个为1时，结果位就为1。参与运算的两个数同样以补码出现。 
3.^ 按位异或运算 当两对应的二进位相异时，结果为1。 
下列为一个简单的位运算（n+m==？） 
#include<cstdio> 
using namesp]]></description><category></category></item><item><title><![CDATA[ST表]]></title><link>https://blog.youkuaiyun.com/yangbowen2/article/details/78341770</link><guid>https://blog.youkuaiyun.com/yangbowen2/article/details/78341770</guid><author>yangbowen2</author><pubDate>Wed, 25 Oct 2017 15:11:16 +0800</pubDate><description><![CDATA[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-]]></description><category></category></item><item><title><![CDATA[树状数组]]></title><link>https://blog.youkuaiyun.com/yangbowen2/article/details/78340145</link><guid>https://blog.youkuaiyun.com/yangbowen2/article/details/78340145</guid><author>yangbowen2</author><pubDate>Wed, 25 Oct 2017 13:08:32 +0800</pubDate><description><![CDATA[出处：http://blog.youkuaiyun.com/int64ago/article/details/7429868 
一、树状数组是干什么的？   平常我们会遇到一些对数组进行维护查询的操作，比较常见的如，修改某点的值、求某个区间的和，而这两种恰恰是树状数组的强项！当然，数据规模不大的时候，对于修改某点的值是非常容易的，复杂度是O(1)，但是对于求一个区间的和就要扫一遍了，复杂度是O(N)，如果实时的]]></description><category></category></item></channel></rss>