自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

WhiteAndGold的博客

若合我意,一切皆好

  • 博客(57)
  • 收藏
  • 关注

原创 树链剖分模板

树链剖分#include<cstdio>#include<algorithm>using namespace std;const int M=40005;int n,m;struct edge{ int to,nxt,cost;}G[M<<1];int head[M],asdf;void add_edge(int a,int b,int c){ G[++asdf].to=b; G[asdf].nxt=head[a]; G[asdf].cost=c

2020-12-07 20:11:07 129

原创 POI2014 Solar Panels

Solar PanelsPOI2014题意多组询问,每次问x∈[L1,R1],y∈[L2,R2]时,gcd(x, y)的最大值解1.设答案为d那么必须满足⌊L1−1d⌋\lfloor\frac{L1-1}{d}\rfloor⌊dL1−1​⌋&lt;⌊R1d⌋\lfloor\frac{R1}{d}\rfloor⌊dR1​⌋&amp;&amp;⌊L2−1d⌋\lfloor\frac{L2-...

2018-09-29 22:23:47 216

原创 POI2014 Tourism

TourismPOI2014题意1.一个n个点,m条边的无向图2.在第i个点建立旅游站点的费用为C[i]3.在这张图中,任意两点间不存在节点数超过10的简单路径4.一种方案合法,当且仅当每个点要么建立了旅游站点,要么与它有边直接相连的点里至少有一个点建立了旅游站点5.选一些点建立旅游站点,问费用最少的合法方案需要花费多少解1.特别注意"在这张图中,任意两点间不存在节点数超过10的...

2018-09-29 19:39:32 263

原创 POI2011 Garbage

GarbagePOI2011题意1.每次清理车走的路是一个简单环2.清理完之后环上所有的街道改变状态(脏-&gt;不脏,不脏-&gt;脏)3.给出初始状态和终止状态4.求一个合法的清理车清理方案。解1.如果初始状态与终止状态不一致,这条路就需要被清理2.只需要存需要清理的边就行了因为如果存在合法的方案,其中有覆盖不需要清理的边,那么这条边肯定被偶数个环经过,每两个环可以并成一个...

2018-09-29 13:47:19 274

原创 POI2011 Sticks

SticksPOI2011题意1.有若干木棍,每根木棍有特定的颜色和长度2.问能否找到三条颜色不同的木棍构成一个三角形(注意这里所说的三角形面积要严格大于0)解1.先把木棍从小到大排2.然后把相邻颜色相同的合并(记录这种颜色此时能取到的最小值和最大值)这时剩下的相邻两个颜色必然不同3.从前往后枚举相邻两种颜色(指的是从先前预处理的数组中选)靠后的那种颜色作为最长边©靠前的那...

2018-09-29 10:17:38 184

原创 POI2011 Meteors

MeteorsPOI2011题意1.有N个国家2.有一颗星球的轨道被分为M份(第M份和第1份相邻),第i份上有第Ai个国家的太空站。3.这个星球经常会下陨石雨。已知接下来K场陨石雨的情况。4.第i个国家希望能够收集Pi单位的陨石样本5.判断对于每个国家,它需要在第几次陨石雨之后,才能收集足够的陨石解1.“第几次足够”,看到这个,当然是二分啦2.然后有好多好多国家,当然是同时二分...

2018-09-29 10:04:04 296

原创 POI2011 Inspection

InspectionPOI2011题意1.一棵n个节点的树2.先选择一个行动中心S3.从S出发前往任意一个未检查的点(沿树上两点的唯一最短路走),检查该节点,然后返回S。4.检查完最后一个节点后不需要返回5.相邻两次检查所经过的道路不允许有重复即他每次从S出发走过的第一条边不能和上一次出发的相同6.求以1~n为行动中心时,检查完所有点需要的最小时间,如果不可能则输出-1解1....

2018-09-29 09:44:55 239

原创 POI2011 Party

PartyPOI2011题意1.一个N(保证N是3的倍数)个节点M条边的图2.保证该图存在一个大小至少为2N3\frac{2N}{3}32N​的团3.请输出该图的任意一个大小为N3\frac{N}{3}3N​的团。4.一个团的定义为节点的一个子集,该子集中的点两两有直接连边解1.先找到当前图中度数最大的点,可以证明这个点必然在2N/3的团中如果他不是,他的度数也只是要2N/3,那...

2018-09-29 09:17:22 276

原创 POI2011 Tree Rotations 2

Tree Rotations 2POI2011怎么可以数据范围大9倍,内存才大1倍啊,对树套树说さようなら(再见)吧题意1.有一棵二叉树,所有非叶子节点都有两个孩子2.每个叶子节点有一个权值(有n个叶子节点,这些权值是1~n的一个排列)3.现在可以任意交换每个非叶子节点的左右孩子4.要求进行一系列交换,使得最终所有叶子节点的权值按照遍历序写出来,逆序对个数最少5.问逆序对个数最少为...

2018-09-29 08:58:53 207

原创 POI2011 Tree Rotations

Tree RotationsPOI2011题意1.有一棵二叉树,所有非叶子节点都有两个孩子2.每个叶子节点有一个权值(有n个叶子节点,这些权值是1~n的一个排列)3.现在可以任意交换每个非叶子节点的左右孩子4.要求进行一系列交换,使得最终所有叶子节点的权值按照遍历序写出来,逆序对个数最少5.问逆序对个数最少为多少解方案1(树套树)注意这个方法不能过Tree Rotations2...

2018-09-29 08:46:03 280

原创 POI2011 Programming Contest

Programming ContestPOI2011题意1.n个人,m个题目2.比赛有t分钟,每个题目需要r分钟做3.问做最多题且罚时最少的情况下,最多做了几题,此时最少罚时为多少解1.每个题目最多做一次2.每个人最多做 ⌊tr⌋\lfloor\frac{t}{r}\rfloor⌊rt​⌋ 题3.那么把每个人拆成⌊tr⌋\lfloor\frac{t}{r}\rfloor⌊rt​⌋...

2018-09-28 21:57:24 230

原创 POI2011 Difference

DifferencePOI2011题意1.一个长度为n的由小写字母组成的字符串2.其中连续的一段,该段中出现最多的字母出现的个数减去该段中出现最少的字母出现的个数3.求所有段中出现最多的字母出现的个数减去该段中出现最少的字母出现的个数最大为多少解1.枚举两个字母,一个当做出现最多的字母,另一个当做出现最少的字母2.扫一遍这两种字母(编号从小到大,用vector存,可以保证不扫到其他...

2018-09-28 21:43:39 238

原创 POI2014 Around the world

Around the worldPOI2014从未见过如此无耻的题目——既卡时间又卡空间题意1.在一个圆上有n个飞机场2.L[i]是第i个与第i+1个机场之间的距离(L[n]是第n个和第1个之间的距离)3.有s个询问,每个询问有一个d[i]4.对于每个询问:起点任选,每次飞行的距离不能超过d[i],绕这个圆一圈至少要飞多少次解方案1(并查集)1.从左往右,每个点所能到达的最远...

2018-09-28 21:20:25 225

原创 POI2014 Hotel加强版

Hotel加强版POI2014这次数据范围从5000改变到了100000,不能瞎搞了前置技能:长链剖分长链剖分有个小性质:所有长链的长度和为O(n)这个很显然吧?~题意同Hotel,于是我复制了一遍1.一棵n个节点的树2.选三个点,令这三个点两两之间距离相同3.问有多少种选点的方案解这次从动态规划角度考虑一下1.定义dp[x][j]:x为根,长度为j的链的个数g[x]...

2018-09-28 20:07:35 326

原创 POI2014 Hotel

HotelPOI2014题意1.一棵n个节点的树2.选三个点,令这三个点两两之间距离相同3.问有多少种选点的方案解1.可以枚举一个点为根2.在根下面选三棵子树3.每个子树里选一条从根出发且长度相等的链4.定义cnt[x][0]:长度为x的链有多少条cnt[x][1]:长度为x的链有多少对具体操作1.清空cnt数组2.枚举一个点为根3.选一棵子树遍历4.先把原本的答...

2018-09-28 19:45:49 318

原创 PO2014 Rally

RallyPOI2014题意1.有一个N个点M条边的有向无环图,每条边长度都是12.找到一个点,使得删掉这个点后剩余的图中的最长路径最短3.问删去的点哪个点,以及删掉这个点后剩余的图中的最长路径长度为多少解1.存下每个点的入边,出边(分开存)2.预处理每个点沿着出边最长链是多少(dis2[x]),沿着入边走最长链是多少(dis1[x])3.先把所有点出边最长链(dis2[x])放...

2018-09-27 22:20:47 181

原创 POI2014 Supercomputer

SupercomputerPOI2014题意1.给定一棵N个节点的有根树,根节点为1。2.有Q次询问,每次给定一个K,用最少的操作次数遍历完整棵树,输出最少操作次数。3.每次操作可以选择访问不超过K个未访问的点,且这些点的父亲必须在之前被访问过。4.且第一个次操作必须是根节点解1.整个选点的过程大概是这么个样子:①每次操作,把这一层全部选完如此一直能够把前i层的点取光接下来一...

2018-09-27 21:50:13 276

原创 POI2014 Solar lamps

Solar lampsPOI2014题意1.有n个灯,他们只会朝一个确定的夹角发光2.每个灯被放在一个固定的地方,并且朝向同一个方向(指如果发光会朝同一个方向)3.第i盏灯如果被至少K[i]盏灯照到那么他就会发光4.现在按从1到n的顺序依次给每盏灯通电,即在第i个时刻给第i盏灯通电5.问每盏灯在哪个时刻开始发光解1.先转换一下坐标(方向乱七八糟看着不恶心么)设新坐标为(a,b...

2018-09-27 20:02:11 228

原创 POI2014 Freight

FreightPOI2014题意1.火车从一侧到另一侧需要S分钟。2.每两列车发车时间至少需要间隔一分钟。3.在每一个时刻,在铁路上的所有列车的行驶方向都必须相同。4.按照时间表的顺序,N辆列车将从左侧到右侧,到达后又需要回到左侧。5.问最迟回到左侧的列车回到左侧的时刻的最小是多少。解1.贪心一波结论如果现在有车回去,那么必然是所有车一起回去因为所有车一起回来可以让回来的耗时...

2018-09-27 19:20:39 164

原创 POI2014 FarmCraft

FarmCraftPOI2014题意1.有一棵n个节点的树2.有个人在1号节点上3.每个节点有一台电脑,安装软件需要C[i]的时间4.现在树上的每条边只能被走两次,每次耗时1分钟5.当这个人第一次走到节点x时,他会自动开始安装软件6.这个人必须让所有电脑开始安装后,回到自己的家里亲自安装自己的电脑7.问所有电脑都安装完毕的最短时间是多少解1.由“树上的每条边仅能走两次”得,每...

2018-09-27 11:02:08 189

原创 POI2014 Little Bird

Little BirdPOI2014题意1.有一排n棵树,第i棵树的高度是D[i]。2.有m只小鸟要从第1棵树到第n棵树3.如果第j只小鸟当前在第i棵树,那么它可以跳到第i+1,i+2,…,i+k[j]棵树。4.如果小鸟跳到一棵高度大于等于当前高度的树,那么它的劳累值会加一,否则不会。5.每只鸟最少会有多少疲劳值。解1.先写一个无脑dp定义 dp[i]:到了i位置时最少的疲劳值...

2018-09-27 10:08:39 192

原创 POI2014 Ant colony

Ant colonyPOI2014题意1.有一棵n个节点的树2.每个叶子节点有g群蚂蚁进入,第i群有m[i]只3.每时每刻一个节点最多只有一群蚂蚁4.当一群蚂蚁要离开度数为d的点时,这群蚂蚁会分成d-1群,每群⌊md⌋\lfloor\frac{m}d \rfloor⌊dm​⌋只蚂蚁(向下取整)5.有一条边上有一只食蚁兽,如果有一群蚂蚁通过这条边,并且数量恰为K只,它就会吞掉这群蚂蚁。...

2018-09-26 22:26:05 134

原创 POI2014 Criminals

CriminalsPOI2014题意1.有一个颜色序列2.有两个人会分别从左往右和从右往左走,并在途中任意取走几个格子里面的颜色,直到两个人相遇。3.已知两个人所取走的颜色序列,并且保证这两 个颜色序列的最后一个元素都是同一种颜色(代表两个人相遇的点)。4.两个人出发点的颜色都是相同的,并且他们不会取出发点的颜色.5.不存在任意一个颜色在这两个序列中出现两次(但可以分别在两个序列中出...

2018-09-26 10:31:46 244

原创 POI2014 Card

CardPOI2014题意1.有n张卡片,第i张卡片上,正面的数为a[i],反面的数为b[i]。2.有m个操作,第i个操作会交换c[i]和d[i]两个位置上的卡片3.每个操作完成后,需要判断,通过任意翻转卡片(把正面变为反面或把反面变成正面,但不能改变卡片的位置),能否让卡片正面上的数从左到右单调不降。解1.如果没有交换操作,那么就是一个线性递推2.但是需要多次修改,考虑用线段树维...

2018-09-26 09:49:45 324

原创 POI2014 Couriers

CouriersPOI2014一眼题,但是被卡内存了题意求在[l,r]中出现的次数大于(r-l+1)/2 的数解1.一个区间中只会有一个数,因为他出现的次数大于区间的一半2.如果存在,那么区间第(r-l+1)/2+1大的值,那么答案必然是他3.只要确认区间第(r-l+1)/2+1大的值的个数是否&gt;(r-l+1)/2即可4.经典模型:主席树求区间第K值5.但是此题比较卡内存...

2018-09-26 09:40:44 211

原创 POI2014 Salad Bar

Salad BarPOI2014题意1.有一个长度为n的字符串,每一位只会是p或j。2.找到一个子串S,使得不管是从左往右还是从右往左取,都保证每时每刻已取出的p的个数不小于j的个数。3.求S的最大长度。解1.把p看做+1,把j看做-12.设 sum[i]为前缀和3.如果区间[l,r]要作为答案,必须满足一下条件条件1:sum[l]~sum[r]-sum[l-1]&gt;=0 ...

2018-09-26 09:33:48 290 1

原创 POI2014 Bricks

Salad BarPOI2014题意1.有一个长度为n的字符串,每一位只会是p或j。2.找到一个子串S,使得不管是从左往右还是从右往左取,都保证每时每刻已取出的p的个数不小于j的个数。3.求S的最大长度。解1.把p看做+1,把j看做-12.设 sum[i]为前缀和3.如果区间[l,r]要作为答案,必须满足一下条件条件1:sum[l]~sum[r]-sum[l-1]&amp;gt;=0 ...

2018-09-25 22:20:12 286

原创 ZJOI 2011 营救皮卡丘

营救皮卡丘题意1.n个据点,m条双向路 2.K个人从0点出发 3.如果要摧毁K号据点,必须先摧毁1- (K-1)号据点 即必须按顺序摧毁据点 4.在K-1被摧毁先不能经过K号据点 5.经过K点即摧毁K点,可以反复经过 6.K个人分头行动 7.目标摧毁N号节点,并使K个人经过的道路长度和最小解P40dp[i][j]:破坏了第i个据点后,每个人在j(状压位...

2018-08-22 10:58:35 221

原创 HNOI 2016 大数

大数题意1.有个长度为N的数S,可能有前导0 2.一个素数P 3.M个询问 4.S的一个子串中有多少子串是P的倍数(0也是P的倍数) 5.子串可以有前导0 解是P的倍数,即Mod P=0P30定义 cnt[i][j]:[i,j]串中有cnt个子串 1.预处理cnt[i][j] O(n^2) 2.对于每个询问,枚举L,ans+=min(R[i],...

2018-08-22 10:36:13 170

原创 HNOI 2016 树

树解读题意1.有n个点的模板树 2.每次把模板树上a为根的子树接到大树的b下面 3.求两个点在大树上的距离切分P30暴力模拟: 1.全部连边 2.求lca正解流程1.对于那么多个接子树操作,显然不能全部接到大树上,那么试着接点别的代替 2.只把子树的根接到大树上 3.为了能求距离,接上去的边权应为两个结点在大树上的距离 4.对于序号的映射,就是在模...

2018-08-21 10:49:56 233

原创 HNOI 2016 最小公倍数

最小公倍数解读题意判定有无路径包含u,v,且路径上的max{a[]}=A ,max{b[]}=B切分P20暴力:O(q,m) 并查集里存par,mxa,mxb 对于每个询问 q 每次清空并查集 把小于等于a且小于等于b的边并起来(边指到点上) 观察u,v是否在一个集合里 观察集合mxa是否等于a 观察集合...

2018-08-21 10:48:09 246

原创 HNOI 2016 网络

网络特点利用树剖+线段树+可删除堆(双堆),维护不经过某个点的最大值具体操作1.预处理树剖。 2.线段树每个节点一个可删除堆(两个堆)。 3.对于加边操作,树剖跳出了一个个线段,都存下来,此时这些线段表示的是这条链,那么除去这些线段表示的就是其他点。更新除这些线段以为的线段即可。具体代码#include&lt;bits/stdc++.h&gt;usin...

2018-08-21 10:47:15 161

原创 TC SRM 502 TheProgrammingContestDivOne

TheProgrammingContestDivOneTopCoder - 11357题意:一个团队参加编程比赛,比赛的持续时间是T分钟,他们有N个任务。 可以在比赛期间随时提交,包括比赛开始后的T分钟。 如果他们在比赛开始后立即解决第i个任务,他们将获得MaxPoints [i]分,并且每分钟减少PointsPerMinute [i]分。第i个问题需要他们RequiredTime...

2018-08-21 10:42:14 227

原创 Codeforces 293E Close Vertices

Close VerticesCodeforces 293E求路径,你懂的点分它1.权值可能会很大,但是l小于等于n。所以可以考虑枚举链的权值,查询长度2.存下链的长度和权值和,按权值排序。从大到小枚举,从小到大往BIT里塞长度,当A[i].val+A[j].val&lt;=w时把A[j]塞入BIT。即在BIT的A[j].l处。具体代码如下:#include&lt;b...

2018-08-21 10:38:58 225

原创 Codeforces 120J Minimum Sum

Minimum SumCodeforces 120J这题可以转化成分治经典问题:求最近点对距离。值得注意,这题要开freopen1.两个转化后的向量和的长度=sqrt((xi+xj)^2 +(yi+yj)^2 )。类似于最近点对的sqrt((xi-xj)^2 +(yi+yj)^2)2.一个向量有四种变化,我们就把四种全都塞进去找最近点对。怕重复?多存一个id,不让id相同的点发...

2018-08-21 10:37:41 230

原创 HDU 3480 Division

DivisionHDU 3480斜率优化dp,推出式子就解了1.代价是(Max{T}-Min{T})^2,要使权值和最小,应该从小到大排序,然后按顺序取。2.排完序后可以DP了。定义dp[i][j]:前i个数分成不超过j段的最小代价。dp状态转移式dp[i][j]=min{dp[i][j-1],dp[k][j-1]+(A[i]-A[k+1])^2}3.斜率优化...

2018-08-21 10:35:20 159

原创 HDU 2993 MAX Average Problem

MAX Average ProblemHDU 2993题意:给你一个长度为n的数列,求长度大于等于k的区间的最大平均值。注意,此题卡读入。。。珍爱生命,使用fread方法1:求斜率最大值,维护下凸1.定义sum[i]为前缀和。每个点为(i,sum[i])2.求(sum[i]-sum[j])/(i-j)的最大值,即求k(i,j)的最大值。3.在已有的下凸单调队...

2018-08-21 10:34:17 184

原创 二分图完美匹配模板

二分图完美匹配模板这里讲的都是最大权完美匹配。如果求最小权只需把边权改成负数即可dfs版(慢,代码简单)#include&amp;amp;lt;bits/stdc++.h&amp;amp;gt;using namespace std;const int M=405;int n,mat[M];long long Lx[M],Ly[M],A[M][M];long long slack;bool S...

2018-08-21 10:32:19 376

原创 HDU 3986 Harry Potter and the Final Battle

Harry Potter and the Final Battle题意1.求删除一条边后的最短路中的最大值题解1.建任意一棵最小路径树,边权等于长度 2.树上1-&gt;n的链标记 3.枚举链上一条边被删除 4.dj求最小值 5.所有最小值中取max 6.复杂度:$nmlogm$具体代码#include&lt;bits/stdc++.h&gt;u...

2018-08-20 10:59:38 231

原创 ZOJ 3794 Greedy Driver

Greedy Driver题意1.有个卡车司机叫爱德华,他现在任务是从1到n。 2.图上有m条有向边。 3.有p个点是加油站,他在加油站可以免费加油,加任意多的油,但是不能超过油箱上限C。 4有Q个点可以卖油,qi点,每桶油可以卖vi元,但是最多只能卖一次。 5.他想在完成任务的情况下赚尽可能多的钱。(如果不能到达n 输出-1) 6.问他最多能赚多少钱?解1.只能...

2018-08-20 10:24:00 158

空空如也

空空如也

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

TA关注的人

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