09 2017 档案

摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1029 这道题好像是一道比较经典的贪心,最主要的思路是用堆来提供反悔,修正决策的途径。 我们首先按每个建筑的最晚修复时间排序。然后扫过去,能修就修,并且将修过建筑所用的时间加入到堆里面。 如果 阅读全文
posted @ 2017-09-28 21:01 halfrot 阅读(169) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2456 这道题有着神奇的内存限制1MB也就是说我们是没办法把读入的数字存下来的。 由于答案求的众数出现次数大于$\frac{n}{2}$,我们可以用一种抵消的思想,就是两个不相同的数互相抵消, 阅读全文
posted @ 2017-09-28 20:28 halfrot 阅读(140) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1878 不带修改的莫队,用一个桶记录一下当前区间中每种颜色的数量就可以做到$O(1)$更新了。 阅读全文
posted @ 2017-09-28 19:10 halfrot 阅读(142) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1088 记录下每一个格子对应左边格子放的雷的情况,然后dp转移就好了。 阅读全文
posted @ 2017-09-27 21:36 halfrot 阅读(126) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1798 一眼看过去线段树,事实上就是线段树。对于乘和加的两个标记,我们可以规定一个顺序,比如先乘后加。每次乘的时候利用乘法分配律就可以分别更新标记,而加就直接加上去就好了。 阅读全文
posted @ 2017-09-27 21:02 halfrot 阅读(129) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1009 我们令$dp(i,j)$表示已经填了$i$位,而且后缀与不幸运数字匹配了$j$位,那么转移方程就是$dp(i,j)=dp(i,k)*a(j,k)$,其中$a(j,k)$表示从$j$位可 阅读全文
posted @ 2017-09-26 21:04 halfrot 阅读(141) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2005 发现与$(0,0)$连线斜率相同的点会被挡住。也就是对于$(a,b)$且$gcd(a,b)==1$,在这条连线上$(da,db)$都会被挡住。 换种表达方式就是对于任意一个点$(x,y 阅读全文
posted @ 2017-09-26 18:55 halfrot 阅读(198) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1070 这种资源分配,平衡下最优解的题目好多都可以建图跑。要把车分配给修车师傅这种模式,想到网络流,又因为要修的车数N不会变,相当于总流量固定,则考虑费用流。但是直接考虑师傅修车是不好做的,我 阅读全文
posted @ 2017-09-24 21:48 halfrot 阅读(148) 评论(0) 推荐(0)
摘要:题目链接:https://www.luogu.org/problem/show?pid=1345 求最小割点集的大小,直接拆点转化成最小割边。把一个点拆成出点入点,入点向出点连一条容量为1的边,其他的边容量无穷大。 阅读全文
posted @ 2017-09-21 20:32 halfrot 阅读(124) 评论(0) 推荐(0)
摘要:题目链接:https://daniu.luogu.org/problem/show?pid=2901 Astar的方程$f(n)=g(n)+h(n)$,在这道题中我们可以反向最短路处理出$h(n)$的精确值。然后跑Astar找K次最短路就好了。 阅读全文
posted @ 2017-09-20 21:54 halfrot 阅读(217) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3110 我们建一棵权值线段树,并对里面的节点建普通区间线段树,注意动态开点。对于查询就用类似于二分的操作就好了。 阅读全文
posted @ 2017-09-19 20:40 halfrot 阅读(180) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1192 大水题,把m分成二的幂次方和。 阅读全文
posted @ 2017-09-19 19:08 halfrot 阅读(136) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1007 可以发现题目求的就是一个下凸包,把直线按斜率排序,再来维护凸包就好了。可以发现下凸包上的拐点横坐标单增。同时注意处理斜率相同的直线的情况。 阅读全文
posted @ 2017-09-19 18:55 halfrot 阅读(132) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1061 根据题意列方程,然后用网络流解线性规划。 题解直接贴ByVoid的吧,太神了:https://www.byvoid.com/blog/noi-2008-employee/ 阅读全文
posted @ 2017-09-19 17:46 halfrot 阅读(208) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1013 首先题目给出了定义$dist^2=\sum_{i=1}^n(a_i-x_i)^2$。那我们假设有两个点$a$和$b$,用两个式子做差整理可得$$\sum_{i=1}^n2*(a_i-b 阅读全文
posted @ 2017-09-14 20:40 halfrot 阅读(148) 评论(0) 推荐(0)
摘要:题目链接:https://www.luogu.org/problem/show?pid=1848 题目要求书必须按顺序放,其实就是要求是连续的一段。于是就有DP方程$$f[i]=min\{f[j]+max\{h_k\}\}$$其中的k以及j的关系应该满足$$\sum_{k=j+1}^iw_k<=L$ 阅读全文
posted @ 2017-09-07 21:08 halfrot 阅读(246) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1025 题目中的排数就是多少次回到原来的序列。很显然对于题目所描述的任意一种对应法则,其中一定有一个或者多个循环节。 设有$m$个循环节,每个循环节的大小为$A_i$,则回到最开始的序列需要置 阅读全文
posted @ 2017-09-06 21:43 halfrot 阅读(151) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1024 直接xjb搜索。 阅读全文
posted @ 2017-09-06 21:13 halfrot 阅读(126) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2002 建图,每次往后面跳就往目标位置连边,将跳出界的点设为同一个点。对于修改操作发现可以用LCT维护图的连通性,然后用size域维护跳的点的次数就行了。 阅读全文
posted @ 2017-09-05 21:46 halfrot 阅读(149) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1085 大的思路是迭代加深搜索,我们加一个明显的剪枝,当棋盘中位置不对的骑士的数目加上已经走的步数大于了限制的深度,就直接结束,然后……xjb搜就行了。 阅读全文
posted @ 2017-09-05 20:56 halfrot 阅读(118) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1004 首先贴几个群论相关定义和引理。 群:G是一个集合,*是定义在这个集合上的一个运算。 如果满足以下性质,那么(G, *)是一个群。 1)封闭性,对于任意 a, b 属于 G, a * b 阅读全文
posted @ 2017-09-05 20:03 halfrot 阅读(316) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1046 我们先求出对于每一个数字作为开头的LCS的长度f[i],最长的f[i]为mxlen。 对于每一个询问,我们选取答案,从第1个开始选。假设当前已经选到了第x个答案,我们只需要一直往后面找 阅读全文
posted @ 2017-09-04 21:31 halfrot 阅读(138) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1016 做这道题之前需要知道一些结论,同一个图的最小生成树中相同权值的边的个数是不会变的,如果有一种方案中权值为666的边有233条,那么另一种方案一定也是这样,并且它们在图中对连通性的影响也 阅读全文
posted @ 2017-09-04 20:35 halfrot 阅读(173) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1031 求字符串排名的问题,直接上后缀数组。 由于这个字符串是环形的,我们把它倍增一下就好了。然后发现其实就是求sa数组裸题,后缀长度大于等于len的后缀就可以对应原来的一种字符串,直接输出就 阅读全文
posted @ 2017-09-04 19:56 halfrot 阅读(141) 评论(0) 推荐(0)
摘要:现在来看倍增算法是非常好理解的。 直接放一篇blog写的挺好的:http://www.cnblogs.com/zinthos/p/3899725.html 虽然理论复杂度是$O(nlogn)$,但其中各种细节优化确实十分有必要的。 给自己放一个倍增的模板,有空填DC3的坑 阅读全文
posted @ 2017-09-04 18:35 halfrot 阅读(126) 评论(0) 推荐(0)