- 博客(11)
- 收藏
- 关注
原创 HDU 4456 CDQ分治
#include #include #include #include #include using namespace std; const int size = 110010; struct node{ int p,x,y,x0,y0,z,id; }que[size]; int n,m,ans[size]; vector v[si
2015-08-22 10:14:33 442
原创 BZOJ 3674 主席树+并查集
/* BZOJ 3674: 可持久化并查集加强版 主席树+并查集 */ #include #include #define m (l+r)/2 using namespace std; const int N = 200100; const int M = N * 60; int n,q,tot; int fa[M],dp[M],T[N*4],lson[M],rson[
2015-08-19 16:33:56 397
原创 ZOJ 2112 动态第k大 主席树+树状数组
/* ZOJ 2112 动态第k大 考虑静态第k大的主席树做法,第i棵树T[i]保存的是数组前i个元素的信息 对询问(i,j,k),只用取出T[j]和T[i-1]即可 若数组元素有修改,做法也差不多 令T[i]只记录数组前i个元素的信息 修改a[i]=j的时候,需对所有k>=i的T[k]修改 对询问,也只用取出T[j]和T
2015-08-19 13:25:20 405
原创 URAL 2055 Urban Geography 分治,并查集
/* URAL 2055 Urban Geography 求图的生成树,使得树上边权绝对值最小 1. 将边排序,二分答案 p,判断是否存在生成树 2. 给边加上时间区间,使得任意时刻存在的边绝对值差不大于 p 3. 判断是否存在某个时刻,使得存在的边形成一个连通块 3.1 对时间进行分治,假设当前处理时间区间为 [l,r]
2015-08-10 10:10:55 536
原创 hdu 5367 线段树动态建树
#include #include #include #include #include #include #include #include #include #include using namespace std; const int size=851111; typedef long long ll; typedef pair pii; int t,n,q,rr,t
2015-08-09 13:15:19 493
原创 poj 2104 区间第k大 主席树
/* 静态主席树求区间第K大 poj 2104 主要思想: 1. 将数据离散化 2. 用线段树来维护信息,维护处于该区间的数的个数 3. 将原有数组中的每一个数依次插入,每次插入一个值的时候新建一棵线段树 这样就有了n+1棵线段树,对于询问(l,r,k),只需查询T[l-1]和T[r]两棵线段树
2015-08-05 20:25:32 482
原创 HYSBZ 2038 小Z的袜子 莫队算法
#include #include #include #include #include #include #include #include #include #include #include using namespace std; const int size=111111; typedef long long ll; typedef double dd; type
2015-07-31 19:51:14 416
原创 HDU 4417 树状数组
/* HDU 4417 Super Mario 题意:给定一个数组,若干询问,每次询问区间不大于K的数的个数 将询问按K排序,保证每次处理当前K的时候,数组中不大于K的数已经被加到树状数组中 然后求前缀和即可 */ #include #include #include #include #include #include
2015-07-29 14:22:19 350
原创 HDU 5314 Happy King 点分治
/* HDU 5314 题意: 给定N个点的树,点有权值 求多少个点对(u,v)满足u到v的路径上点权值最大值减最小值不大于给定的K 分治瞎搞。 每次分治时,算出总合法点对数减去各子树合法点对数即为解。 */ #pragma comment(linker, "/STACK:102400000,102400000") #include
2015-07-27 10:46:54 911
原创 Toj 1116 Poj 1324(A*搜索) Holedox Moving
#include #include #include #include #include #include #include #include #include using namespace std; const int size=64*64*4*21*21; int dis[22][22],vis[22][22],q[1000],qin,qout; int n,m,l; int X[10],
2014-07-14 15:08:55 1078
原创 test
This is just a test . #include #include #include #include #include #include #include using namespace std; struct node{ int x1,x2,y1,y2; }line[222]; int X[222],Y[222],n; int insert(node a){ for(in
2014-07-09 20:25:38 415 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人