Black and white

题意:

给你一个矩阵,每个位置都有一个值,现在你要把这些值都染成黑色,花费为这个位置的值。但是对于任意两行两列的四个相交正方形,如果其中三个是黑色正方形,可以免费将第四个正方形染成黑色。
问最小花费

题解:

我们还是从任意两行两列的四个相交正方形,如果其中三个是黑色正方形,第四个正方形免费染成黑色这个性质下手。
如图,黑色部分已经染色,黄色部分可以免费染色。我们现在这么想,横纵都给个坐标,黑色块相当于把横纵纵坐标相连,下图中,(a,c)相连,(b,c)相连,(a,d)相连,现在可以免费将(b,d)相连,而通过上面三个相连关系,我们就可以得到(b,d),也就是我们用一个并查集来维护,如果(i,j)是相通的就说明可以免费染色,然后从小到大读入,未相通就加入。
这其实就是求最下生成数,n+m个点,求最小的n+m-1个边

直接存所有边然后跑并查集的话复杂度是eloge,e=2e7,会超时。我们可以这样存,对于每个值我们存其坐标,然后对于每个值遍历,这样的复杂度一共是1e7稳过
当然也可以用prim写(std好像是prim)

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
const int N=5005;
int n,m,a,b,c,d,p;
vector<pair<int,int> >g[100005];
int f[N<<1];
int fa(int x){return f[x]==x?x:f[x]=fa(f[x]);}
int main(){scanf("%d%d%d%d%d%d%d",&n,&m,&a,&b,&c,&d,&p);for(int i=1;i<=n+m;i++)f[i]=i;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){a=((ll)a*a%p*b%p+(ll)a*c%p+d)%p;g[a].push_back(make_pair(i,j));}int ans=0;for(int num=0;num<p;++num){for(pair<int,int> p:g[num]){int x=fa(p.first),y=fa(n+p.second);if(x!=y){ans+=num;f[x]=y;}}}printf("%d\n",ans);return 0;
}

Black and white相关推荐

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

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

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

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

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

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

  4. TestStack.White安装详解

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

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

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

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

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

  7. Snow White,摘自iOS应用Snow White and more stories

    Once upon a time, there was a land. 从前,有个国度. It was ruled by an evil queen. 它被一位邪恶的女王统治. Every day t ...

  8. BZOJ3336: Uva10572 Black and White(插头Dp)

    解题思路: 分类讨论即可. 代码(懒得删Debug了): 1 #include<map> 2 #include<cstdio> 3 #include<vector> ...

  9. Simulink模块之Band-Limited White Noise

    Simulink模块之Band-Limited White Noise - 尽数空 - 博客园

  10. 牛客多校三 B Black and white

    牛客多校三 B Black and white 在n*m的棋盘上,每个格子有一个数,初始可以选一定的格子标记为黑色,在任意四个形如(i1, j1)(i1, j2)(i2, j1)(i2, j2)的格子 ...

最新文章

  1. c语言求阶乘和的流程图_C/C++编程笔记:C语言 rand() 随机函数,深入解析程序随机数!...
  2. php导出excel数据使用csv替代xls格式
  3. jquery实战-定宽(二)
  4. java实现权限_Java实现权限管理的两种方式
  5. 分压式静态工作点稳定电路
  6. sendmail邮件服务器的基本建立过程
  7. 2020流行的液态风格PNG免扣素材,竟然被我找到了!
  8. 帆软数据集函数ds1.select()和ds1.group()函数的使用
  9. SQL Server 2008 误删除数据的恢复
  10. selenium操作360极速浏览器的方法
  11. python加载图片的方法_python实现读取并显示图片的两种方法
  12. 市场调研——数据来源、大数据平台、数据统计
  13. mysql 多主多从
  14. 十大知识领域 5大管理过程 47个子过程
  15. 利用OPC技术实现双网冗余系统的通讯驱动
  16. 技能篇:开发必备linux命令大全
  17. Unity3D RectTransform中文教程详细用法分析
  18. 粗读《Python 深度学习》(7)
  19. 如何做一个基于JAVA餐厅座位预定系统毕业设计毕设作品(springboot框架)
  20. 苏州协鑫发力创新 抢占新能源产业制高点

热门文章

  1. 物理太难?这些虚拟动图,让你看懂物理
  2. 雨雪出行伴侣,优质PVC时尚鞋套,防滑/防水更耐磨
  3. 程序员找不到对象是因为还没遇到一个有远见的丈母娘
  4. Oracle小知识总结
  5. php7 不是有效的32位,Win7系统安装软件提示“不是有效的win32应用程序”怎么办?...
  6. 西电计算机应用基础 一,15秋西电《计算机应用基础(一)》在线作业答案解析.doc...
  7. pixel android8,谷歌Pixel 2更多信息:安卓8.1
  8. okcoinapi开发代码_比特币程序化交易入门(5):WebSocket API
  9. c语言字符串倒置,单词倒置,用C++实现,将一句话里的单词进行倒置的方法详解
  10. floatmap 二维数组_用J中的多维数组进行Arrays.fill