XSY contest noip2018模拟测试赛(三十一&三十二&三十三)

noip2018模拟测试赛(三十一)

T1 国旗计划

题面
A国正在开展一项伟大的计划——国旗计划。这项计划的内容是边防战士手举国旗环绕边境线奔袭一圈。这项计划需要多名边防战士以接力的形式共同完成,为此,国土安全局已经挑选了N名优秀的边防战上作为这项计划的候选人。
A国幅员辽阔,边境线上设有M个边防站,顺时针编号1至M。每名边防战士常驻两个边防站,并且善于在这两个边防站之间长途奔袭,我们称这两个边防站之间的路程是这个边防战士的奔袭区间。n名边防战士都是精心挑选的,身体素质极佳,所以每名边防战士的奔袭区间都不会被其他边防战士的奔袭区间所包含。
现在,国家安全局局长希望知道,至少需要多少名边防战士,才能使得他们的奔袭区间覆盖全部的边境线,从而顺利地完成国旗计划。不仅如此,安全局局长还希望知道更详细的信息:对于每一名边防战士,在他必须参加国旗计划的前提下,至少需要多少名边防战士才能覆盖全部边境线,从而顺利地完成国旗计划。

解题思路
由于没有包含的区间,那么如果我们对区间的左端点排序,右端点一定单调递增。对于每个区间\([l_1,r_1]\),我们可以找到这个区间下一个接的最优区间\([l_k,r_k]\),满足\(l_k∈[l_1,r_1]\),k越大越好(单调性)。
如此我们就形成了一个最优链。在链上倍增,从每个\([l_i,r_i]\)开始不断接近但不到达一圈之后的\(l_i\),最后答案+2即可(一个是初始的\([l_i,r_i]\),另一个是最后到达还需要一个区间)。

T2 Blackout

题面
给你一个N行N列的网格,第i行第j列的格子用(i,j)表示
一开始的时候有M个格子被涂成黑色,其他的格子都是白色,具体一点,涂成黑色的格子为(a1,b1),(a2,b2),(a3,b3)...(aM,bM)
你的目标是按照以下规则将尽可能多的白色格子涂成黑色:如果存在三个格子(x,y),(y,z)和(z,x)满足(x,y)和(y,z)都是黑格子并且(z,x)是白格子(其中x,y,z都是[1,N]之间的整数),那么你可以将(z,x)涂成黑色
输出你不能继续操作时,黑格子的最大数量
解题思路
观察三个格子的形式,我们发现这三个点的关系非常像变形的矩乘三元环。于是我们对于\(1~n\)中的每个数字建立一个点,那么\((x,y)\)便是一条从边从\(x\)\(y\)
对每一个弱连通块三染色,染上\(012\)三种颜色。我们可以新加从2到0,从0到1,从1到2的边。
如果染色失败,即一个点被染上了两种颜色,那么一定是出现了二元环或者自环,那么整个连通块都将染成黑色(请读者自己画图思考)。
如果染色成功,那自然按照上面说的连边。
如果没染完三种颜色,那自然不会产生新的。

T3 Namori Grundy

题面
给给全有一个N个点N条边的有向图,点的的编号从1到N
给给全的图有N条边,形如:(p1,1),(p2,2),...,(pN,N),保证图是弱连通的。其中,(u,v)表示一条从点u到v的单向边。“弱连通”是指:假如所有的边都是双向边,则图连通图
给给全为每个点设置了一个权值,ai表示点i的权值。因为他很给给,所以他希望图满足如下性质:
所有ai都是非负整数
对于每条边(i,j),满足ai≠aj
对于所有i,x(0≤x≤ai),存在一条边(i,j)满足x=aj
请你帮给给全判断一下,这样给给的图是否存在呢?
解题思路
显然这是一个mex问题,即对于每一个点,我们让这个点的值取子树集合中没有的最小正整数即可。
有n个点,n条边,每个点只可能有一个入度,那么这个图就是一个环套树。
我们先把子树的权值全部传到环的点上面。
对于环上的两个点u, v,u指向v,那么如果\(a_u>a_v\),我们不用考虑更改,如果\(a_u<a_v\)也不用考虑更改,我们只用考虑等于的情况。
画图发现,只要这个环中数字不是全部相同,我们就一定可以通过给点配平。
如果环中数字全部相同呢,发现这时候我们配平有个规律就是一个隔一个+1,那么如果是奇环的话两个+1就会撞上,不行,如果是偶环的话就可以

posted @ 2021-08-05 09:22  2017gdgzoi1164  阅读(44)  评论(0)    收藏  举报