Codeforces 2021 C Those Who Are With Us

[Problem?Discription]\color{blue}{\texttt{[Problem Discription]}}[Problem?Discription]

給定一個 n×mn \times mn×m 的表格 ai,ja_{i,j}ai,j?,你可以恰好進行一次如下操作:

  1. 選擇一個格點 (r,c)(r,c)(r,c)
  2. 對于所有滿足 i=ri=ri=r 或者 j=cj=cj=c 的格點 (i,j)(i,j)(i,j),使 ai,j←ai,j?1a_{i,j} \leftarrow a_{i,j}-1ai,j?ai,j??1

求操作后所有格點最大值最小可能為多少。

多組數據,滿足 1≤n×m≤1×1051 \leq n \times m \leq 1 \times 10^{5}1n×m1×105,且所有數據的 n×mn \times mn×m 的總和不超過 2×1052 \times 10^{5}2×105

[Analysis]\color{blue}{\texttt{[Analysis]}}[Analysis]

記原來矩陣的最大值為 ttt,顯然由于只能進行一次操作,且一次操作最多讓一個格點的值減小 111,所以最終答案要么是 ttt,要么是 (t?1)(t-1)(t?1)

思考哪些情況會讓答案為 (t?1)(t-1)(t?1)

顯然,當所有取得最大值的格點要么分布在第 rrr 行要么分布在第 ccc 列時,我們可以通過一次操作 (r,c)(r,c)(r,c) 把所有最大值都干掉;否則答案為 ttt 不變。

統計每一行每一列有多少個最大值,分別記為 cntri,cntcj\text{cntr}_{i},\text{cntc}_{j}cntri?,cntcj?,顯然第 iii 行和第 jjj 列的最大值的個數即為:

f(i,j)=cntri+cntcj?[ai,j=max?1≤i≤n,1≤j≤m{ai,j}]f(i,j)=\text{cntr}_{i}+\text{cntc}_{j}- \left [a_{i,j}=\max\limits_{1 \leq i \leq n, 1 \leq j \leq m} \{a_{i,j} \}\right ]f(i,j)=cntri?+cntcj??[ai,j?=1in,1jmmax?{ai,j?}]

顯然預先統計出最大值的個數 cnt\text{cnt}cnt,如果某個格點 (i,j)(i,j)(i,j) 滿足 f(i,j)=cntf(i,j)=\text{cnt}f(i,j)=cnt,那么這個 (i,j)(i,j)(i,j) 就是我們需要的格點。

Code\color{blue}{\text{Code}}Code

const int N=1e5+100;int OneZDoubleY(){int n=read(),m=read();vector<int> a[n+2];for(int i=1;i<=n;i++){a[i].push_back(0);for(int j=1;j<=m;j++)a[i].push_back(read());}int maxn=a[1][1];for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)ckmax(maxn,a[i][j]);int cnt=0;vector<int> cntr(n+1),cntc(m+1);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if (a[i][j]==maxn){++cntr[i];++cntc[j];++cnt;}bool flag=false;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){int t=cntr[i]+cntc[j];if (a[i][j]==maxn) t--;if (t==cnt){flag=true;break;}}return printf("%d\n",flag?maxn-1:maxn);
}
//大家可以挑戰一下不用 vector,用 malloc 來處理int main(){int T=read();while (T--) OneZDoubleY();return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/87517.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/87517.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/87517.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

chrome插件合集

最近一段時間呢(不到一年)&#xff0c;實現了大概二十幾個chrome插件。很多人不知道的是&#xff0c;其實開發插件很解壓&#xff0c;就好像是我喜歡沿著公園的小路散步一樣&#xff0c;每開發一個插件帶給我的成就感和快樂都是獨特的。我依然記得自己開發出第1個插件時的快樂&…

【機器學習深度學習】模型微調的基本概念與流程

目錄 前言 一、什么是模型微調&#xff08;Fine-tuning&#xff09;&#xff1f; 二、預訓練 vs 微調&#xff1a;什么關系&#xff1f; 三、微調的基本流程&#xff08;以BERT為例&#xff09; 1?? 準備數據 2?? 加載預訓練模型和分詞器 3?? 數據編碼與加載 4?…

大語言模型預訓練數據——數據采樣方法介紹以GPT3為例

大語言模型預訓練數據——數據采樣方法介紹以GPT3為例一、數據采樣核心邏輯二、各列數據含義一、數據采樣核心邏輯 這是 GPT - 3 訓練時的數據集配置&#xff0c;核心是非等比例采樣——不按數據集原始大小分配訓練占比&#xff0c;而是人工設定不同數據集在訓練中被抽取的概率…

針對同一臺電腦,為使用不同 SSH Key 的不同用戶分別設置 Git 遠程倉庫憑據的操作指南

一、準備工作 生成多對 SSH Key 為每個用戶&#xff08;如“個人”、“公司”&#xff09;生成一對獨立的 SSH Key。 示例&#xff08;在 Git Bash 或 Linux 終端中執行&#xff09;&#xff1a; # 個人 ssh-keygen -t rsa -b 4096 -C "personalexample.com" -f ~/.…

【V5.0 - 視覺篇】AI的“火眼金睛”:用OpenCV量化“第一眼緣”,并用SHAP驗證它的“審美”

系列回顧&#xff1a; 在上一篇 《給AI裝上“寫輪眼”&#xff1a;用SHAP看穿模型決策的每一個細節》 中&#xff0c;我們成功地為AI裝上了“透視眼鏡”&#xff0c;看穿了它基于數字決策的內心世界。 但一個巨大的問題暴露了&#xff1a;它的世界里&#xff0c;還只有數字。 它…

Open3D 基于最大團(MAC)的點云粗配準

MAC 一、算法原理1、原理概述2、實現流程3、總結二、代碼實現三、結果展示博客長期更新,本文最新更新時間為:2025年7月1日。 一、算法原理 1、原理概述 最大團(Maximal Cliques, MAC)法在點云配準中的應用,是近年來解決高離群值(outlier)和低重疊場景下配準問題的重要…

Science Robotics發表 | 20m/s自主飛行+避開2.5mm電線的微型無人機!

從山火搜救到災后勘察&#xff0c;時間常常意味著生命。分秒必爭的任務要求無人機在陌生狹窄環境中既要飛得快、又要飛得穩。香港大學機械工程系張富教授團隊在Science Robotics(2025)發表論文“Safety-assured High-speed Navigation for MAVs”提出了微型無人機的安全高速導航…

【數據分析】如何在PyCharm中高效配置和使用SQL

PyCharm 作為 Python 開發者的首選 IDE&#xff0c;其 Professional 版本提供了強大的數據庫集成功能&#xff0c;讓開發者無需切換工具即可完成數據庫操作。本文將手把手教你配置和使用 PyCharm 的 SQL 功能。 一、安裝和配置 PyCharm 老生常談&#xff0c;第一步自然是安裝并…

OpenShift AI - 使用 NVIDIA Triton Runtime 運行模型

《OpenShift / RHEL / DevSecOps 匯總目錄》 說明&#xff1a;本文已經在 OpenShift 4.18 OpenShift AI 2.19 的環境中驗證 文章目錄 準備 Triton Runtime 環境添加 Triton Serving Runtime運行基于 Triton Runtime 的 Model Server 在 Triton Runtime 中運行模型準備模型運行…

物聯網數據安全區塊鏈服務

物聯網數據安全區塊鏈服務 下面是一個專為物聯網數據安全設計的區塊鏈服務實現&#xff0c;使用Python編寫并封裝為RESTful API。該服務確保物聯網設備數據的不可篡改性、可追溯性和安全性。 import hashlib import json import time from datetime import datetime from uui…

數據集-目標檢測系列- 卡車 數據集 truck >> DataBall

數據集-目標檢測系列- 卡車 數據集 truck &#xff1e;&#xff1e; DataBall貴在堅持&#xff01;* 相關項目1&#xff09;數據集可視化項目&#xff1a;gitcode: https://gitcode.com/DataBall/DataBall-detections-100s/overview2&#xff09;數據集訓練、推理相關項目&…

vue/微信小程序/h5 實現react的boundary

ErrorBoundary react的boundary實現核心邏輯無法處理的情況包含函數詳細介紹getDerivedStateFromError和componentDidCatch作用為什么分開調用 代碼實現&#xff08;補充其他異常捕捉&#xff09;函數組件與useErrorBoundary&#xff08;需自定義Hook&#xff09; vue的boundar…

Day113 切換Node.js版本、多數據源配置

切換Node.js版本 1.nvm簡介nvm(Node Version Manager)&#xff0c;在Windows上管理Node.js版本&#xff0c;可以在同一臺電腦上輕松管理和切換多個Node.js版本 nvm下載地址&#xff1a;https://github.com/coreybutler/nvm-windows/2.配置nvm安裝之后檢查nvm是否已經安裝好了&a…

應急響應靶機-linux2-知攻善防實驗室

題目&#xff1a; 1.提交攻擊者IP2.提交攻擊者修改的管理員密碼(明文)3.提交第一次Webshell的連接URL(http://xxx.xxx.xxx.xx/abcdefg?abcdefg只需要提交abcdefg?abcdefg)4.提交Webshell連接密碼5.提交數據包的flag16.提交攻擊者使用的后續上傳的木馬文件名稱7.提交攻擊者隱藏…

新手前端使用Git(常用命令和規范)

發一篇文章來說一下前端在開發項目的時候常用的一些git命令 注&#xff1a;這篇文章只說最常用的&#xff0c;最下面有全面的 一&#xff1a;從git倉庫拉取項目到本地 1&#xff1a;新建文件夾存放項目代碼 2&#xff1a;在git上復制一下項目路徑&#xff08;看那個順眼復制…

【面試題】常用Git命令

【面試題】常用Git命令1. 常用Git命令1. 常用Git命令 1.git clone git clone https://gitee.com/Blue_Pepsi_Cola/straw.git 2.使用-v選項&#xff0c;可以參看遠程主機的網址 git remote -v origin https://ccc.ddd.com/1-java/a-admin-api.git (fetch) origin https://ccc.…

Webpack構建工具

構建工具系列 Gulp構建工具Grunt構建工具Webpack構建工具Vite構建工具 Webpack構建工具 構建工具系列前言一、安裝打包配置webpack安裝樣式加載器devtoolwebpack devtool 配置詳解常見 devtool 值及適用場景選擇建議性能影響注意事項 module處理流程module.rulesmodule.usemod…

重學前端002 --響應式網頁設計 CSS

文章目錄 css 樣式特殊說明 根據在這里 Freecodecamp 實踐&#xff0c;調整順序后做的總結。 css 樣式 body {background-color: red; # 跟background-image 不同時使用background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg);font-family: san…

RabbitMQ簡單消息監聽和確認

如何監聽RabbitMQ隊列 簡單代碼實現RabbitMQ消息監聽 需要的依賴 <!--rabbitmq--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId><version>x.x.x</version>&l…

Docker學習筆記:Docker網絡

本文是自己的學習筆記 1、Linux中的namespace1.1、創建namespace1.2、兩個namespace互相通信2、Docker中的namespace2.1 容器中的默認Bridge3、容器的三種網絡模式1、Linux中的namespace Docker中使用了虛擬網絡技術&#xff0c;讓各個容器的網絡隔離。好像每個容器從網卡到端…