摘要: 题意:求x∈[1,N],y∈[1,M]中gcd(x,y)为质数的数对的数量。 题解: 这个题把BZOJ2301中的k改成枚举素数就能过啦……才怪,不过和那个题的思路类似,但我们不枚举每一个质数,而是直接枚举质数p的倍数T,得到\[{f_{A,B,p}} = \sum\limits_{p|T} {[{ 阅读全文
posted @ 2017-02-26 23:40 WDZRMPCBIT 阅读(141) 评论(0) 推荐(0)
摘要: 题意:N组询问,每次给出a b c d k,求满足a≤x≤b,c≤y≤d且gcd(x,y)=k的数对(x,y)的数量。 题解: 设fA,B,k表示1≤x≤A,1≤y≤B内合法数对的数量,那么答案就是fb,d-fa,d-fb,c+fa,c。设FA,B,i=i|gcd(x,y)(i=tk,1≤x≤A,1 阅读全文
posted @ 2017-02-26 22:22 WDZRMPCBIT 阅读(168) 评论(0) 推荐(0)
摘要: 题意:求[1,N!]中与M!互质的数的个数对R取余,多组询问,模数相同 题解: 如果a与b互质,显然kb+a依然与b互质,因此答案就是\[\frac{{N!}}{{M!}}\varphi (M!) = N!\prod\limits_{{p_i}|M!} {\frac{1}{{{p_i}}}} \] 阅读全文
posted @ 2017-02-26 21:47 WDZRMPCBIT 阅读(164) 评论(0) 推荐(0)
摘要: 题意:分别求所有质因数都不同且质因数个数为奇数个、偶数个的数的欧拉函数和,和质因数存在重复的数的欧拉函数和 题解: 说书题……前面一大串就是用一种比较有趣的语言定义欧拉函数。 显然我们只需要求出所有军人ans1和政客ans2,然后用求得的M减去独立数和就是学者的独立数和了。 由于善良的出题人已经帮我 阅读全文
posted @ 2017-02-26 15:25 WDZRMPCBIT 阅读(180) 评论(0) 推荐(0)
摘要: 题意:给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. 题解:我们枚举素数p,后面的过程和BZOJ2705一样,不同的是我们限制x>=y,假定得到的答案是ans,那么实际上答案是2*ans-1(加上x<=y,x==y重复计算了) #include <cmath> # 阅读全文
posted @ 2017-02-26 15:21 WDZRMPCBIT 阅读(163) 评论(0) 推荐(0)
摘要: 题意:求$\sum\limits_{i = 1}^N {\gcd (i,N)}$ 题解: 枚举gcd,那么仅当一个数a与N/i互质时,gcd(a*i,N)==i,这样的数有phi(N/i)个。 由于我们在计算gcd=i时,顺便可以算出gcd=N/i的答案,因此只需要枚举sqrt(N)个数即可。 #i 阅读全文
posted @ 2017-02-26 15:20 WDZRMPCBIT 阅读(113) 评论(0) 推荐(0)
摘要: 题意:求[a,b]中含有6 8或因子含有6 8的数的个数 题解: 我们用容斥的思想,先求出1->b的方案数,再减去1->a-1的方案数 首先我们一遍DFS求出所有由6和8组成的数的数量 然后将搜索得到的所有数排序,如果存在a%b==0,那就把a给删了(打个标记)。 由于得到的数非常少,所以我们可以枚 阅读全文
posted @ 2017-02-26 15:16 WDZRMPCBIT 阅读(183) 评论(0) 推荐(0)
摘要: 题意:求$\sum\limits_{i = 1}^N {\sum\limits_{j = 1}^M {f(i,j)} } $,其中f(i,j)=(0,0)与(i,j)连线上点的数量 题解: 如果一个点(x',y')在(0,0)与(x,y)的连线上,则有gcd(x',y')==gcd(x,y)。因此f 阅读全文
posted @ 2017-02-26 15:13 WDZRMPCBIT 阅读(166) 评论(0) 推荐(0)
摘要: 题意:给1到n的一个排列,按照某种顺序依次删除m个元素,每次删除一个元素之前统计整个序列的逆序对数。 题解: 离线倒着做,每次加入一个节点后新增的逆序对数量就是其左边大于它的数的个数(左边数的总数-左边小于它的数的个数)+右边小于它的数的个数 用树状数组维护求和,对于树状数组中每个节点v所对应的区间 阅读全文
posted @ 2017-02-26 14:05 WDZRMPCBIT 阅读(142) 评论(0) 推荐(0)
摘要: 题意:给定一个数列,维护:1、在a和b之间插入c 2、询问[a,b]中的第c大 题解: 权值线段树套区间线段树 外层的权值线段树中每个节点如果维护[L,R]这个区间,那么该节点所对应的线段树维护的就是[L,R]这些数在每个区间里出现了几次,也就是说如果外层线段树的某个节点维护[L,R],其所对应的内 阅读全文
posted @ 2017-02-26 14:02 WDZRMPCBIT 阅读(126) 评论(0) 推荐(0)
摘要: 题意:初始时给定一个没有边的图,维护:1、添加一条边 2、修改单点权 3、询问u到v的点权和 题解:因为只有加边的操作,所以可以用LCT来维护,剩下的就是裸的操作了。 #include <cstdio> #include <cstring> #include <cstdlib> #include < 阅读全文
posted @ 2017-02-26 14:00 WDZRMPCBIT 阅读(117) 评论(0) 推荐(0)
摘要: 题意:给定一棵树,维护:1、删除一条边 2、添加一条边 3、询问u和v是否连通 题解:LCT维护连通性 #include <cstdio> #include <cstring> #include <cstdlib> #include <iostream> #include <algorithm> u 阅读全文
posted @ 2017-02-26 13:56 WDZRMPCBIT 阅读(148) 评论(0) 推荐(0)
摘要: 题意:给定一个长度为N的数列,每个元素有一个权值w[i],表示从i出发能到i+w[i],如果结果大于N则结束,维护:1、从i出发能转移多少次 2、修改w[i] 题解:建树,在i(儿子)和i+w[i](父亲)之间连边,大于N直接连到虚根上,每次询问直接查找i到根节点路径上的点数。因为边的连接情况是动态 阅读全文
posted @ 2017-02-26 13:53 WDZRMPCBIT 阅读(110) 评论(0) 推荐(0)
摘要: 题意:给定一个树,维护:1、u到v是否有必胜策略 2、将u的权值修改为w 题解:BFS版的树链剖分 #include <cstdio> #include <cstring> #include <cstdlib> #include <iostream> #include <algorithm> usi 阅读全文
posted @ 2017-02-26 13:48 WDZRMPCBIT 阅读(135) 评论(0) 推荐(0)
摘要: 题意:给定一棵树,每次询问给出l r z,求在[l,r]区间内的每个节点i与z的最近公共祖先的深度之和 题解: 显然,暴力求解的复杂度是无法承受的。 考虑这样的一种暴力,我们把 z 到根上的点全部打标记,对于 l 到 r 之间的点,向上搜索到第一个有标记的点求出它的深度统计答案。观察到,深度其实就是 阅读全文
posted @ 2017-02-26 13:42 WDZRMPCBIT 阅读(123) 评论(0) 推荐(0)
摘要: 题意:给定一棵树,维护:1、将u的种类改为c 2、将u的权值改为w 3、求u到v路径上种类为c的点的点权和 4、求u到v路径上种类为c的点的最大点权 题解:每个宗教建一颗线段树,然后随便做……考虑到如果把每一棵线段树都建完全会MLE,所以我们开动态内存。因为给出的评级都是正整数,所以如果一个区间的和 阅读全文
posted @ 2017-02-26 13:36 WDZRMPCBIT 阅读(158) 评论(0) 推荐(0)
摘要: 题意:给定一棵树,维护:1、将a到b路径上所有的点染为c 2、求a到b路径上颜色段的数量。 题解:区间颜色段数=左区间颜色段数+右区间颜色段数-(左区间最右边的颜色==右区间最左边的颜色),用线段树来维护。 #include <cstdio> #include <cstring> #include 阅读全文
posted @ 2017-02-26 13:32 WDZRMPCBIT 阅读(101) 评论(0) 推荐(0)
摘要: 题意:给定一棵树,维护:1、将u的权值修改为v 2、求u到v路径上的最大权 3、求u到v路径上的点权和 题解:树链剖分裸题 #include <cstdio> #include <climits> #include <cstring> #include <cstdlib> #include <ios 阅读全文
posted @ 2017-02-26 13:24 WDZRMPCBIT 阅读(173) 评论(0) 推荐(0)
摘要: 题意: 给定N个操作,每种操作的格式为: 1、+a:表示将当前的结果加上a 2、-a:表示将当前的结果减去a 3、*a:表示将当前的结果乘以a 4、@a:表示将当前的结果加上a*X(X是一开始JYY输入的数) 在操作中,如果结果>R,则结果=R;如果结果<L,则结果=L。给定M个xi,求每个x在经过 阅读全文
posted @ 2017-02-26 13:20 WDZRMPCBIT 阅读(247) 评论(0) 推荐(0)
摘要: 题意:给定一棵树,维护:1、一个节点+x 2、一个子树所有节点+x 3、求x到根的路径和 题解:先跑出DFS序,那么一个节点的子树就是这个节点在DFS序中两次出现之间的节点,设s[i],e[i]为i第一次出现和第二次出现的位置,用线段树来维护求和,借鉴差分的思想,那么线段树中s[i]所对应的节点的权 阅读全文
posted @ 2017-02-26 13:13 WDZRMPCBIT 阅读(167) 评论(0) 推荐(0)
摘要: 题意:给定N个矩形,求复数个矩形所覆盖的面积和 题解: 首先我们离散化,然后按照纵坐标从下往上扫,每扫到一条边,就把这条边的边权压入线段树——规定始边边权为1,终边边权为-1 每次从下往上枚举一条边,将每两个坐标之间的间隔看成是一个点,每次枚举看那个间隔权值>1,统计下来,乘以两条边之间的距离。 当 阅读全文
posted @ 2017-02-26 13:06 WDZRMPCBIT 阅读(244) 评论(0) 推荐(0)
摘要: 题意:给定N个初始长度均为0,坐标为1-N的向y轴正坐标延伸的线段。给定M个操作,每个操作将横坐标为x的线段长度变为y,求每次操作以后(0,0)与(i,yi)的连线不被其他线段所阻挡的线段的数量。 题解:显然对于所有不被阻挡的线段,其斜率一定是单调递增的,由于每次修改只会影响到后面的线段能不能看到( 阅读全文
posted @ 2017-02-26 13:04 WDZRMPCBIT 阅读(113) 评论(0) 推荐(0)
摘要: 题意:给定一个由(,)组成的括号序列,维护:1、将[a,b]修改为同一种半括号 2、将[a,b]翻转 3、将[a,b]的(变为),)变为( 4、求[a,b]最少要添加多少个括号才能合法 题解: 不算太裸的平衡树……论标记的正确打法。 对于一个括号序列,我们总能简化成一个左边全是右括号,右边全是左括号 阅读全文
posted @ 2017-02-26 12:50 WDZRMPCBIT 阅读(191) 评论(0) 推荐(0)
摘要: 题意:给定一个数列,要求维护:1、在p之后加入tot个数 2、删除p之后tot个数 3、将p之后tot个数修改为c 4、翻转p之后tot个数 5、输出p之后tot个数的和 6、输出整个数列的最大子段和。 题解:平衡树很经典的题目了……主要说一下4和6操作,4的话因为翻转操作是可以分治的,所以可以用翻 阅读全文
posted @ 2017-02-26 12:44 WDZRMPCBIT 阅读(257) 评论(1) 推荐(0)
摘要: 题意:开始时给定一个空的数列,要求维护:1、加入一个数 2、数列中所有元素+k 3、数列中所有元素-k 4、查询数列中的第k大。其中对于任意时刻,如果有一个元素<Min,则删除该元素。 题解:平衡树裸题……话说当年还打算把Splay Treap SBT都学一下,结果现在只会Splay了QAQ #in 阅读全文
posted @ 2017-02-26 12:37 WDZRMPCBIT 阅读(146) 评论(0) 推荐(0)
摘要: 题意:给定y z p,求:1、yzmod p 2、y-1z mod p 3、yx≡z(mod p)的x 题解:题意即题解 #include <map> #include <cmath> #include <cstdio> #include <cstring> #include <cstdlib> # 阅读全文
posted @ 2017-02-26 12:32 WDZRMPCBIT 阅读(165) 评论(0) 推荐(0)
摘要: 题意:${x_{i + 1}} = (a{x_i} + b)\bmod p$,求最小的n使xn=t,无解输出-1,保证p为质数。 题解: 学好数理化,走遍天下都不怕 显然有\[{x_n} = {a^{n - 1}}{x_1} + b\sum\limits_{i = 0}^{n - 2} {{a^i} 阅读全文
posted @ 2017-02-26 12:28 WDZRMPCBIT 阅读(155) 评论(0) 推荐(0)
摘要: 题意:求${G^{\sum\limits_{d|N} {C_N^d} }}\bmod P$ 题解: 设\[A = \sum\limits_{d|N} {C_N^d} = A\bmod (P - 1) + k(P - 1)\]由费马小定理,G^A可以直接把k(P-1)省略掉,因此问题变成求G^[A%( 阅读全文
posted @ 2017-02-26 12:18 WDZRMPCBIT 阅读(115) 评论(0) 推荐(0)
摘要: 题意:给定一颗树,维护:1、给定一个节点,求该节点到根的路径上总点数-点权和,并将路径上的所有点的权值赋为1 2、给定一个节点,求该节点子树的点权和,并将子树中所有点的权值赋为0 题解:链剖裸题 #include <cstdio> #include <cstring> #include <cstdl 阅读全文
posted @ 2017-02-26 11:35 WDZRMPCBIT 阅读(97) 评论(0) 推荐(0)
摘要: 题意:给定一张有N个点的有向图,求0到N-1长度为T的路径的总条数。 题解:把长度为K的边拆成K条长度为1的边,然后建出邻接矩阵快速幂裸上。 #include <cstdio> #include <cstring> #include <cstdlib> #include <climits> #inc 阅读全文
posted @ 2017-02-26 11:24 WDZRMPCBIT 阅读(122) 评论(0) 推荐(0)
摘要: 题意:求12345……101112……(N-1)N mod M的值(被模数就是1-N顺次连接起来)。 题解:丧病的数学老师,看自己写的题解都看不懂了QAQ,首先设${f_i}$=前i个数连接起来 mod M的值,然后按位数不断转移,也就是说,假定当前要增加的数i最高位是10^k,那么\[{f_i} 阅读全文
posted @ 2017-02-26 11:21 WDZRMPCBIT 阅读(146) 评论(0) 推荐(0)
摘要: 题意:给定一个K个N元mod 2方程,若有解,求用前几个方程即可出解和各个变量为奇数还是偶数,若无解输出:Cannot Determine题解:有关01异或方程的解法可以看莫涛的论文。这个题就可以看作是异或方程——虽然是加法,不过只考虑二进制最后一位的话和异或是一样的。 #include <bits 阅读全文
posted @ 2017-02-26 11:05 WDZRMPCBIT 阅读(167) 评论(0) 推荐(0)
摘要: 题意:给定3*M+1张写有数字1到N的牌,求添加一个数字,使得所有的牌在删除两个数字相同的牌后,能够分成M组,其中每一组要么由相同的数字组成,要么由连续的数字组成。N≤400,M≤1000题解:暴力枚举加哪张牌,然后暴力枚举删哪两张牌,然后枚举判定是否合法。每次判定时先删除相同数字,后删除连续数字, 阅读全文
posted @ 2017-02-26 10:56 WDZRMPCBIT 阅读(188) 评论(0) 推荐(0)
摘要: 题意:A与B博弈,有N个装有豆子的瓶子,每次选择i<j<=k三个瓶子,其中第i个瓶子里一定有豆子,从i中取出一个豆子,然后在j,k中各放入一个豆子,不能操作者为负,求胜者和第一步的决策。 题解:将每个石子看成一堆石子,对初始状态的SG有贡献的石子堆的石子数一定为奇数,这样先手是否必胜就解决了。因此我 阅读全文
posted @ 2017-02-26 02:54 WDZRMPCBIT 阅读(143) 评论(0) 推荐(0)
摘要: 题意:在一个桌子边缘摆完全相同的长度为M的N本书(方块),只要重心投影在桌子上就算合法,求最远可以向外延伸的距离。 题解:最后放置的书需要补偿之前所有的书向外延伸导致的重心外移,因此重心投影在桌子上的书的重心应与其他的书的整体重心与桌子边缘的偏移距离相同。因而第i本书的延伸长度应为1/2i(证明可以 阅读全文
posted @ 2017-02-26 02:45 WDZRMPCBIT 阅读(189) 评论(0) 推荐(0)
摘要: 题意:给定一张无向图,求1到N异或和最大的路径,允许重复经过。 题解:首先跑出1到N的一条路径,答案就是在这条路径上不断加环。首先用DFS处理出所有基环的异或和(其他环一定由基环构成,重复部分异或之后就会消掉),然后就是从一堆数里选任意个数使得异或和最小了,怎么做可以去看莫涛的课件(同解01异或方程 阅读全文
posted @ 2017-02-26 02:43 WDZRMPCBIT 阅读(124) 评论(0) 推荐(0)
摘要: 题意:给定N维球面上的N+1个点,求这个球的球心。 题解:无意中翻到的一道裸题,顺手做了。首先考虑一个比较简单的二维情况,对于两个点(x1,y1),(x2,y2),据题意可以得到 推广一下有 \[\sum\limits_{i = 1}^N {2({d_{a,i}} - {d_{b,i}}){x_i} 阅读全文
posted @ 2017-02-26 02:42 WDZRMPCBIT 阅读(153) 评论(0) 推荐(0)
摘要: 题意:给定M个志愿者和工作时间的长度N,每个志愿者由工作时间[l,r]和费用c来描述,每个单位时间需要t名志愿者,保证有解,求最少总花费。 题解:这个题标算貌似是费用流啊,不太清楚……总而言之设x[i]为i这个人要不要,b[i]为各个时间所需的志愿者数量,a[i][j]为i时间j这名志愿者能不能起作 阅读全文
posted @ 2017-02-26 02:39 WDZRMPCBIT 阅读(136) 评论(0) 推荐(0)
摘要: 题意:给定E s v' k,求v最小化$\sum\limits_{i = 1}^N {\frac{{{s_i}}}{{{v_i}}}}$,要求$\sum\limits_{i = 1}^N {{k_i}{s_i}{{\left( {{v_i} - v_i^'} \right)}^2}} \le E$ 阅读全文
posted @ 2017-02-26 02:31 WDZRMPCBIT 阅读(285) 评论(0) 推荐(0)
摘要: 题意:给定一个N*M的网格,求有多少个不同的三角形,顶点在交点上。 题解:首先找出所有三个点的组合,然后删除同行,同列,同对角线(横纵坐标的gcd相同) #include <cstdio> #include <cstring> #include <cstdlib> #include <iostrea 阅读全文
posted @ 2017-02-26 02:10 WDZRMPCBIT 阅读(140) 评论(0) 推荐(0)
摘要: 题意:给定一个轮状结构(中间一个点,周围有N个点以环状围住这个点),从不相交的2*N-1条边中选N条边,使任意两点间有且只有一条联通路径。 题解:请点这里。然而如果考场上考到直接打表找规律好了 #include <cstdio> #include <cstring> #include <cstdli 阅读全文
posted @ 2017-02-26 02:08 WDZRMPCBIT 阅读(138) 评论(0) 推荐(0)
摘要: 题意:给定N条直线,求由这N条直线组成的,满足上方没有直线交点的边界由哪些直线组成 题解:我这STL用的真是闷声做大死,多亏不卡常……显然所求的边界中的直线k肯定单调的,所以首先将直线按k升序(第一关键字),b降序(第二关键字)进行排序。然后枚举每一条直线,用单调栈s维护这个直线集,若堆顶元素s[0 阅读全文
posted @ 2017-02-26 02:07 WDZRMPCBIT 阅读(157) 评论(0) 推荐(0)
摘要: 题意:监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 题解:设f[i]=有M种宗教i个房间时不发生越狱的方案数,显然f[1]=M,f[i]=f[i-1]*(M-1)。最后答案就 阅读全文
posted @ 2017-02-26 02:03 WDZRMPCBIT 阅读(136) 评论(0) 推荐(0)
摘要: 题意:给定一个长度为M的字符串A,求长度为N的字符串中,子串中不包含A的字符串的数量,其中字符串仅由‘0’-‘9’组成。 题解:设f[i][j]=长度为i最后几位能匹配A的前j个字符的字符串种数,那么每往后添加一个字符,能转移到的位置通过KMP的Next数组很轻松就能找到。那么我们就能构造出来一个矩 阅读全文
posted @ 2017-02-26 02:02 WDZRMPCBIT 阅读(155) 评论(0) 推荐(0)
摘要: 题意:直线上N颗行星,X=i处有行星i,行星J受到行星I的作用力,当且仅当i<=AJ.此时J受到作用力的大小为 Fi->j=Mi*Mj/(j-i) 其中A为很小的常量。请计算每颗行星的受力,只要结果的相对误差不超过5%即可. 题解:出题人脑子有坑系列。完全没见过这么扯的题目,因为${F_j} = \ 阅读全文
posted @ 2017-02-26 01:59 WDZRMPCBIT 阅读(142) 评论(0) 推荐(0)
摘要: 题意:给定一个数列,要求维护:1、求倒数L个数中的最大值 2、在数列末尾插入(最近的1询问的答案+x)%D。其中初始序列为空。 法一:因为询问最多200000个,所以直接建一棵大小为M的线段树维护即可 #include <cstdio> #include <cstring> #include <cs 阅读全文
posted @ 2017-02-26 01:52 WDZRMPCBIT 阅读(139) 评论(0) 推荐(0)
摘要: 题意:给定一张无向图,不断从图上删点,询问每次删点后联通块的数量 题解:离线,在删完点后的图上不断加点,用并查集维护联通性。 #include <cstdio> #include <cstring> #include <cstdlib> #include <iostream> #include <a 阅读全文
posted @ 2017-02-26 01:48 WDZRMPCBIT 阅读(190) 评论(0) 推荐(0)
摘要: 题意:求最小生成树的方案数,保证每个边权出现的次数小于十次。 题解:首先我们需要知道:一张图对于一个确定的边权,在任意最小生成树中出现的次数是相同的(请不要问我为什么QAQ)。所以我们先求出每一种边权在MST中出现的次数,然后枚举每一个边权,暴力看取哪些边可以组出一颗MST,复杂度O(M*2^10* 阅读全文
posted @ 2017-02-26 01:17 WDZRMPCBIT 阅读(180) 评论(0) 推荐(0)
摘要: 题意:给定一个X*Y的长方形,每次可以平行长或宽切一刀,求切N-1次能得到的最小的N个子长方形中长宽比最大的值。 题解:因为N<=10,DFS乱搞就好 #include <cstdio> #include <cstring> #include <cstdlib> #include <iostream 阅读全文
posted @ 2017-02-26 01:09 WDZRMPCBIT 阅读(146) 评论(0) 推荐(0)
摘要: 题意:求[A,B]之间,任意相邻两位差值均大于等于2的数的个数题解:设f[i][j]=第i位为j的合法的数的数量,显然有f[i][j]=f[i-1][k],|k-j|≥2。至于统计答案,我们只要能求1-U之间的合法的数的数量,显然答案就是Ans[B]-Ans[A-1]。至于Ans[i]……因为Ans 阅读全文
posted @ 2017-02-26 01:00 WDZRMPCBIT 阅读(160) 评论(0) 推荐(0)
摘要: 题意:给定M个A物品和N个B物品,每个物品有x y z三个属性。求选择最少的B物品(每种物品的量是无限的,但不可拆分),使得可以组合出所有A物品,无解输出-1. 题解:题解在这里,有几个特殊情况需要判断……首先是所有金属在一条线上,其次是所有客户的金属在一条线段上。当然我是没判的,毕竟数据太弱了QA 阅读全文
posted @ 2017-02-26 00:54 WDZRMPCBIT 阅读(142) 评论(0) 推荐(0)
摘要: 题意:给定汉诺塔移动的优先级(由大到小且两次操作不移动同一个盘子,则能执行的一定执行)和盘子的数量,求移动次数。 题解:设f[i][j]=将i柱子上j个盘子移动到满足要求的柱子上的步数,g[i][j]=移走i柱子上j个盘子按要求会移动到g[i][j]这个柱子。有两种转移的情况 (以下1 2 3仅作代 阅读全文
posted @ 2017-02-26 00:48 WDZRMPCBIT 阅读(132) 评论(0) 推荐(0)
摘要: 题意:给定N个建筑,每个建筑有一个修理时间t1和报废时间t2,每个时刻只能修理一个建筑,求最多可以修理的建筑数 题解:首先将所有建筑按报废时间排序,由小到大枚举,用t1来维护堆,假如已经花费的时间+当前建筑的修理时间<当前建筑的报废时间,当前建筑入堆;否则,假如当前建筑的修理时间比堆顶元素小,并且删 阅读全文
posted @ 2017-02-26 00:44 WDZRMPCBIT 阅读(151) 评论(0) 推荐(0)