1031. 高一学堂 (at)
题目描述
在美丽的中山纪念中学里面,有一座高一学堂。所谓山不在高,有仙则名;水不在深,有龙则灵。高一学堂,因为有了yxr
,就成了现在这个样子 = =。
由于yxr
的语言太过雷人,每次他发微往往都会有一石激起千层浪的效果,具体就是所有关注他的人都会转发,同时@他,接着关注这些人的人也会转发,同时@他关注的人(注意转发内容本身会有@yxr
),以此类推。这样导致每次yxr
发微博都会被@上兆次,而yxr
又特别喜欢发,sina 支持不了如此庞大的数据量,特出规定,每次转发时,@的人不能超过 KK 人,好友在转发时如果超过了,就把最早那人删掉。现在yxr
刚发了一条微博“求满分”,他想知道每个与他有联系的人分别会被@多少次。
输入格式
输入第一行有三个整数 N,KN,K,表示人数和KK。
接下来 N-1N−1 行,每行有 22 个整数 a,ba,b,表示 aa 和 bb 有关注关系。
输入给出一棵以 11 号点为根的树,一号点代表yxr
,对于任意一个点,他的儿子都关注他。
输出格式
输出有 NN 行,每行有一个整数,这个人会被@多少次。
样例
样例输入
5 2
1 2
2 3
2 4
4 5
样例输出
3
3
0
1
0
数据范围与提示
对于 30\%30% 的数据,N≤100N≤100;
对于 60\%60% 的数据,N≤100000,k≤100N≤100000,k≤100; 对于 100\%100% 的数据,N≤100000N≤100000。
来源
20120920
solution
题意是求一个点向下k层的子树大小。树剖可以做。
考虑简单一点的方法。我们用所有的减去深度>k层的。
那么可以维护每个点子树和深度k+1层之前的点减掉即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构