当前位置: 首页 > news >正文

P17175 「MSOI R1」折磨 题解 - fl0ppy

P17175 「MSOI R1」折磨 题解

题目见 [P17175 「MSOI R1」折磨 - 洛谷]

很水的一道题(毕竟基础赛)

几个核心词:网络 扩散 屏蔽

基础思想:

考虑Flood Fill思想 设立一个\(vis\)数组 对所有满足\(arr[i] \leq val(发出去猫条的价值)\)的i进行染色(使得\(vis[i] = 1\))

最后都fill完了就以我们可怜的小猫为中心遍历其邻居看看有几个被感染上的直接\(ans++\)

注意事项:

为了保证严谨,我们在跑算法之前应对\(users\)数组按其发布的瓜条价值从高到低排列,但注意到题目中保证可以证明看到瓜条的顺序并不会影响最终结果。

但是去掉排序则只能拿到83pts 为什么呢?

代码如下:

#include<bits/stdc++.h>
#define int long long
#define endl "\n"
using namespace std;
inline int read(){int x = 0; bool f = 1; char c = getchar();for(; !isdigit(c); c = getchar()) if(c == '-') f = 0;for(; isdigit(c); c = getchar()) x = (x << 1) + (x << 3) + (c ^ 48);return f ? x : -x;
}
const int N = 2e5 + 10;
int n, e1, m, a, arr[N], users[N], vis[N];
vector<int> e[N];
inline void dfs(int node, int val){if(vis[node]){return;}//访问过了直接回去vis[node] = 1;//染色for(const auto o : e[node]){if(o == a){//我们的主角不要染continue;}if(arr[o] <= val){//满足条件arr[o] = val;dfs(o, arr[o]);}}
}
main(){n = read(), e1 = read(), m = read(), a = read();for(int i = 1; i <= n; ++i){arr[i] = read();}for(int i = 1, aa, bb; i <= e1; ++i){aa = read(), bb = read();e[aa].push_back(bb);e[bb].push_back(aa);}for(int i = 1; i <= m; ++i){users[i] = read();}int ans = 0;sort(users + 1, users + 1 + m, [&](int xx, int yy){return arr[xx] > arr[yy]; });for(int i = 1; i <= m; ++i){dfs(users[i], arr[users[i]]);}for(const auto o1 : e[a]){if(vis[o1]){ans++;}}cout << ans << endl;return 0;
}

递交记录

http://www.jsqmd.com/news/1316270/

相关文章:

  • Elsevier LaTeX模板全攻略:从环境搭建到投稿避坑指南
  • 为什么选择phpunit-snapshot-assertions?5大优势让你的测试效率提升300%
  • 多平台支持!Chunky在Bukkit、Fabric与Forge服务器的安装与配置
  • 2026年7月靠谱的打包钢带厂家推荐,铝锭打包带/镀锌打包钢带/烤蓝打包钢带/带钢,打包钢带供应商口碑推荐 - 品牌推荐师
  • IPTG诱导蛋白表达原理与优化:从乳糖操纵子到实验方案设计
  • LangSmith Engine:LLM应用编排与执行引擎的核心原理与实践
  • 合肥想学美妆造型选哪所中职?合肥中科信息工程学校形象设计专业 2026 秋季报名通道开放 - Luckyone王
  • 周末聚餐吃什么?亲测6家锅物脆毛肚火锅推荐
  • 【Bug已解决】Missing library stubs or py.typed marker 解决方案
  • Lurnby未来路线图:即将推出的5大功能预览
  • 人啊人
  • Autotest:Linux自动化测试的分布式解决方案
  • 如何用AI在5分钟内将学术论文变成专业海报?Paper2Poster终极指南
  • 深度解析2026重庆除甲醛公司:哪些值得推荐,如何避免入坑 - 空气捍卫者
  • TuneFree下载教程:3步获取超清母带音乐及逐字歌词
  • 抖音无水印下载器完整指南:从零开始掌握批量下载技巧
  • AI训练师、提示工程师、伦理审计员…这9类新型岗位正在重构就业市场(2024Q2招聘数据实证)
  • 构建跨平台数据库管理隐形通道DbGate
  • 5分钟掌握OBS Studio色彩魔法:从新手到专业调色师
  • Excel调用REFPROP物性库:工程计算自动化与热力学分析实战
  • 3个简单步骤让AI读懂金融市场的语言:Kronos金融预测模型实战指南
  • 数学地基的真相:ZFC公理与逻辑三大律并非“不证自明”
  • 2026中山太阳能地埋灯源头厂家推荐 2家靠谱工程工厂汇总 - 品牌深度评测
  • colorpicker-compose跨平台支持:Android、iOS、Web全平台适配教程
  • 如何快速使用jf open-huninn粉圓字型:繁體中文圓體設計完整指南
  • 单片机毕设项目:基于 DHT11 与 L9110 的智能室内散热系统开发 多档位可调的 STM32 温湿度自动风扇控制器(018501)
  • 公司员工心理测评:团体普查与个体重点摸排两种模式适用场景区分 - 衡识人才测评
  • fastapi: 把数据表导出成excel电子表格文件
  • Verilog仿真时间格式化:$timeformat系统任务详解与调试实践
  • TinySAM:如何在1/14计算成本下实现“分割一切“的轻量化革命?