POI题解
POI题解
兔兔不会梦到ACM学长
这个作者很懒,什么都没留下…
展开
-
POI2011 Garbage
GarbagePOI2011题意1.每次清理车走的路是一个简单环2.清理完之后环上所有的街道改变状态(脏->不脏,不脏->脏)3.给出初始状态和终止状态4.求一个合法的清理车清理方案。解1.如果初始状态与终止状态不一致,这条路就需要被清理2.只需要存需要清理的边就行了因为如果存在合法的方案,其中有覆盖不需要清理的边,那么这条边肯定被偶数个环经过,每两个环可以并成一个...原创 2018-09-29 13:47:19 · 325 阅读 · 0 评论 -
POI2011 Sticks
SticksPOI2011题意1.有若干木棍,每根木棍有特定的颜色和长度2.问能否找到三条颜色不同的木棍构成一个三角形(注意这里所说的三角形面积要严格大于0)解1.先把木棍从小到大排2.然后把相邻颜色相同的合并(记录这种颜色此时能取到的最小值和最大值)这时剩下的相邻两个颜色必然不同3.从前往后枚举相邻两种颜色(指的是从先前预处理的数组中选)靠后的那种颜色作为最长边©靠前的那...原创 2018-09-29 10:17:38 · 226 阅读 · 0 评论 -
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 · 381 阅读 · 0 评论 -
POI2011 Inspection
InspectionPOI2011题意1.一棵n个节点的树2.先选择一个行动中心S3.从S出发前往任意一个未检查的点(沿树上两点的唯一最短路走),检查该节点,然后返回S。4.检查完最后一个节点后不需要返回5.相邻两次检查所经过的道路不允许有重复即他每次从S出发走过的第一条边不能和上一次出发的相同6.求以1~n为行动中心时,检查完所有点需要的最小时间,如果不可能则输出-1解1....原创 2018-09-29 09:44:55 · 316 阅读 · 0 评论 -
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 · 318 阅读 · 0 评论 -
POI2011 Tree Rotations 2
Tree Rotations 2POI2011怎么可以数据范围大9倍,内存才大1倍啊,对树套树说さようなら(再见)吧题意1.有一棵二叉树,所有非叶子节点都有两个孩子2.每个叶子节点有一个权值(有n个叶子节点,这些权值是1~n的一个排列)3.现在可以任意交换每个非叶子节点的左右孩子4.要求进行一系列交换,使得最终所有叶子节点的权值按照遍历序写出来,逆序对个数最少5.问逆序对个数最少为...原创 2018-09-29 08:58:53 · 258 阅读 · 0 评论 -
POI2011 Tree Rotations
Tree RotationsPOI2011题意1.有一棵二叉树,所有非叶子节点都有两个孩子2.每个叶子节点有一个权值(有n个叶子节点,这些权值是1~n的一个排列)3.现在可以任意交换每个非叶子节点的左右孩子4.要求进行一系列交换,使得最终所有叶子节点的权值按照遍历序写出来,逆序对个数最少5.问逆序对个数最少为多少解方案1(树套树)注意这个方法不能过Tree Rotations2...原创 2018-09-29 08:46:03 · 327 阅读 · 0 评论 -
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 · 291 阅读 · 0 评论 -
POI2011 Difference
DifferencePOI2011题意1.一个长度为n的由小写字母组成的字符串2.其中连续的一段,该段中出现最多的字母出现的个数减去该段中出现最少的字母出现的个数3.求所有段中出现最多的字母出现的个数减去该段中出现最少的字母出现的个数最大为多少解1.枚举两个字母,一个当做出现最多的字母,另一个当做出现最少的字母2.扫一遍这两种字母(编号从小到大,用vector存,可以保证不扫到其他...原创 2018-09-28 21:43:39 · 283 阅读 · 0 评论 -
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 · 263 阅读 · 0 评论 -
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⌋<⌊R1d⌋\lfloor\frac{R1}{d}\rfloor⌊dR1⌋&&⌊L2−1d⌋\lfloor\frac{L2-...原创 2018-09-29 22:23:47 · 260 阅读 · 0 评论 -
POI2014 Tourism
TourismPOI2014题意1.一个n个点,m条边的无向图2.在第i个点建立旅游站点的费用为C[i]3.在这张图中,任意两点间不存在节点数超过10的简单路径4.一种方案合法,当且仅当每个点要么建立了旅游站点,要么与它有边直接相连的点里至少有一个点建立了旅游站点5.选一些点建立旅游站点,问费用最少的合法方案需要花费多少解1.特别注意"在这张图中,任意两点间不存在节点数超过10的...原创 2018-09-29 19:39:32 · 312 阅读 · 0 评论 -
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 · 393 阅读 · 0 评论 -
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 · 364 阅读 · 0 评论 -
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]&gt;=0 ...原创 2018-09-25 22:20:12 · 358 阅读 · 0 评论 -
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]>=0 ...原创 2018-09-26 09:33:48 · 344 阅读 · 1 评论 -
POI2014 Couriers
CouriersPOI2014一眼题,但是被卡内存了题意求在[l,r]中出现的次数大于(r-l+1)/2 的数解1.一个区间中只会有一个数,因为他出现的次数大于区间的一半2.如果存在,那么区间第(r-l+1)/2+1大的值,那么答案必然是他3.只要确认区间第(r-l+1)/2+1大的值的个数是否>(r-l+1)/2即可4.经典模型:主席树求区间第K值5.但是此题比较卡内存...原创 2018-09-26 09:40:44 · 259 阅读 · 0 评论 -
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 · 383 阅读 · 0 评论 -
POI2014 Criminals
CriminalsPOI2014题意1.有一个颜色序列2.有两个人会分别从左往右和从右往左走,并在途中任意取走几个格子里面的颜色,直到两个人相遇。3.已知两个人所取走的颜色序列,并且保证这两 个颜色序列的最后一个元素都是同一种颜色(代表两个人相遇的点)。4.两个人出发点的颜色都是相同的,并且他们不会取出发点的颜色.5.不存在任意一个颜色在这两个序列中出现两次(但可以分别在两个序列中出...原创 2018-09-26 10:31:46 · 285 阅读 · 0 评论 -
PO2014 Rally
RallyPOI2014题意1.有一个N个点M条边的有向无环图,每条边长度都是12.找到一个点,使得删掉这个点后剩余的图中的最长路径最短3.问删去的点哪个点,以及删掉这个点后剩余的图中的最长路径长度为多少解1.存下每个点的入边,出边(分开存)2.预处理每个点沿着出边最长链是多少(dis2[x]),沿着入边走最长链是多少(dis1[x])3.先把所有点出边最长链(dis2[x])放...原创 2018-09-27 22:20:47 · 228 阅读 · 0 评论 -
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 · 175 阅读 · 0 评论 -
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 · 270 阅读 · 0 评论 -
POI2014 FarmCraft
FarmCraftPOI2014题意1.有一棵n个节点的树2.有个人在1号节点上3.每个节点有一台电脑,安装软件需要C[i]的时间4.现在树上的每条边只能被走两次,每次耗时1分钟5.当这个人第一次走到节点x时,他会自动开始安装软件6.这个人必须让所有电脑开始安装后,回到自己的家里亲自安装自己的电脑7.问所有电脑都安装完毕的最短时间是多少解1.由“树上的每条边仅能走两次”得,每...原创 2018-09-27 11:02:08 · 238 阅读 · 0 评论 -
POI2014 Freight
FreightPOI2014题意1.火车从一侧到另一侧需要S分钟。2.每两列车发车时间至少需要间隔一分钟。3.在每一个时刻,在铁路上的所有列车的行驶方向都必须相同。4.按照时间表的顺序,N辆列车将从左侧到右侧,到达后又需要回到左侧。5.问最迟回到左侧的列车回到左侧的时刻的最小是多少。解1.贪心一波结论如果现在有车回去,那么必然是所有车一起回去因为所有车一起回来可以让回来的耗时...原创 2018-09-27 19:20:39 · 203 阅读 · 0 评论 -
POI2014 Supercomputer
SupercomputerPOI2014题意1.给定一棵N个节点的有根树,根节点为1。2.有Q次询问,每次给定一个K,用最少的操作次数遍历完整棵树,输出最少操作次数。3.每次操作可以选择访问不超过K个未访问的点,且这些点的父亲必须在之前被访问过。4.且第一个次操作必须是根节点解1.整个选点的过程大概是这么个样子:①每次操作,把这一层全部选完如此一直能够把前i层的点取光接下来一...原创 2018-09-27 21:50:13 · 323 阅读 · 0 评论 -
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 · 299 阅读 · 0 评论