Black and white(MST)
Black and white(MST)
思路
考虑对题意中的操作进行分析:
假定这四个数组成的子矩形的左上角是: ( x 1 , y 1 ) \large (x_1,y_1) (x1,y1)
右下角是: ( x 2 , y 2 ) \large (x_2,y_2) (x2,y2)
要使得我们能进行该操作,则这两行两列中要有三个位置有数字的。
而位置 ( i , j ) \large (i,j) (i,j)的数字就是第 i i i行第 j j j列的连通桥梁。
为了更好的表达连通性,不妨人为定义一个顺序(逆时针),我们将点权转化为边权。
这样为了让四个点连通,我们就只需要连三条边。
因此,为了让整个矩阵都涂黑,我们只需要让所有行和所有列连通即可。
因此要用最少的贡献使得所有行列连通,即让该图是一棵树就行了,因此可以采用最小生成树计算。
Code
// Problem: Black and white
// Contest: NowCoder
// URL: https://ac.nowcoder.com/acm/contest/11254/B
// Memory Limit: 1048576 MB
// Time Limit: 4000 ms
// Date: 2021-07-24 12:35:15
// --------by Herio--------#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int N=1e5+5,M=1e4+5,inf=0x3f3f3f3f,mod=1e9+7;
#define mst(a,b) memset(a,b,sizeof a)
#define PII pair<int,int>
#define fi first
#define se second
#define pb emplace_back
#define SZ(a) (int)a.size()
#define IOS ios::sync_with_stdio(false),cin.tie(0)
void Print(int *a,int n){for(int i=1;i<n;i++)printf("%d ",a[i]);printf("%d\n",a[n]);
}
int n,m,a,b,c,d,p;
int f[N];
int find(int x){return f[x]==x?x:f[x]=find(f[x]);
}
vector<int>v[N];
int main(){scanf("%d%d%d%d%d%d%d",&n,&m,&a,&b,&c,&d,&p);a=(a*a*b+a*c+d)%p;int tot=n*m;for(int i=0;i<tot;i++){v[a].pb(i);a=(1LL*a*a*b+1LL*a*c+d)%p;}int ans=0;for(int i=0;i<n+m;i++) f[i]=i;for(int i=0;i<p;i++){for(int w:v[i]){int x=w/m,y=w%m;x=find(x),y=find(n+y);if(x!=y){f[x]=y;ans+=i; }}}printf("%d\n",ans);return 0;
}
Black and white(MST)相关推荐
- iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务等等
--系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用 ...
- php修改时区MST,4、修改Cacti绘图的时间精度
一.前言 前面几篇记录了怎么去安装Cacti,这篇呢主要记录下如何修改Cacti绘图的精度,注意是绘图的精度而不是轮询的精度.在开始写这篇笔记的时候首先得谢谢帮助我解决PHP问题的ikodota. C ...
- UI自动化测试工具White简介以及使用经验总结(一)
一.White简介 White是微软开发的一个开源工具,它提供了一套主要用于UI测试的框架.它适用于WinForm, WPF, Win32 以及SWT(java)的测试. White是用C#开发的,但 ...
- 使用TestStack.White进行Windows UI的自动化测试 (1) 基础篇
参考 https://www.dazhuanlan.com/2019/09/04/8c18f8874287/ 本文章将简单介绍TestStack.White这个Windows UI自动化测试的套件, ...
- TestStack.White安装详解
参考: http://teststack.azurewebsites.net/White/GettingStarted.html 1. 使用VS2010以上版本 因为TestStack.White是通 ...
- UCL葡萄酒(red white wine quality)数据集字段解释、数据导入实战
UCL葡萄酒(red white wine quality)数据集字段解释.数据导入实战 目录 UCL葡萄酒(red white wine quality)数据集字段解释.数据导入实战 #数据字段说明 ...
- R语言White’s检验实战:检验回归模型中是否存在异方差性(heteroscedasticity)、发生了异常差(heteroscedasticity)问题如何解决
R语言White's检验实战:检验回归模型中是否存在异方差性(heteroscedasticity).发生了异常差(heteroscedasticity)问题如何解决 目录
- hdu1863 畅通工程---MST连通
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1863 题目大意: 中文题,求MST权值,如果不连通,输出? 解题思路: 这道题帮我找出了之前模板中的 ...
- POJ 1679 - The Unique MST(次小生成树)
题目链接 https://vjudge.net/problem/POJ-1679 Given a connected undirected graph, tell if its minimum spa ...
最新文章
- Python发展迅猛,如何在Python热中脱颖而出了?
- 2020移动apn接入点哪个快_为什么都是4G网你的就没别人快?跟我这样设置,网速直线提升...
- 在多台服务器上简单实现Redis的数据主从复制
- 第四十六期:最近程序员频繁被抓,如何避免面向监狱编程?!
- ORACLE JDBC 对千万数据 批量删除和批量插入
- 决策树(十)--GBDT及OpenCV源码分析
- C++学生信息管理系统1.0
- 【macOS】Desktop桌面文件突然消失不见解决办法
- Dynamics 365Online Server-Side OAuth身份认证二(S2S)
- java attachment_Java 接收邮件(接收多附件)
- 【他山之石】康师傅的本地化策略
- 深圳连续社保的重要性 - 社保为什么不能中断
- wps怎么减少行间距_wps怎么设置行距_wps的行间距在哪怎么调整单倍行距及1.5倍行距_wps文字_office之家...
- 【刷爆LeetCode】七月算法集训(14)栈
- Cisco RV320未经身份验证的配置导出
- Windows7 x64 瑞昱Realtek高清音频管理器均衡器用户定义文件 保存位置
- 谷歌搜索 site命令 指定网站搜索
- 宏碁暗影骑士设置u盘启动教程
- margin-left:-100%
- 初识linux之vim工具与bdb调试工具
热门文章
- 谈谈FRID 门禁系统
- 12个国外稳定无限量免费网盘
- 一键复制 — vue
- One Plus 3(一加3)手机变砖救活经历
- Parallel的使用 之Parallel.for
- Ubuntu linux系统qemu启动handset黑屏问题的解决方法
- MySQL的登陆错误:ERROR 1049 (42000): Unknown database ‘123456‘
- pythongui可视化编程_Python Qt GUI与数据可视化编程
- css样式中width:auto是什么意思
- 为什么敏捷开发难于成功?