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)相关推荐

  1. iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务等等

    --系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用 ...

  2. php修改时区MST,4、修改Cacti绘图的时间精度

    一.前言 前面几篇记录了怎么去安装Cacti,这篇呢主要记录下如何修改Cacti绘图的精度,注意是绘图的精度而不是轮询的精度.在开始写这篇笔记的时候首先得谢谢帮助我解决PHP问题的ikodota. C ...

  3. UI自动化测试工具White简介以及使用经验总结(一)

    一.White简介 White是微软开发的一个开源工具,它提供了一套主要用于UI测试的框架.它适用于WinForm, WPF, Win32 以及SWT(java)的测试. White是用C#开发的,但 ...

  4. 使用TestStack.White进行Windows UI的自动化测试 (1) 基础篇

    参考  https://www.dazhuanlan.com/2019/09/04/8c18f8874287/ 本文章将简单介绍TestStack.White这个Windows UI自动化测试的套件, ...

  5. TestStack.White安装详解

    参考: http://teststack.azurewebsites.net/White/GettingStarted.html 1. 使用VS2010以上版本 因为TestStack.White是通 ...

  6. UCL葡萄酒(red white wine quality)数据集字段解释、数据导入实战

    UCL葡萄酒(red white wine quality)数据集字段解释.数据导入实战 目录 UCL葡萄酒(red white wine quality)数据集字段解释.数据导入实战 #数据字段说明 ...

  7. R语言White’s检验实战:检验回归模型中是否存在异方差性(heteroscedasticity)、发生了异常差(heteroscedasticity)问题如何解决

    R语言White's检验实战:检验回归模型中是否存在异方差性(heteroscedasticity).发生了异常差(heteroscedasticity)问题如何解决 目录

  8. hdu1863 畅通工程---MST连通

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1863 题目大意: 中文题,求MST权值,如果不连通,输出? 解题思路: 这道题帮我找出了之前模板中的 ...

  9. POJ 1679 - The Unique MST(次小生成树)

    题目链接 https://vjudge.net/problem/POJ-1679 Given a connected undirected graph, tell if its minimum spa ...

最新文章

  1. Python发展迅猛,如何在Python热中脱颖而出了?
  2. 2020移动apn接入点哪个快_为什么都是4G网你的就没别人快?跟我这样设置,网速直线提升...
  3. 在多台服务器上简单实现Redis的数据主从复制
  4. 第四十六期:最近程序员频繁被抓,如何避免面向监狱编程?!
  5. ORACLE JDBC 对千万数据 批量删除和批量插入
  6. 决策树(十)--GBDT及OpenCV源码分析
  7. C++学生信息管理系统1.0
  8. 【macOS】Desktop桌面文件突然消失不见解决办法
  9. Dynamics 365Online Server-Side OAuth身份认证二(S2S)
  10. java attachment_Java 接收邮件(接收多附件)
  11. 【他山之石】康师傅的本地化策略
  12. 深圳连续社保的重要性 - 社保为什么不能中断
  13. wps怎么减少行间距_wps怎么设置行距_wps的行间距在哪怎么调整单倍行距及1.5倍行距_wps文字_office之家...
  14. 【刷爆LeetCode】七月算法集训(14)栈
  15. Cisco RV320未经身份验证的配置导出
  16. Windows7 x64 瑞昱Realtek高清音频管理器均衡器用户定义文件 保存位置
  17. 谷歌搜索 site命令 指定网站搜索
  18. 宏碁暗影骑士设置u盘启动教程
  19. margin-left:-100%
  20. 初识linux之vim工具与bdb调试工具

热门文章

  1. 谈谈FRID 门禁系统
  2. 12个国外稳定无限量免费网盘
  3. 一键复制 — vue
  4. One Plus 3(一加3)手机变砖救活经历
  5. Parallel的使用 之Parallel.for
  6. Ubuntu linux系统qemu启动handset黑屏问题的解决方法
  7. MySQL的登陆错误:ERROR 1049 (42000): Unknown database ‘123456‘
  8. pythongui可视化编程_Python Qt GUI与数据可视化编程
  9. css样式中width:auto是什么意思
  10. 为什么敏捷开发难于成功?