NKOJ P9492 【USACO】视频共享

题目分析

这道题其实最容易想到的方法是离线枚举,但是其时间复杂度为O(n^2),很明显会超时(这题数据连离线化都救不了) 那该如何办?

并查集;因为他说有一个推荐列表,而这个推荐列表中i号视频推荐了j号视频,那j号视频也一定会推荐i号视频,即在同一个推荐列表中的视频于当前视频互相可达;这不就是一个连通块的思想吗,题目所求的就是当前连通块的元素个数

梦回银河英雄传说,但其实这题还要简单一些,只需要更新father数组的同时更新size就行了,最后的答案就是

size[get(vi)]-1

注意还要减去这个视频本身(不会推荐自己)Buuuuuuuuuuu uuuuuut,怎么建边?每次询问BFS暴力,TLE;记忆化,照样有被卡TLE的可能;那我们在来构思一个奇特的样例:有一个只有一条直链的图,问题问的是同一个点,那么随着ki的值依次递减,那么其ans将会越来越大(单调递增)……有没有规律?

我们可以看一下对于同一个点,k的值越单调递增,其ans单调递减,那我们可以尝试着把其每一次的询问离线出来(存储),按k的值从大到小排序,每次把可以满足条件的点加进并查集再存储当前答案ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值