摘要: 30pts 令(为1,)为 1; 暴力枚举每个点为起始点的路径,一条路径是合法的当且仅当路径权值和为0且路径上没有出现过负数。 将所有答案算出。 100pts 使用点分治。 要求知道经过重心root的路径,这里默认把root当做树的根。 经过root的路径$ (x,y)$分为两种: 1. root是 阅读全文
posted @ 2019-08-05 20:56 Eeis 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 「JOI 2014 Final」飞天鼠 显然向上爬是没有必要的,除非会下降到地面以下,才提高到刚好为0。 到达一个点有两种情况:到达高度为0和不为0。 对于高度不为0的情况,显然花费的时间越少高度越高(每下降1m都要1单位时间),而必然高度越高越好,因此只需求花费的最少时间。 对于高度为0的情况,显 阅读全文
posted @ 2019-08-05 20:49 Eeis 阅读(443) 评论(0) 推荐(2) 编辑
摘要: "「JOISC 2014 Day1」巴士走读" 将询问离线下来。 从终点出发到起点。 由于在每个点(除了终点)的时间被过来的边固定,因此如果一个点不被新的边更新,是不会发生变化的。 因此可以按照时间顺序,依次提高终点的时间,然后跑dijkstra(记得把访问标记回滚清空掉)。 每条边被跑过了就不再跑 阅读全文
posted @ 2019-08-05 20:48 Eeis 阅读(192) 评论(0) 推荐(0) 编辑
摘要: NOIP2017 普及组题目大融合 每个读者需要有某个后缀的书,可以暴力map,复杂度$o(9 nlog(n))$,也可以反串建trie树,复杂度$o(9 n)$。 故可以求出需要的最少的RMB数目。 显然直接求花费金币的最小值是不容易的,那么可以二分最小值。 问题变为判断性的了。 实际上S就等于一 阅读全文
posted @ 2019-08-05 20:46 Eeis 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 「NOI十联测」深邃 要使得最大的连通块最小,显然先二分答案。 先固定1结点为根。 对于一个果实,显然是先处理子树中未分配的点,再向外延伸。 每个结点记录一个$si[]$,表示子树中未分配的点数,若为负数,则绝对值代表可以向外延伸的点数。 对于每一个结点$i$: ​ 统计儿子中可以向外延伸的点数的最 阅读全文
posted @ 2019-08-05 20:44 Eeis 阅读(168) 评论(0) 推荐(0) 编辑
摘要: "「BalkanOI 2018 Day1」Election" 记C为1,T为 1,$sum[i]$为$i$点的前缀和。 对于询问$[l,r]$,分两步计算答案。 1. 要求所有点的$sum[i] sum[l 1] \geq 0$,那么就把一些点拔高,需要删去的点数为$max(sum[l 1] sum 阅读全文
posted @ 2019-08-05 19:38 Eeis 阅读(337) 评论(0) 推荐(1) 编辑
摘要: "「BalkanOI 2018 Day1」Minmaxtree" 每个点都有一个最大和最小权值的限制。 然后每一个权值的限制都必须要取到。 每个点显然可以直接让他取到最大或最小权值。 可以想到每个点匹配一个权值。 不就是一个二分图吗。。。 每个点连向最大和最小权值,然后跑dinic,输出方案,当然本 阅读全文
posted @ 2019-08-05 19:37 Eeis 阅读(366) 评论(0) 推荐(0) 编辑