自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 P4149-(求一条边数最少的权值和为K的简单路径权 的边数 点分治模板)

题目输入样例#1:4 30 1 11 2 21 3 4输出样例#1:2n≤200000,K≤1000000日你

2019-05-29 13:10:51 509

原创 点分治模板

题目Sample Input5 41 2 31 3 11 4 23 5 10 0Sample Output8点分治裸题。点分治的主要思想就是:对这个题来讲的话我们先随便找一个点 1.既然是分治。可以分为两种情况。1.点对在1的不同子树内。2.点对在1的相同子树x内。同时情况2又是 像这样可以分为两种情况。我们递归下去每次只计算情况1就好了。如何计算:可以将以1...

2019-05-27 09:50:43 338

原创 BZOJ-2120-数颜色(带修改的区间不同数个数 带修莫队/用树状数组维护主席树)

题目Sample Input6 51 2 3 4 5 5Q 1 4Q 2 6R 1 2Q 1 4Q 2 6Sample Output4434对于100%的数据,N≤10000,M≤10000,修改操作不多于1000次,所有的输入数据中出现的所有整数均大于等于1且不超过10^6。思路:1.带修莫队裸体。2.次数主席树+树状数组维护单点修改.其实这也不算主席树 但...

2019-05-26 13:44:37 850

原创 P4768-归程(kruskal重构树+倍增+dijkstra预处理+dfs建立fa[][]时预处理哪个子节点最近)

题目N<=2e5 M<=4e5 Q<=4e5;思路:从点v出发走海拔超过p的边。就是kruskal重构树了。先dijksta处理每个节点到出发点1的最短路d[].然后dfs建立fa[][]数组时顺便求出每个节点所掌管的子节点以及他自己 离出发点1最近的节点。这里有些要注意。if(d[son[y]]<d[son[x]]) son[x]=son[y]…记住这个把。。。...

2019-05-25 11:39:39 176

原创 BZOJ-3732-Network(从A到B的所有路径中问最长边的最小值是多少 kruskal重构树模板)

题目Sample Input6 6 81 2 52 3 43 4 31 4 82 5 74 6 21 21 31 42 32 45 16 26 1Sample Output55544745#include<cstdio>#include<algorithm>#include<cstring>#inclu...

2019-05-25 09:28:04 253

原创 P4179-Peaks(kruskal重构树+倍增+dfs序建主席树)

题目输入样例#1:10 11 41 2 3 4 5 6 7 8 9 101 4 42 5 39 8 27 8 107 1 46 7 16 4 82 1 510 8 103 4 73 4 61 5 21 5 61 5 88 9 2输出样例#1:61-18思路:重构树 倍增找到从v出发走小于x的边可到达的点 这些点都是一个点的子树。倍增找到这个点。一...

2019-05-25 00:41:36 177

原创 BZOJ-1036-(树链剖分+线段树 模板)

题目Sample Input41 22 34 14 2 1 312QMAX 3 4QMAX 3 3QMAX 3 2QMAX 2 3QSUM 3 4QSUM 2 1CHANGE 1 5QMAX 3 4CHANGE 3 6QMAX 3 4QMAX 2 4QSUM 3 4Sample Output412210656516//Problem:...

2019-05-24 12:50:03 158

原创 CF375D-Tree and Queries(莫队+按次数分块)

题目题意:给出一棵 n 个结点的树,每个结点有一个颜色 c i 。 询问 q 次,每次询问以 v 结点为根的子树中,出现次数 ≥k 的颜色有多少种。树的根节点是1。数据范围: 2<=n<=1e5 1<=m<=1e5 1<=a[i]<=1e5;思路:每次询问k值不一样,必须除了莫队还要有一个数据结构维护次数,也要用一个cnt[]数组维护。每次修改很多,查询只...

2019-05-23 11:03:44 175

原创 HDU-6534-(莫队+权值树状数组维护 大水题)

题目Sample Input7 5 32 5 7 5 1 5 66 61 34 62 43 4Sample Output02131题意: 给一个大小为n的序列,和一个k。询问m个区间。问每个区间里可以找出多少个友对。友对: i<j,| a[j]-a[i] |<k。思路: a[j]-a[i]<k -----a[j]<a[i]+k a[i]...

2019-05-23 08:18:03 567

原创 P4867-Gty的二逼妹子序列(莫队+分块)

题目输入样例#1:10 104 4 5 1 4 1 5 1 2 15 9 1 23 4 7 94 4 2 52 3 4 75 10 4 43 9 1 11 4 5 98 9 3 32 2 1 68 9 1 4输出样例#1:2002111012【样例的部分解释】5 9 1 2 子序列为4 1 5 1 2 在[1,2]里的权值有1,1,2,有2种,因...

2019-05-22 21:52:45 201

原创 HDU-4638-Group(分最少个连续子区间 莫队)

题目题意: 把对应询问区间内的数字分成很多个组,要求每个组内的数字的id,val必须是连续的。假设某个组的数字数为k,则该组的价值是k*k,让你输出总价值最大的分法对应分的区间个数。**思路:**根据vis[k+1],vis[k-1]。来判断每一次移动对res的影响。具体见add,del函数。k是a[x]离散化后对应的refl。//1388MS 5700K#include<cstdi...

2019-05-22 20:37:27 116

原创 BZOJ-3289-Mato的文件管理(莫队+树状数组维护逆序对个数)

题目Sample Input41 4 2 321 22 4Sample Output02样例解释:第一天,Mato不需要交换 。第二天,Mato可以把2号交换2次移到最后。/**************************************************************3289: Mato的文件管理Time Limit: 40 Sec ...

2019-05-22 19:35:43 165

原创 莫队模板

题目Sample Input6 41 2 3 3 3 22 61 33 51 6Sample Output2/50/11/14/15【样例解释】询问1:共C(5,2)=10种可能,其中抽出两个2有1种可能,抽出两个3有3种可能,概率为(1+3)/10=4/10=2/5。询问2:共C(3,2)=3种可能,无法抽到颜色相同的袜子,概率为0/3=0/1。询问3:共C(3,...

2019-05-20 19:46:05 239

原创 HDU-6475-(三分+01背包 好题)

题目Sample Input13 5 1 5-3 5 2-2 2 32 5 3Sample Output9思路:共有n个广告,一共有2^n个选择方案。假定确定好选择方案了。利润: ka[x]+b[x]+ka[m]+b[m]+…+ka[r]+b[r]=k(a[x]+a[m]+…+a[r])+(b[x]+b[m]+b[r]);每一种方案的利润对于k是一个一次函数。共有2^n个一次...

2019-05-20 17:27:53 141

原创 ZOJ-3203-三分模板

题目#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#define en '\n'#define eps 1e-10using namespace std;typedef double du;const int INF=1e9,N=1e4+...

2019-05-20 16:08:02 108

原创 P1883-函数(每个点的值为取对应多个正抛物线的值中的最大值,求区间最小值)

题目输入样例#1:212 0 022 0 02 -4 2输出样例#1:0.00000.5000【数据范围】T < 10, n ≤ 10000,0 ≤ a ≤ 100,|b| ≤ 5000, |c| ≤ 5000思路:画出多个正抛物线,就能看出来了,最后的取值曲线是凸型曲线。#include<cstdio>#include<cstring>...

2019-05-20 15:18:38 395

原创 HDU-2298(三分+二分物理题 模板)

题目Sample Input30.222018 23.901887 121.90918339.096669 110.210922 20.270030138.355025 2028.716904 25.079551Sample Output1.561582-1-1题意:二维面上给定目标坐标和初速度,求在坐标原点(0,0),发射出去能经过目标点的最小的角度。思路:写出一个高度关...

2019-05-20 14:40:46 145

原创 HDU-3400-(三分套三分)

题目Sample Input10 0 0 100100 0 100 1002 2 1Sample Output136.60题意:给你两条线段AB , CD ,有一个人在AB以速度P跑,在CD上以Q跑,在其他地方跑速度是R。求从A到D最少的时间。思路:不想说了。。T_T#include<cstdio>#include<cstring>#includ...

2019-05-20 12:35:52 234

原创 P3382&HDU-2899(三分模板+秦九韶算法)

题目输入:3 -0.9981 0.51 -3 -3 1输出:-0.41421时空限制:50ms,128M数据规模:7<=N<=13#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<iostream>...

2019-05-20 08:53:32 113

原创 hzwer分块教程

#6277. 数列分块入门 1样例输入41 2 2 30 1 3 11 0 1 00 1 2 21 0 2 0样例输出25n<5e4 , -2^31 <=others, ans<=2^31-1#include<cstdio>#include<cstring>#include<algorithm>#include&...

2019-05-19 09:03:14 500

原创 p3067-平衡的奶牛群(折半枚举)

题目这道题有三种状态: 不放入任何集合 放入左边集合 放入右边集合 dfs(pos+1,sum,sta); dfs(pos+1,sum+c[pos],sta+(1<<(pos-1))); dfs(pos+1,sum-c[pos],sta+(1<<(pos-1)));但是我们得到的答案可能会有重复,就是我们可能把一个数选入左集合或右集合,但是都加...

2019-05-18 11:46:01 330

原创 P1102- A-B 数对(给一串数及一个数C,算 A-B=C 的数对的个数)

题目输入样例#1:4 11 1 2 3输出样例#1:3说明 N≤2e5所有输入数据都在longint范围内。A-B=C,也就是对于每一个A找出来满足=A-C的B的个数。1.排序完二分,对于每一个A,lower_bound,upper_bound (A-C) 的差就是对于A满足条件的值。(A的枚举顺序不要求,但是二分查找的时候还是要排序的)2.既然都排好序了,那就A从小到大枚举...

2019-05-17 23:35:31 929

原创 POJ-2481-Cows(给n个区间的左右端点,求每个区间被多少个区间包含 树状数组模板)

题目题意: 包含: If Si <= Sj and Ej <= Ei and Ei - Si > Ej - Sj。将所有区间 l 不同时, l从小到大排序, r 从大到小排序。每个区间被多少区间包含这个答案就是 当前树状数组中>=该区间右端点的数的个数。因为既然在这个区间之前存在于树状数组之中,说明 l<=该区间的 l,而查询的这些的r也是>=其右端点 ...

2019-05-17 22:13:51 762

原创 HDU-1542-Atlantis(有多个矩阵求最后的覆盖面积,扫描线)

题目#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#define m(a,b) memset(a,b,sizeof a)#define en '\n'using namespace std;typedef double du;const i...

2019-05-17 20:39:02 183

原创 AtCoder-4142-Xor Sum 2 (异或的性质+尺取)

题目题意:求区间[l,r]的对数,使得A[l] xor A[l+1] xor … xor A[r] = A[l] + A[l+1] + … +A[r].//0^1=1,1^0=1,0^0=0,1^1=0//0+1=1,1+0=1,0+0=0,1+1=0(但是我要进位啊)//可以看出a^b<=a+b(当且仅当a,b二进制中不能有一位同为1);//n个数满足条件可得n个数中的任意几个数...

2019-05-16 21:02:50 391

原创 UVA-11572-Unique Snowflakes(找出拥有不重复数字的最长区间 尺取法模板)

题目题意:找出拥有不重复数字的最长区间。思路:l 递增时,最优的 r 呈不下降之势。(符合尺取条件)#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<map>#define m(a,b) memset(a,b,siz...

2019-05-16 19:30:42 328

原创 POJ-2566-Bound Found(尺取法 好题!!!)

题目Sample Input5 1-10 -5 0 5 10310 2-9 8 -7 6 -5 4 -3 2 -1 05 1115 2-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -115 1000 0Sample Output5 4 45 2 89 1 115 1 1515 1 15题意:给你一个序列长度n。再给一个q次询...

2019-05-15 14:34:22 284

原创 POJ-2100-Graveyard Design(尺取法模板)

题目给出一个数,看他是否是几个连续的数的平方和,先输出方案种数,再每一种输出连续数的个数,在输出这几个连续的数。Sample Input2030Sample Output24 21 22 23 243 25 26 27#include<cstdio>#include<cstring>#include<algorithm>#include&l...

2019-05-14 21:03:09 155

原创 POJ-2739-Sum of Consecutive Prime Numbers(线性素数筛+尺取模板)

题目Sample Input2317412066612530Sample Output11230012#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#define m(a,b) memset(a,b,sizeo...

2019-05-14 19:41:35 129

原创 POJ-3320-Jessica's Reading Problem(尺取法模板)

题目Sample Input51 8 8 8 1Sample Output2给你一个数列,数列中的数可以重复,找出一段区间包含数列中所有的数,求最短区间。用map维护区间不同数的个数。//Memory: 2284K Time: 438MS#include<cstdio>#include<cstring>#include<algorithm&gt...

2019-05-14 16:02:26 184

原创 POJ-3061-Subsequence(尺取模板)

题目题意:给你一个序列,找出连续的一段使其和>=m,问这一段的长度最短是什么。Sample Input210 155 1 3 5 10 7 4 9 2 85 111 2 3 4 5Sample Output23#include<cstdio>#include<cstring>#include<algorithm>#include...

2019-05-14 14:28:21 155

原创 P4799-世界冰球锦标赛(折半枚举模板)

题目1<=n<=40,1<=m<=1e18;输入样例#1:5 1000100 1500 500 500 1000输出样例#1:801背包,m范围小的话可以使用。这里是错误的。因为m<=1e18;#include<cstdio>using namespace std;typedef long long ll;const int N=1e...

2019-05-14 10:49:05 225

原创 P1487-Query on a tree III(裸dfs序+主席树)

添加链接描述1<=n<=1e5,1<=m<=1e4;输入样例#1:51 3 5 2 71 22 31 43 542 34 13 23 2输出样例#1:5455题解:这个题输出子树第K小这个值对应原数列的哪一个 也就是可通过主席树+dfs序求出ai,但是要输出i。因为要离散化。1-n数组 预处理一下id[dex]=i,dex是指离散化...

2019-05-13 22:11:24 103

原创 HDU-6483-A Sequence Game(st+ 莫队/主席树)

题目题意:m次查询区间[l,r]内的数是否连续。本题分为两部分: 1.区间最值(st) 2.区间内不同数的个数(莫队/主席树)我只想说:我的主席树MLE了!!下面那个代码是MLE的!!!(我还有话要说T_T 明天再说)#include<cstdio>#include<cstring>#include<algorithm>#include<i...

2019-05-12 22:21:57 240

原创 BZOJ-2809-dispatching(枚举+dfs序建主席树)

题目题意:已知条件:人数,上线薪水m,每一个人都有一个上级,薪水,领导能力。找出一个人,从他所掌管的所有员工里随意选出几个员工,但这些员工的总薪水要<=m,求这个人的领导能力*员工个数的最大值。思路:枚举+dfs序建主席树#include<cstdio>#include<cstring>#include<algorithm>#include...

2019-05-12 09:18:57 152

原创 BZOJ-2588-Count on a tree(树上主席树+LCA模板)

题目Reaper题解: 每个点的前向是它的父亲,建立n(n个节点)的前缀树。ac=lca(x,y),acfa=fa[ac][0];left=sum[t[x].l]+sum[t[y].l]-sum[t[ac].l]-sum[t[acfa].l];也就是 x+y-ac-acfa=x-ac+y-ac+(ac-acfa);Sample Input8 5105 2 9 3 8 5 7 7...

2019-05-11 19:18:59 115

原创 P-3379-LCA(倍增模板)

题目Reaper输入样例#1:5 5 43 12 45 11 42 43 23 51 24 5输出样例#1:44144时空限制:1000ms,128M数据:N<=500000,M<=500000#include<cstdio>#include<cstring>#include<algorithm>#i...

2019-05-11 16:22:10 165

原创 HDU-6278-Just h-index(二分+主席树模板)

题目Free the Animal题意:多组样例 n,m;a1,a2,ai…an;m次询问;每次询问是:找到一个最大的 x 使区间[l,r]内的数(ai)>=x的数 的个数>=x;(这个x是任意一个数)思路:low=1,high=r-l+1(一个区间内最多有r-l+1个数)。查询的mid也应该refl一下,mid的范围[0,n]。refl数组也应该加上1-n;(但是这个...

2019-05-11 13:59:54 118

原创 P3567-Couriers-(出现的次数大于区间个数的一半==静态第K小主席树模板)

题目假如一个数在区间出现的次数大于一半,第(r-l+3)/2小的一定是这个数,然后只要检测这个数出现的次数是否>一半即可。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int N=5e...

2019-05-08 19:34:21 316

原创 P2617 Dynamic Rankings(动态区间第K小,单点更新) 树状数组套主席树(权值线段树)

题目题解:与主席树前缀和的思想一致,树状数组维护一个"主席树"(不是前缀和那样的一颗权值线段树 而是low(i)颗权值线段树)输入样例#1:5 33 2 1 4 7Q 1 4 3C 2 6Q 2 5 3输出样例#1:36说明对于所有数据,m,n≤100000请注意常数优化,但写法正常的整体二分和树套树都可以大约1000ms每个点的时间过。#include<cst...

2019-05-06 22:05:10 159

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除