07 2013 档案
摘要:很好的一道题,感觉很巧妙题意:求一段区间里,不相同数的和分析:离线查询,详细见代码;// File Name: 3333.cpp// Author: Zlbing// Created Time: 2013/7/22 21:08:44#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define CL(x,v); memset(x,v,sizeof(x));#define INF 0x3f3f3f3f#define
阅读全文
摘要:题意:求矩形覆盖K次以上的面积分析:k很小,可以开K颗线段树,用sum[rt][i]来保存覆盖i次的区间和,K次以上全算K次// File Name: 11983.cpp// Author: Zlbing// Created Time: 2013/7/21 16:06:54#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define CL(x,v); memset(x,v,sizeof(x));#define
阅读全文
摘要:题解引自:http://www.cnblogs.com/wuyiqi/archive/2012/04/28/2474614.html这题和着题解一块看,看了半天才看懂的....菜菜....题意:有一排的枪编号依次为1~n 有一排靶子编号依次为1~m告诉你哪些枪能打中哪些靶子,然后如果每次只能选连续的P把枪,连续的Q个靶子,每次能打中的靶子的最大值为多少答案是把每次打中的最大值相加再除以总的次数即选择 1~P 的枪能打中的最多的靶子的数量 + 2~p+1 的枪能打中的最多的靶子的数量 +。。。n-p+1~n的枪能打中的最多的靶子的数量 /(n-p+1)注意,每把枪最多只能打一个靶子解法:将题目中
阅读全文
摘要:题解:http://www.notonlysuccess.com/index.php/segment-tree-complete/题意:求矩形周长分析:与面积不同的地方是还要记录竖的边有几个(numseg记录)也就是[记录线段树被覆盖的区间有多少个],并且当边界重合的时候需要合并(用lbd和rbd表示边界来辅助)线段树操作:update:区间增减 query:直接取根节点的值// File Name: 1177.cpp// Author: Zlbing// Created Time: 2013/7/20 19:53:20#include#include#include#include#incl
阅读全文
摘要:题意:求矩形面积并分析:使用线段树+扫描线...因为坐标是浮点数的,因此还需要离散化!把矩形分成两条边,上边和下边,对横轴建树,然后从下到上扫描上去,用col表示该区间有多少个下边,sum代表该区间内被覆盖的线段的长度总和这里线段树的一个结点并非是线段的一个端点,而是该端点和下一个端点间的线段,所以题目中r+1,r-1的地方可以自己好好的琢磨一下详细分析下扫描线第一次完全看懂扫描线.像这题的样例:这么两个矩形,现在要求它的面积并.假设我门将横边座位扫描线,即每个矩形有两条扫描线,下扫描线,下扫描线,每条扫描线我们用结构体const int MAXN=250;struct seg{ dou...
阅读全文
摘要:题解引自:http://www.cnblogs.com/wuyiqi/archive/2012/05/27/2520642.html题意:有n个数,刚开始都为0add i , j 给i,j区间内的数都加1Q i j 询问i、j间能被三整除的数的个数分析:线段树记录三个域对三取余为0的数的个数。。。。。1.。。。。。。。。。。2.。。。。。可以保存在一个数组里面考虑到每次给一个区间加1的时候,区间内对3取余为1的数的个数变成了对三取余为2,2的变成了0,0的变成了1所以每次更新到区间或者把信息(懒惰标记)往下传的时候只需要把相应的域做一下调整即可// File Name: 1135.cpp//.
阅读全文
摘要:http://codeforces.com/problemset/problem/85/D题意:给你N(0#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define CL(x,v); memset(x,v,sizeof(x));#define INF 0x3f3f3f3f#define LL long long#define REP(i,r,n) for(int i=r;i=r;i--)#define lson l,m,rt
阅读全文

浙公网安备 33010602011771号