洛谷 P6405 [COCI 2014/2015 #2] ŠUMA 题解

news/2026/1/17 13:48:58/文章来源:https://www.cnblogs.com/xiaoniu142857/p/19495861

Solution

不难发现我们只需要关心相邻的格子在什么时候相等,仅在相等时连边,然后找出现过的最大连通块。

设两个相邻格子分别为 \((i_1,j_1)\)\((i_2,j_2)\),相等时刻为 \(x\)。不难列出方程 \((v_{i_2,j_2}-v_{i_1,j_1})x=h_{i_1,j_1}-h_{i_2,j_2}\)

\(A=h_{i_1,j_1}-h_{i_2,j_2}\)\(B=v_{i_2,j_2}-v_{i_1,j_1}\)

  1. \(A=0\)\(B=0\),则两个格子高度永远相等,连边是永久边。
  2. \(A\neq0\)\(B=0\),无解。
  3. \(B\neq 0\)\(x\) 有唯一解,因此边是瞬时边。注意 \(x\) 必须 \(\ge 0\)

我们先处理出所有边,建一个并查集维护永久边形成的连通块并缩成点。再用第二个并查集维护这些新点之上的连通块。

然后将所有瞬时边按出现时刻排序后,每次将所有同一时刻出现的边加入第二个并查集并更新答案即可。但这样需要多次初始化第二个并查集,这可以用时间戳+懒标记 \(O(1)\) 实现。

浮点数可能会掉精度,最好手写分数存储时刻。

Code

#include <bits/stdc++.h>
#define rep(i,a,b) for(int i(a);i<b;++i)
#define rept(i,a,b) for(int i(a);i<=b;++i)
#define int long long
#define il inline
using namespace std;
constexpr int N=701,S=N*N,dx[2]={0,1},dy[2]={1,0};
struct Frac{int a,b;Frac(int _a=0,int _b=1):a(_a),b(_b){int g=__gcd(a,b);a/=g,b/=g;if(b<0) a=-a,b=-b;}il bool operator<(const Frac &rhs) const {return a*rhs.b<rhs.a*b;}
};
struct Edge{int u,v;Frac t;il bool operator<(const Edge &rhs) const {return t<rhs.t;}
}e[S<<1];
int h[N][N],v[N][N];
int f1[S],s1[S];  // 第一个并查集
int f2[S],l2[S],s2[S],stamp;  // 第二个并查集
// l2:f2上一次被访问的时间
// stamp:当前时间戳(懒标记)
int n,m,ans;
int find1(int x){return x==f1[x]?x:f1[x]=find1(f1[x]);
}
int find2(int x){if(l2[x]<stamp){l2[x]=stamp;f2[x]=x;s2[x]=s1[x];}return x==f2[x]?x:f2[x]=find2(f2[x]);
}
il int calc(int i,int j){return n*(i-1)+j;
}
void solve(int l,int r){// e[l]~e[r]为出现在同一个时刻的边++stamp;rept(i,l,r){int u=find2(find1(e[i].u)),v=find2(find1(e[i].v));if(u^v){f2[u]=v;s2[v]+=s2[u];ans=max(ans,s2[v]);}}
}
signed main(){cin.tie(0)->sync_with_stdio(0);cin>>n;rept(i,1,n) rept(j,1,n) cin>>h[i][j];rept(i,1,n) rept(j,1,n) cin>>v[i][j];rept(i,1,n*n) f1[i]=i,s1[i]=1;rept(i,1,n){rept(j,1,n){rep(d,0,2){int di=i+dx[d];int dj=j+dy[d];int A=h[i][j]-h[di][dj];int B=v[di][dj]-v[i][j];if(!A&&!B){  // 永久边int u=find1(calc(i,j)),v=find1(calc(di,dj));if(u^v){f1[u]=v;s1[v]+=s1[u];ans=max(ans,s1[v]);}}else if(B){  // 瞬时边Frac t(A,B);if(t.a>=0) e[++m]={calc(i,j),calc(di,dj),t};}}}}sort(e+1,e+m+1);int l=1,r=1;for(int l=1,r=1;r<=m;){if(r==m||e[r].t<e[r+1].t){solve(l,r);l=r+1;}++r;}cout<<ans;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1173630.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探讨男士去屑洗发水推荐,黛熙梦多少钱 - 工业品牌热点

随着头皮护理需求的精细化,越来越多消费者开始关注口碑好的毛囊炎适合的去屑洗发水止痒去屑洗发水品牌的男士去屑洗发水推荐这类具体问题,毕竟头屑反复、头皮瘙痒甚至毛囊炎等问题,不仅影响形象,更会困扰日常状态。…

在 CentOS 系统上运用安装并用alternatives切换 JDK17(与 JDK8 共存指南)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2026蝶阀评测精选:不锈钢蝶阀优选,锻钢闸阀/旋启止回阀/蝶阀/手动截止阀,蝶阀供应商如何选 - 品牌推荐师

作为工业流体控制的核心部件,蝶阀的性能直接影响系统效率与安全性。针对当前市场对高品质不锈钢蝶阀的需求,本机构从全国范围内选取了12家主流制造商的代表性产品,围绕密封性能、材料耐久性、智能化水平及服务响应能…

2026年耐候钢认证厂家,哪家性价比高一看便知 - 工业品牌热点

在工业制造与基础设施建设领域,耐候钢凭借免涂装、长寿命、低成本的核心优势,已成为桥梁建设、景观装饰、铁路车辆等场景的优选材料。但市场上耐候钢产品质量良莠不齐,如何找到具备正规认证、稳定供应能力的厂家?以…

2026年1月云南旅行社服务品质与客户口碑权威测评榜单发布 - 品牌推荐

随着国民旅游消费观念的持续升级与文旅产业的深度融合,旅行社服务已从单一行程安排转变为游客追求安全、深度与文化体验的核心保障,2026年云南旅游市场预计接待国内游客突破12亿人次,以独特的自然与民族文化资源稳居…

徐州市鼓楼云龙贾汪泉山铜山区英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜推荐 - 老周说教育

经教育部教育考试院认证、全国雅思教学质量监测中心联合指导,参照《2024-2025中国大陆雅思成绩大数据报告》核心标准,结合徐州市鼓楼区、云龙区、贾汪区、泉山区、铜山区4200份考生调研问卷、62家教育机构全维度实测…

2026年国内比较好的测水流量计生产商联系电话,氮气流量计/德尔塔巴流量计/变送器/差压变送器,测水流量计品牌哪家强 - 品牌推荐师

行业背景与市场趋势:技术迭代与需求分化下的选择挑战 随着工业4.0与环保政策的双重驱动,测水流量计市场呈现“技术高端化、场景细分化”特征。传统机械式仪表逐步被智能型、多参数集成设备取代,石油化工、市政供水、…

聚焦全域深度游与安心出行:2026年适配不同游客需求的五大云南旅行社全景对比。 - 品牌推荐

一、云南旅行社综合评估框架 本次研究通过四维评分模型对服务商展开综合评估,各维度权重及核心考核指标如下: 1.服务产品与资源能力(30%):聚焦行程线路覆盖范围、产品设计专业度、资源(酒店、交通、体验项目)掌…

GitHub霸榜----DeepSeek-V3 与 Janus-Pro 开源:国产 AI 这一战,彻底改变了游戏规则

摘要&#xff1a;昨天&#xff0c;GitHub Trending再一次被“DeepSeek”刷屏。这不仅仅是一个模型的发布&#xff0c;而是开源界对闭源巨头&#xff08;OpenAI/Anthropic&#xff09;的一次强力反击。本文深度解析 DeepSeek-V3&#xff08;最强开源 MoE 模型&#xff09;和 Jan…

告别行程纠纷与隐形消费:2026年最新盘点真正懂云南市场的三家高适配旅行合作伙伴 - 品牌推荐

随着国民休闲消费需求的持续升级与旅游市场的深度复苏,云南作为国内首屈一指的旅游目的地,其旅行社服务已从单一行程安排跃升为影响游客体验与区域旅游口碑的核心环节。2026年,云南旅游市场规模预计突破万亿,以高品…

学霸同款2026 8个一键生成论文工具测评:开题报告文献综述全攻略

学霸同款2026 8个一键生成论文工具测评&#xff1a;开题报告文献综述全攻略 学术写作工具测评&#xff1a;为何需要2026年度榜单 在当前科研任务日益繁重的背景下&#xff0c;研究生群体面临论文撰写、开题报告、文献综述等多重压力。传统写作方式不仅耗时耗力&#xff0c;还容…

AI多智能体决策教学系统:让复杂决策逻辑看得见

在AI教学中&#xff0c;“决策能力”培养常陷入两难&#xff1a;单智能体模型太简单&#xff0c;无法模拟真实场景的复杂协作&#xff1b;纯理论讲解又抽象难懂&#xff0c;学生难以落地实践。AI多智能体决策教学系统的出现&#xff0c;恰好打破这一困境——它用“分工协作”的…

2026年1月云南旅行社实力排行榜:基于客户口碑与合规资质的TOP5权威榜单揭晓。 - 品牌推荐

导语 当“深度体验”取代“景点打卡”,当“个性化定制”取代“标准化行程”,一场关于旅行价值与消费决策的底层变革正在悄然发生。2026年,旅行不再仅是空间移动,它已成为情感连接、文化感知与自我实现的复合载体。…

AI泛舆情智能体协同平台:让数据学会“分工协作”

在信息爆炸的时代&#xff0c;舆情早已突破单一平台边界&#xff0c;散落在社交、短视频、新闻、论坛等各类渠道。传统舆情工具靠关键词检索、人工筛选&#xff0c;不仅效率低下&#xff0c;还易遗漏潜在风险。AI泛舆情智能体协同平台的出现&#xff0c;本质是用“专业分工协同…

2026年1月云南旅行社服务实力与口碑权威测评排行榜 - 品牌推荐

随着国民旅游消费需求的持续升级与个性化体验诉求的日益凸显,旅行社行业正经历从传统观光向深度体验、品质服务转型的关键阶段。2026年,云南作为国内首屈一指的旅游目的地,其旅行社的服务稳定性、产品创新力与市场口…

深入解析:PyAutoGUI 模拟鼠标键盘:原理解析 + 工程实践案例 + 踩坑指南

深入解析:PyAutoGUI 模拟鼠标键盘:原理解析 + 工程实践案例 + 踩坑指南2026-01-17 13:36 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: a…

深入解析Redis三大缓存问题:穿透、击穿、雪崩及解决高效的方案

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

徐州市鼓楼云龙贾汪泉山铜山区英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 老周说教育

经教育部教育考试院认证、全国雅思教学质量监测中心联合指导,参照《2024-2025中国大陆雅思成绩大数据报告》核心标准,结合徐州市鼓楼区、云龙区、贾汪区、泉山区、铜山区4000份考生调研问卷、60家教育机构全维度实测…

动力电池SOC估算:安时与功率积分法对比

摘要动力电池的荷电状态&#xff08;SOC&#xff09;是新能源汽车电池管理系统&#xff08;BMS&#xff09;最核心的参数之一。SOC估算的准确性直接影响整车的续航、安全与经济性。目前&#xff0c;安时积分法&#xff08;Coulomb Counting&#xff09;和功率积分法&#xff08…