Black and white
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相关推荐
- iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务等等
--系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用 ...
- 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)问题如何解决 目录
- 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 ...
- BZOJ3336: Uva10572 Black and White(插头Dp)
解题思路: 分类讨论即可. 代码(懒得删Debug了): 1 #include<map> 2 #include<cstdio> 3 #include<vector> ...
- Simulink模块之Band-Limited White Noise
Simulink模块之Band-Limited White Noise - 尽数空 - 博客园
- 牛客多校三 B Black and white
牛客多校三 B Black and white 在n*m的棋盘上,每个格子有一个数,初始可以选一定的格子标记为黑色,在任意四个形如(i1, j1)(i1, j2)(i2, j1)(i2, j2)的格子 ...
最新文章
- c语言求阶乘和的流程图_C/C++编程笔记:C语言 rand() 随机函数,深入解析程序随机数!...
- php导出excel数据使用csv替代xls格式
- jquery实战-定宽(二)
- java实现权限_Java实现权限管理的两种方式
- 分压式静态工作点稳定电路
- sendmail邮件服务器的基本建立过程
- 2020流行的液态风格PNG免扣素材,竟然被我找到了!
- 帆软数据集函数ds1.select()和ds1.group()函数的使用
- SQL Server 2008 误删除数据的恢复
- selenium操作360极速浏览器的方法
- python加载图片的方法_python实现读取并显示图片的两种方法
- 市场调研——数据来源、大数据平台、数据统计
- mysql 多主多从
- 十大知识领域 5大管理过程 47个子过程
- 利用OPC技术实现双网冗余系统的通讯驱动
- 技能篇:开发必备linux命令大全
- Unity3D RectTransform中文教程详细用法分析
- 粗读《Python 深度学习》(7)
- 如何做一个基于JAVA餐厅座位预定系统毕业设计毕设作品(springboot框架)
- 苏州协鑫发力创新 抢占新能源产业制高点
热门文章
- 物理太难?这些虚拟动图,让你看懂物理
- 雨雪出行伴侣,优质PVC时尚鞋套,防滑/防水更耐磨
- 程序员找不到对象是因为还没遇到一个有远见的丈母娘
- Oracle小知识总结
- php7 不是有效的32位,Win7系统安装软件提示“不是有效的win32应用程序”怎么办?...
- 西电计算机应用基础 一,15秋西电《计算机应用基础(一)》在线作业答案解析.doc...
- pixel android8,谷歌Pixel 2更多信息:安卓8.1
- okcoinapi开发代码_比特币程序化交易入门(5):WebSocket API
- c语言字符串倒置,单词倒置,用C++实现,将一句话里的单词进行倒置的方法详解
- floatmap 二维数组_用J中的多维数组进行Arrays.fill