尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

[USACO18JAN] G/S 题解

[USACO18JAN] G/S 题解
📅 发布时间:2026/6/19 1:51:07
[USACO18JAN] G/S 题解
双倍经验双倍爽!

P4185 [USACO18JAN] MooTube G 题解

P6111 [USACO18JAN] MooTube S 题解(数据弱化版)

题目链接
题目链接(弱化版)
我的博客

前言

如标题所言,是双倍经验。不同的是P6111可以用DFS暴力过去,但是P4185不行。本篇重点讲的是非暴力做法。

思路

这道题显然不需要在线查询。所以我们可以考虑离线。每次查询每条边的边权显然是T飞了,因此我们可以考虑给查询的数组拍一下序,然后每次加边。

因此我们可以将询问按 \(k,w\) 的值降序排序后离线解决本题。

做法过程:

  1. 把边按照 \(w\) 从大到小排序。
  2. 把查询按照 \(k\) 从大到小排序。
  3. 对于每次查询的 \(k\),我们可以把所有边权 \(w \geq k\) 的边加入一个并查集,用并查集维护当前可以推荐的视频。
  4. 满足条件的推荐视频数量即为 \(size_v-1\)。(因为不能包含 \(v\) 本身)

代码

const int N=1e5+10;
int n,Q;
struct node{int u,v,w;
}e[N];//读入的边
bool cmpw(node A,node B){return A.w>B.w;}
struct qry{int k,v,id;int ans;
}a[N];//读入的询问
bool cmpk(qry A,qry B){return A.k>B.k;}
bool cmpid(qry A,qry B){return A.id<B.id;}
int fa[N],siz[N];
int findf(int x){//并查集查找if(fa[x]==x) return x;return fa[x]=findf(fa[x]);
}
void merge(int x,int y){//并查集合并int fx=findf(x),fy=findf(y);if(fx!=fy){fa[fx]=fy;siz[fy]+=siz[fx];//这里一定要搞清谁合并到谁里面了,不要搞反了!return ;}
}
signed main(){n=Read();Q=Read();for(int i=1;i<=n;i++) fa[i]=i,siz[i]=1;//初始化,不要忘了!for(int i=1;i<n;i++){e[i].u=Read();e[i].v=Read();e[i].w=Read();}sort(e+1,e+n,cmpw);for(int i=1;i<=Q;i++){a[i].k=Read();a[i].v=Read();a[i].id=i; }sort(a+1,a+Q+1,cmpk);int j=1;//当前加到第 j 个边for(int i=1;i<=Q;i++){while(j<n&&e[j].w>=a[i].k){merge(e[j].u,e[j].v);j++;}a[i].ans=siz[findf(a[i].v)]-1;}sort(a+1,a+Q+1,cmpid);for(int i=1;i<=Q;i++){printf("%d\n",a[i].ans);}return 0; 
} 

相关新闻

  • 完整教程:对于环形链表、环形链表 II、随机链表的复制题目的解析
  • 银河麒麟高级服务器操作系统V10SP3(X86)【在使用Xshell通过SSH连接时遇到 “服务器发送了一个意外的数据包。receives:3,expected:20”错误】问题解决方法
  • [Network] subnet mask

最新新闻

  • 2026年湖北百合种植基地推荐排行榜:百合技术/百合回收/百合种苗案例参考 - 新闻快传
  • 告别龟速与超时:全方位解决 git clone 网络难题的实战指南
  • 嵌入式MCU电气特性与FLASH操作深度解析:从数据手册到稳定设计
  • 2026 郑州八大装修公司综合实力排行榜 - GrowthUME
  • 爱回收到店估价和到手价差多少?iPhone 15 Pro实测报告 - 新闻快传
  • 2026沈阳非急救转运救护车TOP5盘点|辽中同城、浑河跨桥、棋盘山山地、院区转诊首选康跃转运 - 吉修匠

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号