
POI
qpswwww
这个作者很懒,什么都没留下…
展开
-
[POI 2014]Little Bird(单调队列优化DP)
题目链接http://main.edu.pl/en/archive/oi/21/pta题目大意mm只小鸟各自要从1号柱子飞到nn号柱子,假如当前小鸟在ii号柱子,那么它可以飞向i+1i+1到i+Kii+K_i号柱子,若小鸟从柱子ii飞到了柱子jj且Hi≤HjH_i \leq H_j,则小鸟需要付出1单位的代价,问每只小鸟从柱子1飞到柱子nn各自至少需要花费多少代价。思路用f[i]f[i]表示小鸟飞到原创 2015-05-13 11:39:32 · 782 阅读 · 0 评论 -
[POI 2012]Distance(数学)
题目链接http://main.edu.pl/en/archive/oi/19/odl题目大意给你一个序列a[]a[],定义d(i,j)=d(i,j)=a[i],a[j]a[i],a[j]每次操作可以对其中之一乘一个质数pp或除以一个数pp(pp必须为被除数的约数),让a[i]=a[j]a[i]=a[j]的最少操作步数对于每个ii,求d(i,j)d(i,j)最小的jj,若有多个解,输出最小的jj思路原创 2015-06-17 19:05:04 · 956 阅读 · 0 评论 -
[POI 2012]Rendezvous(倍增LCA)
题目链接http://main.edu.pl/en/archive/oi/19/ran题目大意给定一棵内向森林,多次给定两个点a和b,求点对(x,y)满足:1.从a出发走x步和从b出发走y步会到达同一个点 2.在1的基础上如果有多解,那么要求max(x,y)最小 3.在1和2的基础上如果有多解,那么要求min(x,y)最小 4.如果在1、2、3的基础上仍有多解,那么要求x>=y思路很像LCA。原创 2015-06-18 16:46:15 · 845 阅读 · 0 评论 -
[POI 2012]Tour de Byteotia(并查集)
题目链接http://main.edu.pl/en/archive/oi/19/tou题目大意给出一个无向图,要你删除其中一些边,使得对于i∈[1,k]i\in [1,k],点ii不在环上思路水题对于所有的两个端点编号均大于kk的点,先并查集预处理维护它们的连通性。这些点构成的环上不会有点i∈[1,k]i\in [1,k]然后对于剩下的边,每条边都至少有一个端点i∈[1,k]i\in [1,k],若原创 2015-06-23 17:30:38 · 831 阅读 · 0 评论 -
[POI 2012]A Horrible Poem(字符串Hash)
题目链接http://main.edu.pl/en/archive/oi/19/okr题目大意给出一个字符串,多次询问其中一个子串[L,R][L,R]的最小循环节长度。思路假设∑Ri=L(S[i]==′x′)\sum _{i=L}^R(S[i]=='x')表示区间[L,R][L,R]里字母′x′'x'的出现次数。假设最小循环节长度为tt,则R−L+1t\frac{R-L+1}t(最小循环节的出现次数原创 2015-06-23 20:58:27 · 913 阅读 · 0 评论 -
[POI 2015]Piecz(模拟)
题目链接http://main.edu.pl/en/user.phtml?op=showtask&task=pie&con=OI22题目大意一张n*m的方格纸,有些格子需要印成黑色,剩下的格子需要保留白色。 你有一个a*b的印章,有些格子是凸起(会沾上墨水)的。你需要判断能否用这个印章印出纸上的图案。印的过程中需要满足以下要求: (1)印章不可以旋转。 (2)不能把墨水印到纸外面。 (3)纸原创 2015-06-24 21:21:33 · 707 阅读 · 0 评论 -
[POI 2012]Well(二分+单调性)
题目链接http://main.edu.pl/en/archive/oi/19/stu题目大意给你一个长度为nn的序列AA,每次操作可以让其中一个数字减1,最多能进行mm次操作,问要使得存在某个Ai=0A_i=0的话,max{|Ai−Ai+1|}\max\{|A_i-A_{i+1}|\}的最小值是多少思路我们可以二分答案,此问题变为判定性问题:问要使得存在某个Ai=0A_i=0的话,max{|Ai−原创 2015-06-24 19:45:18 · 716 阅读 · 0 评论 -
[POI 2007]Weights(拆位贪心)
题目链接http://main.edu.pl/en/archive/oi/14/odw题目大意转自BZOJ 在byteotian公司搬家的时候,他们发现他们的大量的精密砝码的搬运是一件恼人的工作。公司有一些固定容量的容器可以装这些砝码。他们想装尽量多的砝码以便搬运,并且丢弃剩下的砝码。每个容器可以装的砝码数量有限制,但是他们能够装的总重量不能超过每个容器的限制。一个容器也可以不装任何东西。任何两个原创 2015-06-30 15:59:58 · 746 阅读 · 0 评论 -
[POI 2011]Party(构造)
题目链接http://main.edu.pl/en/archive/oi/18/imp题目大意给你一个无向图,点数n<=3000,3|n,保证图中包含一个2n/3大小的团,要你从中找出一个大小大于等于n/3的团思路构造方法: 从图中删去所有互不相连的点对 证明: 由于图中存在一个2n/3大小的团,因此最多只会删除n3\frac n 3次点 而且删除的任何一个点对肯定不是在团里,这样的话,团外原创 2015-06-15 15:43:05 · 791 阅读 · 0 评论 -
[POI 2011]Lollipop(二分+特判)
题目链接http://main.edu.pl/en/archive/oi/18/liz题目大意给你一个长度为nn的序列a[]a[],序列里只包含数字1或2,qq次询问一个数字xx,问序列里是否存在一个连续的区间[L,R][L,R],使得∑Ri=La[i]=x\sum_{i=L}^{R}a[i]=x,并输出一个可行的区间。n,q≤106n,q\leq10^6思路网上题解比较少,做法都是一样的:即大小为原创 2015-06-16 08:32:28 · 701 阅读 · 0 评论 -
[POI 2012]Vouchers
题目链接题目大意考虑正整数集合,现在有n组人依次来取数,假设第i组来了x人,他们每个取的数一定是x的倍数,并且是还剩下的最小的x个。 正整数中有m个数被标成了幸运数,问有哪些人取到了幸运数。思路不要把这个题想复杂了,实际上这个题非常水。。。 记录last[x]+x=last[x]+x=从小到大第一个没有被用过的xx的倍数。代码#include <iostream>#include <stdio原创 2015-05-15 10:14:30 · 718 阅读 · 1 评论 -
[BZOJ 3872][POI 2014]Ant colony(BFS+二分)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=3872思路很显然可以考虑倒着来搞,让蚂蚁从食蚁兽所在的两个点开始,倒着往回走,就能得到每个点上至少和至多有多少个蚂蚁,才能让食蚁兽所在的点刚好有kk个蚂蚁。这样就能在每个点得到一个区间。假如xx个蚂蚁这次在点tt,上一次在点t′t',则可以得到上一次蚂蚁的个数x′x'区间为 [max{degr原创 2015-05-07 17:30:03 · 997 阅读 · 0 评论 -
[POI 2012]Warehouse Store(堆+贪心)
题目链接http://main.edu.pl/en/archive/oi/19/hur题目大意有一家专卖一种商品的店,考虑连续的n天。 第i天上午会进货Ai件商品,中午的时候会有顾客需要购买Bi件商品,可以选择满足顾客的要求,或是无视掉他。 如果要满足顾客的需求,就必须要有足够的库存。问最多能够满足多少个顾客的需求。思路应该是个很显然的贪心做法吧。类似这样的贪心真的是非常多的了。 维护一个大根原创 2015-05-14 19:44:15 · 847 阅读 · 1 评论 -
[POI 2014]Couriers(主席树+二分)
题目链接http://main.edu.pl/en/archive/oi/21/kur题目大意给定一个序列,对于每个询问[Li,Ri][L_i,R_i],要在这个询问区间里找出一个数字,并且这个数字在这个区间中的出现次数要大于(Ri−Li+1)2\frac {(R_i-L_i+1)} 2,若无这个数字,则输出-1思路首先对于这个序列,建立一个静态的主席树,然后对于每次询问的区间,用前缀RiR_i和前原创 2015-05-13 11:46:10 · 915 阅读 · 0 评论 -
[POI 2011]Temperature(单调队列)
题目链接http://main.edu.pl/en/archive/oi/18/tem题目大意某国进行了连续n天的温度测量,测量存在误差,测量结果是第i天温度在[li,ri][l_i,r_i]范围内。 求最长的连续的一段,满足该段内可能温度不降。思路显然,一个合法的区间是保证lil_i不增,并且区间左端点的rr小于等于区间右端点的rr。因为显然温度的线段尽量贴着每天的L边界才能尽可能满足条件。假如原创 2015-05-15 11:00:39 · 676 阅读 · 0 评论 -
[POI 2012]Prefixuffix(字符串Hash)
题目链接http://main.edu.pl/en/archive/oi/19/pre题目大意给出一个长度为nn的字符串,在串中找出一对长度为L(2L≤n)L(2L\leq n)的前缀和后缀,使得这两个前缀和后缀是循环同构的,求LmaxL_{\max}思路最终找到的一对合法前缀后缀一定是像这样的形式,分成两部分(红色段,绿色段),前缀里的红色段和后缀里的红色段相同,前缀里的绿色段和后缀里的绿色段相同原创 2015-05-15 19:19:53 · 750 阅读 · 0 评论 -
[POI 2012]Cloakroom(DP)
题目链接http://main.edu.pl/en/archive/oi/19/sza题目大意有n件物品,每件物品有三个属性a[i], b[i], c[i] (a[i]<b[i]a[i]<b[i])。 再给出q个询问,每个询问由非负整数m, k, s组成,问是否能够选出某些物品使得: 1. 对于每个选的物品i,满足a[i]<=m且b[i]>m+s。 2. 所有选出物品的c[i]的和正好是k。思原创 2015-05-15 21:57:17 · 780 阅读 · 0 评论 -
[POI 2013]Bytecomputer(DP)
题目链接http://main.edu.pl/en/archive/oi/20/baj题目大意给你一个长度为nn的序列aa,序列里每个元素要么是0,要么是-1,要么是1,每次操作可以让a[x]=a[x]+a[x−1]a[x]=a[x]+a[x-1],问至少要做多少次操作,才能让整个序列变成非降序列思路可以发现,最终的序列是一定是-1 -1 -1…-1 -1 -1 0 0 0…0 0 0 1 1 1…原创 2015-05-14 15:11:28 · 1001 阅读 · 1 评论 -
[POI 2014]Solar Panels(数论)
题目链接http://main.edu.pl/en/archive/oi/21/pan题目大意给定a,b,c,da,b,c,d,要找出点对(i,j)(i,j),a≤i≤b,c≤j≤da \leq i \leq b,c \leq j \leq d,使得gcd(i,j)gcd(i,j)最大,求最大的这个gcd(i,j)gcd(i,j)思路不妨考虑枚举t=gcd(i,j)t=gcd(i,j),若在a≤i≤原创 2015-05-13 17:28:23 · 837 阅读 · 0 评论 -
[POI 2010]Guilds(并查集)
题目链接http://main.edu.pl/en/archive/oi/17/gil题目大意给你一张图,并对图中的一些点进行红黑染色,要求: 1、对于每个红色的点一定有黑色点与其相连, 2、对于每个黑色的点一定有红色点与其相连, 3、对于每个未染色的点一定有红色点和黑色点与其相连。 判断这个图是否有一个染色的可行解,若有,输出一个解思路可以发现,当且仅当有大小为1的联通块,无解。原因是若不原创 2015-05-14 11:01:13 · 576 阅读 · 0 评论 -
[POI 2013]Tales of seafaring(BFS)
题目链接http://main.edu.pl/en/archive/oi/20/mor题目大意给定一张无向图,图中每条边边权均为1,多次询问是否存在一个长度为dd,从点xx到点yy的路径。思路注意到虽然询问次数非常多,但是点数和边数非常少。 考虑对询问进行排序,每次统一回答一些起点相同的询问。 注意到一条长度为dd的路径,可以通过反复走某条边,变成长度为d+2,d+4...d+2,d+4...的原创 2015-05-14 16:51:34 · 712 阅读 · 0 评论 -
[POI 2012]Fibonacci Representation(记忆化DFS)
题目链接http://main.edu.pl/en/archive/oi/19/roz题目大意给出一个数字,用FIB数列各项加加减减来得到。例如 10=5+5 19=21-2 17=13+5-1 1070=987+89-5-1 TT次询问数字nn,问至少要加减多少次才能得到数字nn思路显然对于一个数字nn而言,我们要么对它减去一个最大的比nn小的数字,要么用一个最小的比它大的数字减去它来得原创 2015-05-14 19:00:42 · 1113 阅读 · 0 评论 -
[POI 2011]Lightning Conductor(DP优化)
题目链接http://main.edu.pl/en/archive/oi/18/pio题目大意已知一个长度为n的序列a1,a2,…,an。 对于每个1<=i<=n,找到最小的非负整数p满足 对于任意的j, aj < = ai + p – sqrt(abs(i-j))思路容易想到DP思路,用f[i]f[i]表示对应于ii的最小非负整数pp,DP方程为 f[i]=max1≤j≤n{0,⌈aj+|i−原创 2015-06-15 11:42:13 · 1006 阅读 · 0 评论