2021牛客多校第三场 B——Black and white

基于STM32的电子时钟设计 基于STM32的电子时钟设计1、设计目的2、设计具体要求3、proteus仿真图4、程序代码 1、设计目的 (1)掌握使用KEIL MDK5进行软件开发的具体流程; (2)掌握硬件电路的设计方法; (3)掌握STM32微控制器的程序设计及代码编写方法。 2、设计具体要求 (1)通过STM32自带的实时时钟功能获取时间信息; (2)在OLED显示屏上显示日期、时、分、秒等时间信息; (3)通过按键可对时间信息进行修改; (4)具有闹钟设定功能; (5)加分项:自行增加其他功能。 3、proteus仿真图 4 阅读详情

题目大意

给你一个 n×mn \times mn×m 的矩形,每填一个格子都有一个花费,当你把一个矩形四个角中任意三个角填上了,另外一个角自动填上,问你最小花费是多少

解题思路

首先我们肯定是从花费小的开始填,我们可以维护一个并查集。当一个点被填上之后,把这个点所在的行列都加入到一个并查集中。当我们要填一个点的时候,如果这个点的行列在同一个并查集中,说明这个点是可以自动被填上的。

Code

#include <bits/stdc++.h>
#define ll long long
#define qc ios::sync_with_stdio(false); cin.tie(0);cout.tie(0)
#define fi first
#define se second
#define PII pair<int, int>
#define PLL pair<ll, ll>
#define pb push_back
using namespace std;
const int MAXN = 5007;
const int inf = 0x3f3f3f3f;
const ll INF = 0x3f3f3f3f3f3f3f3f;
const ll mod = 1e9 + 7;
inline int read()
{
    int x=0,f=1;char ch=getchar();
    while (!isdigit(ch)){if (ch=='-') f=-1;ch=getchar();}
    while (isdigit(ch)){x=x*10+ch-48;ch=getchar();}
    return x*f;
}
vector<PII> v[100007];
int n, m, a, b, c, d, p;
int fa[MAXN << 2];
void init(){
	for(int i = 0; i <= MAXN * 2; i++){
		fa[i] = i;
	}
}
int find(int x){
	return x == fa[x] ? x : fa[x] = find(fa[x]);
}
void merge(int x, int y){
	x = find(x);
	y = find(y);
	if(x != y)
		fa[y] = x;
}
void solve(){
    cin >> n >> m >> a >> b >> c >> d >> p;
	ll cost = a;
	init();
	int cnt = 0;
	for(int i = 1; i <= n; ++i)
		for (int j = 1; j <= m; ++j){
			cost = ((1ll * cost * cost % p * b % p + 1ll * c * cost % p) % p + d) % p;
			v[cost].pb({i, j+n});
		}
	ll ans = 0;
	for(int i = 0; i <= p; i++){
		for(auto [x, y] : v[i]){
			if(find(x) == find(y))
				continue;
			merge(x, y);
			ans += i;
		}
	}
	cout << ans << endl;
}

int main()
{
    #ifdef ONLINE_JUDGE
    #else
       freopen("in.txt", "r", stdin);
       freopen("out.txt", "w", stdout);
    #endif

    qc;
    int T;
    // cin >> T;
    T = 1;
    while(T--){

        solve();
    }
    return 0;
}

模拟IC实战—30天精通Sigma-delta(Σ-Δ) ADC 行为级建模与仿真 本文为模拟IC工程师提供了一套为期30天的Sigma-delta ADC行为级建模与仿真实战指南。文章深入浅出地阐释了Sigma-delta ADC如何通过过采样和噪声整形两大核心技术实现高精度转换,并重点演示了如何使用Python从零搭建一阶和二阶调制器模型,进行性能仿真与关键指标分析,为后续电路级设计提供清晰的性能预算和架构指导。 阅读详情

相关推荐

UE5新手必看:Gameplay框架中的GameInstance与子系统实战指南(含蓝图配置)

本文为UE5新手提供了Gameplay框架中GameInstance与子系统的实战指南。文章深入解析了GameInstance作为全局数据中枢的核心作用与生命周期,并手把手演示了如何创建自定义GameInstance、构建模块化的子系统(如存档管理),以实现跨关卡的持久数据管理。指南旨在帮助开发者构建清晰、可维护的项目架构,解决数据管理混乱的常见痛点。

weixin_29015801的博客 574

2021牛客暑期多校训练营3 B Black and white(可做板子)

题意翻译如下: Goodeat 有一个白色的棋盘,有 n 行和 m 列。 每个网格 (i, j) 都有一个权重 c(i, j)。 在任何时候,网格 (i, j) 都可以以 c(i, j) 为代价染成黑色。 Goodeat 有一种特殊的才能。 对于任意两行两列的四个相交的正方形,如果其中三个是黑色正方形,Goodeat可以免费将第四个正方形染成黑色。 请找出染色黑色棋盘的最低成本。 由于网格较多,我们采用以下方法生成权重: A0 = 一个 A(i+1) = (Ai * Ai * b + Ai * c + d)

lcl1234567890lcl的博客 186

Google AdSense收款前必做:W-8BEN税务认证的3个关键选择与1个提交时机小技巧

本文深入解析Google AdSense收款前必须完成的W-8BEN税务认证,重点介绍账号类型选择、特殊税率勾选、美国活动界定等3个关键决策,并分享提交时机的小技巧,帮助站长高效通过审核,确保广告收入顺利到账。

weixin_30443731的博客 671

2021牛客多校3 - Black and white(思维+最小生成树)

题目链接:点击查看 题目大意:给出一个 n∗mn*mn∗m 的矩阵,初始时都是白色,可以花费掉 cost[i][j]cost[i][j]cost[i][j] 将格子 (i,j)(i,j)(i,j) 染黑,也可以通过魔法选择两行 x1,x2x1,x2x1,x2 和两列 y1,y2y1,y2y1,y2,如果标记中的四个点有三个点是黑色的,那么第四个点可以直接被染黑 问矩阵被染黑的最小贡献 题目分析:比赛的时候分析出来只需要选择 n+m−1n+m-1n+m−1 个点就可以满足条件了,但是没有思考出来这些点之间的关

Falcon的博客 520

新手避坑指南:用COMSOL Multiphysics仿真气体放电(汤逊vs.流注)

本文详细介绍了使用COMSOL Multiphysics仿真气体放电的实战指南,涵盖汤逊理论和流注模型的实现方法。通过对比两种放电模型的关键参数和物理场配置,帮助新手避免常见错误,准确预测气体击穿过程。文章还提供了工程应用案例,如高压绝缘子设计优化,展示了仿真技术在电力设备绝缘设计中的实际价值。

weixin_28716181的博客 472

UE4免费资产库新玩法:Quixel Bridge插件安装与Megascans资源导入全攻略

本文详细介绍了如何在UE4中安装Quixel Bridge插件并导入Megascans资源,帮助开发者快速获取高质量3D资产。通过分步教程和实用技巧,提升游戏或影视场景的制作效率,特别适合需要真实感环境的项目。

weixin_27729671的博客 364

2021牛客暑期多校训练营3 B Black and white

B Black and white 题目链接: 第三场B题 题目大意: 用题目所给算法给你一个矩阵,将一个点涂黑的花费为该点上的值,如果一个2*2的区域内已经有了三个位置被涂黑,涂黑第四个位置不需要代价,问涂黑整个矩阵的最小代价。 题解: 可以证明涂黑整个矩阵只需要首先涂黑n+m-1个点,当然这n+m-1个点需要达到某种条件,即任意一个点所在的行和列都存在被涂黑的点。 以下几个图符合条件: 如果直接对于矩阵来思考最小值比较困难,不如换个思路: 可以用矩阵来表示两个点连边的代价(如p[i][j]=k表

qq_52402041的博客 533

Navcat最新版的激活和安装教程(全网最靠谱,最快捷的方式)

现在最新版本navcat已经出到了16.3了,并且新版navcat也支持连接redis和图标等更多样化的功能,但是比较头疼的一件事就是,只能试用14天。那么接下来小编教大家如何用最简单的方式使用最新版navcat16.

weixin_50737119的博客 2万+

2021牛客暑期多校训练营3 B Black and white prim 思维+最小生成树

题意 给你一个n∗mn*mn∗m的矩阵,每个矩阵有一个权值,当一个正方形中三个点均已涂黑后,第四个点可免费涂黑,问将所有点涂黑所需的最小花费。 分析 所有点涂黑相当于将每行和每列均相连,c[i][j]=wc[i][j]=wc[i][j]=w相当于从iii行走到jjj列所花费权值为www,建图跑primprimprim最小生成树即可。 代码 #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pai

weixin_45765224的博客 313

OV5640调试大坑,关于binning、RES分辨率与EV曝光

OV5640在使用binning模式时,必须考虑使用场景,分辨率下降叠加动态范围压缩,会使目标对象细节在高光环境下大量丢失,2x2的binning模式,分辨率会远低于感光面积的1/4。

chongyun_的专栏 1824

SAP PI 系统复制,不只是把数据库拷过去,而是一次集成拓扑的重新落位

文章摘要:SAP PI/PO系统刷新生产数据到测试环境时,标准系统复制无法自动处理集成中枢特有的环境绑定问题。系统复制后,PI仍保留生产环境的连接配置,可能导致测试系统向生产环境发送消息。SAP提供的CTC模板可自动化部分后续配置,但无法替代人工对接口风险的全面评估。关键在于系统复制前绘制接口风险地图,复制后进行分层次验证:禁用生产连接、重定向测试接口、复核安全配置,并通过代表性链路测试确保系统行为符合预期。这需要结合SAP标准流程与业务语义判断,形成完整的治理闭环。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 82

2021牛客多校赛第三场

传送门 A B水题 C二分图根据坐标x,y建图 D E水题 F恶心人的模拟 G H I J摆烂同色三角形模型 C(计算几何) 题意:给定一个n×n的矩形,有m个指定的空位需要放置非负整数,给定所有数字的最大值k,再给出每一行的最大值bi(是指你需要将这一行最大的那个数保证为bi),每一列的最大值ci,求矩阵中所放置数字和的最小值 前要:先讲一个比这简单的问题,给你n*m的棋盘,给定某些行某些列,你需要保证这些行列上存在至少一个棋子,同时你只能在指定的k个位置安放棋子。保证有解的情况下问你最少需要多少个棋子

weixin_44588874的博客 341

利用 IP 中的集成调试功能来调试 PCI Express 链接训练问题

JTAG Debugger”和“In-system IBERT”功能结合在一起即可提供即时信息,用于判断链接训练问题的可能原因。“test_rd.tcl”文件可读取 BRAM 中存储的调试数据,并输出 *.dat 文件,如下所示。同样,您可能看到某一箭头旁的数字较大,表明可能存在不稳定的链接。要采集 PCIe 链接眼图,请在 IP 配置 GUI 的“Add. Debug Options”选项卡中选择“启用 In-System IBERT (Enable In-System IBERT)”选项。

qq_43416206的博客 533

2021牛客暑期多校训练营3 B-Black and white(思维+最小生成树)

B-Black and white 效仿codeforces1012 B. Chemical table(并查集+思维),只不过边带权,是的n+m个点联通,显然就是求最小生成树。 Code1 Kruskal O(n2log⁡n2)O(n^2\log n^2)O(n2logn2) #include<bits/stdc++.h> using namespace std; using ll=long long; template <class T=int> T rd() { T r

Fighting_Peter的博客 358

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

2021牛客暑期多校训练营3-B(Black and white)

原题链接 过程详解 kruskal #include <iostream> #include <algorithm> using namespace std; typedef long long ll; const int N = 3e7 + 10; const int M = 5010; struct Node{ int x, y; // x, y坐标 ll v; // 权值 bool operator < (const Node &

多思考🤔~ 467

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

2021牛客暑期多校训练营3

2021牛客暑期多校训练营3 文章目录2021牛客暑期多校训练营3B: [Black and white](https://ac.nowcoder.com/acm/contest/11254/B)解释代码C:[Minimum grid](https://ac.nowcoder.com/acm/contest/11254/C)解释代码E: [Math](https://ac.nowcoder.com/acm/contest/11254/E)解释代码F:[24dian](https://ac.nowcoder.

qq_45604735的博客 184

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

2021牛客暑期多校训练营3 B_Black and white

原题传送门:B_Black and white Prim 算法理解及模板: 传送门 本题大佬详解(思路及Kruskal方法):传送门 本题队友大佬详解及坑(Prim方法): 传送门 题目大意: 一个 n∗mn*mn∗m 的全白的棋盘,每个格子都有一个权值,涂黑需花费权值。Goodeat 有一个技能,棋盘中任意一个矩形的三个格子涂黑后,则第四个格子无需花费权值就能涂黑。问最少花费多少权值。 思路: 列举几种方案后,可以发现当每行每列的格子中都有一个涂黑时,在棋盘中就可以构成四个角为三白一黑的矩阵,而这种.

m0_46626543的博客 249

CF1626E Black and White Tree 题解

CF1626E Black and White Tree 题解

MEGA_V的博客 693

White and Black Balls 题解

我终于会 catalancatalancatalan 了hh。 link 题意:有 nnn 个白球, mmm 个蓝球,将这些球排成一排,记 wiw_iwi​ 表示 [1,i][1, i][1,i] 的白球的个数, bib_ibi​ 表示 [1,i][1, i][1,i] 的蓝球的个数,要求 ∀wi<bi+k\forall w_i < b_i + k∀wi​<bi​+k。 我们考虑 m<n+km < n + km<n+k 的情况 将 WWW 操作当做 (x,y)→(x+

C2022lihan的博客 488

Black and white(巧妙转换,思维,最小生成树)2021牛客暑期多校训练营3

2021牛客暑期多校训练营3 B. Black and white 题意: ​ 给一个矩阵,根据游戏规则去涂色,让求最小权值和。 复盘: ​ 要求权值和最小,即使要涂色的格子数最小,根据规则较容易推出对于 n*m 的矩阵,需要 n+m-1 格子涂色,分别是每行对应一个格子,每列对应一个格子,减去重复的一个(例如:将第一列和第一行先涂色,n+m-1 个格子,那么剩下格子都会免费被涂色) ​ 比赛时推出 n+m-1 这个结论就十分happy,直接去打了一个先遍历选出每一行的最小值(并打上标记),再在剩下的遍历去

yezzz的博客 331

牛客多校三 B Black and white

牛客多校三 B Black and white 在n*m的棋盘上,每个格子有一个数,初始可以选一定的格子标记为黑色,在任意2 * 2的格子当中,如果有三个格子已经是黑色的了,那么剩下的一个可以自动染黑。问选哪些格子初始标记为黑色,可以使最终整个棋盘变为黑色的同时,选择的格子数字之和最小。 数据范围n, m <= 5000, a, b, c, d, p用于格子中的数字生成。 也是一个思维题,转化成一个最小生成树。 在拿到题时候可以发现,至少要选择一行和一列,可以让整个棋盘都变为黑色。不过不一定是要一

qq_39523236的博客 233

2021牛客暑期多校训练营3 - B - Black and white( 最小生成树 )

题目链接:点击进入 题目 题意 全白色的 n * m 的表格,每个位置表格都有一个涂黑所需的价值 c ( i , j ) ,对于任意的 两行 与 两列 所相交的四个表格(四个交点),若是其中三个是黑色的,则第四个可以被免费涂黑。问将所有表格涂黑所需的最小代价。 思路 可以画一下矩形,对于矩形的四个顶点就相当于四条线的四个交点,观察这四个点可以看出,他们的 x 与 y 相互联系,若是任意去除其中一个顶点,则原来的 x 与 y 还是互相联系,但是若是任意去除两个顶点,则原来的 x 与 y 必然有断开联系的。

Cosmic_Tree的博客 272

2021牛客暑期多校训练营3 B.Black and white 最小生成树

原题链接:https://ac.nowcoder.com/acm/contest/11254/B 目录题意分析Code 题意 你需要将n*m的矩阵全部变成黑色(初始为白色),每个点都有一个花费,并且如果任意一个矩阵的三个顶点为黑,那么剩下那个顶点自动变黑,问最小的花费。 分析 根本就没往图这方面想,题目还是具有很大的欺骗性。如果自己手画一下的话,很容易发现其实最少只要涂n+m-1个点就可以了,再与行和列联系一下,不就是以行列为点的最小生成树吗? 我们再仔细分析一下,如果(x1,y1)(x2,y2)(x1,y

kaka03200的博客 200

2021牛客暑期多校训练营3 B Black and white 最小生成树 + 思维

传送门 文章目录题意:思路: 题意: 思路: 对于每个数的位置(i,j)(i,j)(i,j),如果将这个位置染黑,那么我们连一个i−>j+ni->j+ni−>j+n的边,可以发现我们的操作不影响连通性。如果想要全部染黑等价于将其变成联通图。 所以跑一遍最小生成树即可,用克鲁斯卡尔的话需要桶排。 // Problem: Black and white // Contest: NowCoder // URL: https://ac.nowcoder.com/acm/contest/11254

m0_51068403的博客 267

Black and white -2021牛客暑期多校训练营3

经过仔细地观察题目,我们可以发现当我们取矩阵中任意一个点时,我们都会得到这一列和这一行的贡献,故能够想到把每次获得的行列加入一个集合,若集合中包含了所有的行列说明我们一定可以构建出这个矩阵。 下面是克鲁斯卡尔的代码 #include "bits/stdc++.h" //#define int long long using namespace std; const int N = 6e3+10; int fa[N<<1]; struct node{ int x,y,v; } f[N*N

weixin_45509601的博客 181

Black And White

In mathematics, the four color theorem, or the four color map theorem, states that, given any separation of a plane into contiguous regions, producing a figure called a map, no more than four colors a...

zhengde152的博客 1576
上一篇: 2021杭电多校第二场 1004——I love counting
下一篇: dfs序与树链剖分
Linda_yezi_coder
博客等级 码龄7年 20粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值