无
1mszs补了ABDHM题,lincong补了GIJKL题。
在一个m×n的矩形房间里,有一个盗贼在(0,0)处。房间内有K个摄像头,给出每个摄像头的位置和监控的半径,盗贼不能进入任何摄像头监控的范围,包括边缘。问这个盗贼是否能够到达(m,n)。
签到题,用并查集合并圆,最后查询一下有没有哪个集合,能同时封住上右、下左、上下、左右中的一种或多种,有的话就不能,没有就能。
签到题。
给出一棵有n个结点,根结点为1的树,每一次操作可以选择一个结点,然后将这个结点到根结点路径上的每一个点染黑。求进行k次操作后,最多能把多少点染黑。
显然每次选择叶节点最优,只需确定每个点是属于哪个叶节点向上的链即可。
设len[x]是以x为根节点的最长链的长度。在dfs回溯的时候,选x的儿子中len最长的,接到x上,把其他儿子的len加入优先队列,意味着它们这些链到此为止了。最后ans就是len[1]加上优先队列中的前k-1个。
有n个物品,要把他们放回到n个位置,第i个物品放回到第j个位置有a(i,j)的确信度。求一种放法,使得n个物品的确信度乘积最大。
显然,n个物品与n个位置构成了一张二分图。
由于log(ab)=log(a)+log(b),因此我们可以用log将确信度乘积最大,转换为确信度的和最大,然后就是一道裸的二分图最大权匹配了。
签到题。
给出一幅有n个点的图,每个点有一个点权。给出q次询问,每次询问包括起点、终点和限制条件,限制条件为:从起点到终点的路径上,每个中间点(不包括起点和终点)的点权必须是最低(高)的k种点权之一。问在此限制条件下,能否从起点到达终点,能的话求出最短路,不能输出-1。
首先,因为询问是离线的,所以我们可以将这q个询问按限制分类并排序,保证限制的数量是单调递增的。
接着,我们再把点权从小到大(从大到小)排序,这样的话,我们就可以随着限制数量的不断增加,而不断加入新点。每次加入新点,我们都需要以这个点作为中转点,跑一次floyd,来更新最短路。
最后,我们再按照询问的顺序,依次输出ans即可。
按题意模拟即可。
给定一个2×n的网格,从任意格子出发,不重复地遍历每个方格,遍历方法为八联通,求不同的遍历方法数。
模拟+思考后,得出递推公式:f(n)=4×a(n)+2×c(n)。
其中:
a(n)=2×a(n-1)+4×a(n-2)+b(n-1),a(1)=1,a(2)=6。
b(n)=2×b(n-1),b(1)=2,b(2)=4。
c(n)=8×a(n-2)+c(n-1),c(1)=c(2)=0。
由于n<=1e9,所以要用矩阵快速幂加速数列递推。
打表找规律,ans就是2的(n在2进制下1的个数)次方。
签到题,二分答案。