Visitors hit counter dreamweaver
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 26 下一页
摘要: 对于序列a,我们设一个数组C ◦C[i] = a[i –2^k+ 1] + … + a[i] ◦k为i在二进制下末尾0的个数 ◦2^k就是i 保留最右边的1,其余位全变0◦i从1开始算!C即为a的树状数组 2k=i &(i^(i-1)) 也就是i&(-i);C[i] = a[i-lowbit(i)+1] + …+ a[i]C包含哪些项看上去没有规律C1=A1C2=A1+A2C3=A3C4=A1+A2+A3+A4C5=A5C6=A5+A6C7=A7C8=A1+A2+A3+A4+A5+A6+A7+A8…………C16=A1+A2+A3+A4+A5+A6+A7+A 阅读全文
posted @ 2012-03-01 21:43 Jason Damon 阅读(247) 评论(0) 推荐(0) 编辑
摘要: POJ 2528 关键在于插入数据的顺序------从上往下依次插入每张海报,这样后插入的海报不可能覆盖先插入的海报,因此插入一张海报时,如果发现海报对应区间有一部分露出来,就说明该海报部分可见。#include <iostream>#include <algorithm>using namespace std;struct Cpost{ int L,R;};Cpost posters[10100]; //存储海报int x[20200]; //存储端点编号int Hash[10000010]; //存储离散后的端点的编号,端点的大小为1QW,所以要大。struct C 阅读全文
posted @ 2012-02-27 18:54 Jason Damon 阅读(344) 评论(0) 推荐(0) 编辑
摘要: POJ1151 一开始做的时候,我还用以前做的离散化的方法来离散化这题中的数据,但是后来才发现,它里面包含了浮点数。不能直接的离散化!必须转化为整数后,再来影射.又学习了一种离散化的方法。还有就是扫描线的方法,第一次听说,开始看这题的正确代码的时候,看半天没看懂。。。耽误了好久时间。后来终于明白了什么是扫描线的方法了。呵呵,又学习了! 具体的分析可以看下图: 在Y轴进行离散化。n个矩形的2n个横边纵坐标共构成最多2n-1个区间的边界,对这些区间编号,建立起线段树。//以Y轴来离散化数据#include <iostream>#include <algorithm>usin 阅读全文
posted @ 2012-02-27 16:26 Jason Damon 阅读(1453) 评论(0) 推荐(0) 编辑
摘要: 通过这道题还是又进一步对线段树有了更深的认识,加油加油! 借郭老师的分析: 本题树节点要存哪些信息?只存该区间的数的和,行不行?只存和,会导致每次加数的时候都要更新到叶子节点,速度太慢,这是必须要避免的。本题树节点结构:struct node { intl ,r; //区间起点和终点 node * pLeft, * pRight;long long sum; //原来的和 long long inc;//增量n的累加 }; //本节点区间的和实际上是sum+inc*(r-l+1) 在增加时,如果要加的区间正好覆盖一个节点,则增加其节点的inc值,不再往下走,否则要更新sum,再将增量往下传.. 阅读全文
posted @ 2012-02-23 21:51 Jason Damon 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 昨天去找大四的一个学姐买了两本书,回来后看她书上写的东西,就知道她保研了。然后我又在QQ上和她聊了好久,主要是问她一些关于保研的事情。她说她大一的时候的成绩才76分,靠大二大三的努力,她最后把平均分拉到了85.4分。哇哇!激励人啊!竟然可以有那么大的提升,膜拜ing。当谈到大三下学期的时候,她说这学期也很重要的哦~因为这学期的学分挺多的,必修限选总共有18个学分,不可忽视。而且最后老师都会划重点的,只要好好努力,这学期还是可以拉好多分的!幸亏啊。。。不跟学姐交流之前,我自己认为这学期已经很轻松了,随随便便学学就行了。这可是打错特错啊!想我现在的成绩是84.9,虽说保研没什么大问题了,但要想报. 阅读全文
posted @ 2012-02-23 00:07 Jason Damon 阅读(921) 评论(2) 推荐(0) 编辑
摘要: 再次理解线段树。比第一次又有了更深刻的认识,虽然还不能完全靠自己写出来,但自己慢慢的去摸索,一定能慢慢理解那个套路了。加油,拿下线段树。同时,推荐北大郭炜讲的线段树。poj3264#include <iostream>#include <algorithm>#include <numeric>using namespace std;#define MY_MIN 99999999#define MY_MAX -99999999struct CNode{ int L,R; int nMin,nMax; CNode *pLeft,*pRight;};int min 阅读全文
posted @ 2012-02-21 21:11 Jason Damon 阅读(1404) 评论(1) 推荐(0) 编辑
摘要: http://apps.hi.baidu.com/share/detail/15064014http://www.jb51.net/article/22773.htm 阅读全文
posted @ 2012-02-21 09:58 Jason Damon 阅读(131) 评论(0) 推荐(0) 编辑
摘要: #include <iostream>#define MAXN 30000using namespace std;struct node{ int l,r,m,c;}tree[3*MAXN];void create(int l,int r,int num){ tree[num].l=l;tree[num].r=r; tree[num].m=(l+r)>>1;tree[num]=r-l; if(l+1!=r){ create(l,tree[num].m,2*num); create(tree[num].m,r,2*num+1); }}int u... 阅读全文
posted @ 2012-02-08 16:06 Jason Damon 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 1232的连接:http://acm.hdu.edu.cn/showproblem.php?pid=1232#include <iostream>#include <cstdio>#define MAX 1005using namespace std;int father[MAX],rank[MAX];int N,M;void make_set(){ for(int i=1;i<=N;i++){ father[i]=i; }}int find_set(int x){ if(x!=father[x]){ father[x]=find_set(father[... 阅读全文
posted @ 2012-01-24 12:43 Jason Damon 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 主要参考出处:http://clemily.blog.163.com/blog/static/1680500342011431102234244/ 感谢他(她)的优秀文章。我是参考学习的。SWUST OJ 1813 灾后城市道路规划问题Description2008年5月12日的汶川地震给绵阳带来重大的损失,在全国人名的努力下,经过近三年的灾后重建。灾区的生活终于又恢复了平静,美丽的汶川有出现在了世人的面前,但是随着经济的恢复,绵阳的交通出现了很大的问题,特别是灾区的交通。以前留下的一些旧的公路和现在新修的一些公路错杂交错。让人们的出行很不方面。作为绵阳道路规划的负责人,Bearboy,想要. 阅读全文
posted @ 2012-01-24 08:54 Jason Damon 阅读(285) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 26 下一页