题目分析
这道题其实最容易想到的方法是离线枚举,但是其时间复杂度为,很明显会超时(这题数据连离线化都救不了) 那该如何办?
并查集;因为他说有一个推荐列表,而这个推荐列表中i号视频推荐了j号视频,那j号视频也一定会推荐i号视频,即在同一个推荐列表中的视频于当前视频互相可达;这不就是一个连通块的思想吗,题目所求的就是当前连通块的元素个数;
梦回银河英雄传说,但其实这题还要简单一些,只需要更新father数组的同时更新size就行了,最后的答案就是
size[get(vi)]-1
注意还要减去这个视频本身(不会推荐自己)Buuuuuuuuuuu uuuuuut,怎么建边?每次询问BFS暴力,TLE;记忆化,照样有被卡TLE的可能;那我们在来构思一个奇特的样例:有一个只有一条直链的图,问题问的是同一个点,那么随着ki的值依次递减,那么其ans将会越来越大(单调递增)……有没有规律?
我们可以看一下对于同一个点,k的值越单调递增,其ans单调递减,那我们可以尝试着把其每一次的询问离线出来(存储),按k的值从大到小排序,每次把可以满足条件的点加进并查集再存储当前答案ÿ