夏夜、

心若平似镜、何题不AC。

上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页

2013年9月13日

HDU 3265 Posters 线段树 扫描线

摘要: 把一张海报剩余的部分分割成四个小矩形,然后就是简单的矩形面积并了。//#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;typedef pair pii;#define pb(a) push_back(a)#def 阅读全文

posted @ 2013-09-13 12:40 BMan、 阅读(219) 评论(0) 推荐(0) 编辑

2013年9月12日

HDU 1828 Picture 线段树 扫描线

摘要: 写完后才发现数据是int不是double...//#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;typedef pair pii;#define pb(a) push_back(a)#define INF 0x 阅读全文

posted @ 2013-09-12 11:30 BMan、 阅读(186) 评论(0) 推荐(0) 编辑

2013年9月11日

HDU 1542 Atlantis 线段树 扫描线

摘要: 开始学扫描线http://www.2cto.com/kf/201307/231714.html终于找到一个有图的了,智商有限没图看不懂。自己的代码:a.因为每个矩形的左右两条边是一一对应的,所以不必下放标记。b.这里线段树的一个结点并非是线段的一个端点,而是该端点和下一个端点间的线段,所以题目中r+1,r-1的地方可以自己好好的琢磨一下//#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include 阅读全文

posted @ 2013-09-11 14:59 BMan、 阅读(237) 评论(0) 推荐(0) 编辑

2013年9月10日

POJ 2155 Matrix 二维线段树

摘要: 一开始还想跟一维一样用懒惰标记,死活搞不出,看到网上有人说二维的只能做到区间查询单点更新,或单点更新区间查询,用不了懒惰标记。释怀了。。。用标记永久化,也就是说一个节点的标记不用往下传,从顶到下查询节点的时候每遇到一个标记就修改答案就行了。//#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#include#include#include#include#include#includeu 阅读全文

posted @ 2013-09-10 16:40 BMan、 阅读(244) 评论(0) 推荐(0) 编辑

hdu 1823 Luck and Love 二维线段树

摘要: 母线段树每个节点保存一个子线段树。//#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;typedef pair pii;#define pb(a) push_back(a)#define INF 0x1f1f1f 阅读全文

posted @ 2013-09-10 16:36 BMan、 阅读(150) 评论(0) 推荐(0) 编辑

2013年9月9日

UVA 12299 RMQ with Shifts 线段树

摘要: 简单的单点更新//#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;typedef pair pii;#define pb(a) push_back(a)#define INF 0x1f1f1f1f#define 阅读全文

posted @ 2013-09-09 15:42 BMan、 阅读(189) 评论(0) 推荐(0) 编辑

HDU 4578 Transformation 线段树

摘要: 三个标记,注意到乘法标记会影响加法标记,然后就是一般的成段更新了。AC后搜别人的题解发现原来替换标记可以用一个乘0和加c代替,这样就不用三个标记了。//#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;typede 阅读全文

posted @ 2013-09-09 15:38 BMan、 阅读(291) 评论(0) 推荐(0) 编辑

2013年9月7日

FZU 2105 Digits Count 线段树

摘要: 每一个二进制位建一颗线段树,总共4颗。然后几个操作:AND 如果opn在某位上为0,则将这一位的树的[l,r]成段替换为0;OR 如果opn在某位为1,则将这一位的树的[l,r]成段替换为1;XOR 一般的异或标记#include #include #define lson idx > 1; ... 阅读全文

posted @ 2013-09-07 16:57 BMan、 阅读(260) 评论(0) 推荐(0) 编辑

2013年9月4日

UVA 1513 Movie collection 树状数组

摘要: 假设每秒进行一次操作,用一个数组保存每个电影上一次操作的时间da[i]=t。那么要知道第i部电影上面有多少只要找到“时间>da[i]”的有多少个就行了,这一步可以用树状数组实现。x[t]表示某个时间t是否在da数组中,用树状数组统计sum{x[i] ,i>da[k]}我们可以把电影的初始状态看成以n,n-1,n-2.....1的顺序全部操作了一遍。注意每次查询后要把之前的旧时间清除,且更新da数组.//#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#i 阅读全文

posted @ 2013-09-04 23:41 BMan、 阅读(318) 评论(0) 推荐(0) 编辑

2013年9月3日

UVA 1292 Strategic game 树形DP

摘要: 基础题目。 dp[i][j]表示结点为i,且父节点选取情况为j的状态(j=1表示选,0不选)//#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;typedef pair pii;#define pb(a) pus 阅读全文

posted @ 2013-09-03 21:01 BMan、 阅读(216) 评论(0) 推荐(0) 编辑

上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页

导航