牛客周賽round91

C

若序列為1 4 5 7 9 1 2 3,1 + 9一定大于1 + 1或1 + 4...所以只需要記錄當前數之前數字的最大值,然后遍歷取max即可,所以對于上面的序列有效的比較為1 + 9,2 + 9,3 + 9取max

代碼

//求大于當前數的最大值,然后取min即可
#include<bits/stdc++.h>using namespace std;const int N = 2e5 + 10;
int a[N], mi[N];int T, n;
int main()
{cin >> T;while(T -- ){int ans = -1;cin >> n;for(int i = 1; i <= n; i ++){cin >> a[i], mi[i] = max(a[i], mi[i - 1]);}for(int i = n; i >= 1; i --){if(mi[i - 1] > a[i])ans = max(ans, mi[i - 1] + a[i]);}//for(int i = 1; i <= n; i ++) cout << mi[i] << ' ';if(ans == -1) cout << "0" << endl;else cout << ans << endl;}return 0;
}

D

排序后尋找連續自然數的段數,答案就是段數-1
注意,當出現1?3 3 3 3?5 6 7,雖然自然數的段數為3,但是第二個段3 3 3 3前后都無絕對值之差為1的自然數,那么3 3 3 3的內部就需要互相連接才能保證與前后兩個段內的數進行互相連通,則答案為3(段數)?+ 3(內部相連) - 1(三段只需要兩條邊即可互相連通)
對于1 ?3 4 4 4?6 7,其中的每一個4都可以借助3與1進行互相連通,也可以借助最后一個4與6進行互相連通

代碼:

#include<bits/stdc++.h>using namespace std;//選用map的好處,可以記錄當前數字的個數,也等于變相去重
map<int, int> mp;
int t;
int n;void solve()
{cin >> n;mp.clear();for(int i = 0; i < n; i ++){int x;cin >> x;mp[x] ++;}int ans = -1;for(auto & t : mp){int x = t.first, y = t.second;if(mp[x - 1] == 0)//當前數的前一個數不存在,則為一個單獨的段,答案+1{ans ++;if(mp[x - 1] == 0 && mp[x + 1] == 0)//前后都不存在,則該數字內部需要互相連通ans += y - 1;}}cout << ans << endl;
}int main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);cin >> t;while(t -- )solve();return 0;
}

E

四種情況

1、只有兩行全為1
2、只有兩列全為1
3、一行一列全為1且交叉點為0
4、全為0

對上面四種情況分類討論即可,列出了一些簡單樣例

代碼:

#include<bits/stdc++.h>using namespace std;const int N = 1050;
int t;
map<int, int> mpx, mpy;//記錄每行以及每列中1的個數
int a[N][N];void solve()
{int n, m, ans = 0;memset(a, 0, sizeof a);mpx.clear(), mpy.clear();cin >> n >> m;for(int i = 0; i < n; i ++){string ch;//注意輸入格式,每行輸入為字符串cin >> ch;for(int j = 0; j < ch.size(); j ++){a[i][j] = (ch[j] == '1'? 1: 0);if(a[i][j]){ans ++;//記錄總體1的個數mpx[i] ++, mpy[j] ++;}}}bool st = true, sti = false, stj = false, stij = false;//若有兩行滿足全為1int mx = 0, my = 0, mxy = 0;for(int i = 0; i < n; i ++) if(mpx[i] == m)mx ++;//只有僅有兩行全為1時才滿足條件,則此時所有1的個數應等于兩行1的個數sti = (mx == 2 && mx*m == ans ? true : false);//若有兩列滿足全為1for(int j = 0; j < m; j ++)if(mpy[j] == n)my ++;stj = (my == 2 && my*n == ans ? true : false);//同理int cnt = 0;//記錄一行一列時1的個數for(int i = 0; i < n; i ++)for(int j = 0; j < m; j ++){if(a[i][j] == 1) st = false;if(mpx[i] == m - 1 && mpy[j] == n - 1 && a[i][j] == 0){mxy ++;cnt += mpx[i] + mpy[j];}}//僅有一行一列滿足,無其他情況stij = (mxy == 1 && cnt == ans? true : false);//四類滿足一種即可if(sti || stj || stij || st) puts("YES");else puts("NO");return;
}int main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);cin >> t;while(t -- )solve();return 0;
}

f等待補題ing

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

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

相關文章

【MCAL】TC397+EB-tresos之I2c配置實戰(同步、異步)

I2C總線是Philips公司在八十年代初推出的一種串行、半雙工的總線&#xff0c;主要用于近距離、低速的芯片之間的通信。本篇文章首先從理論講起&#xff0c;介紹了英飛凌TC3x系列芯片對應MCAL中對I2C驅動的定義與介紹&#xff0c;建議讀者在閱讀本篇文章之前對I2C有個簡單的認識…

深拷貝與淺拷貝:理解 Python 中的對象復制機制

深拷貝與淺拷貝&#xff1a;理解 Python 中的對象復制機制 在 Python 編程中&#xff0c;對象的復制是一個常見的操作。然而&#xff0c;很多初學者在處理對象復制時會遇到困惑&#xff0c;尤其是在涉及到復雜數據結構&#xff08;如列表、字典、自定義對象等&#xff09;時。…

BeanPostProcessor和AOP

BeanPostProcessor Spring中有一個接口Oredr的getOrder()方法&#xff0c;這個方法返回值是一個int類型&#xff0c;Spring容器會根據這個方法的返回值 對容器的多個Processor對象從小到大排序&#xff0c;創建Bean時候依次執行他們的方法&#xff0c;也就是說getOrder()方法的…

拒絕服務攻擊(DoS/DDoS/DRDoS)詳解:洪水猛獸的防御之道

在數字時代&#xff0c;服務的可用性是衡量一個在線系統成功與否的關鍵指標之一。然而&#xff0c;存在一類被稱為"拒絕服務攻擊" (Denial of Service, DoS) 的網絡攻擊&#xff0c;其主要目的就是通過各種手段耗盡目標服務器或網絡的資源&#xff0c;使其無法響應正…

小剛說C語言刷題—1078求恰好使s=1+1/2+1/3+…+1/n的值大于X時n的值

1.題目描述 求恰好使 s11/21/3?1/n 的值大于 X 時 n 的值。( 2≤x≤10 ) 輸入 輸入只有一行&#xff0c;包括 1個整數 X 。 輸出 輸出只有一行&#xff08;這意味著末尾有一個回車符號&#xff09;&#xff0c;包括 1 個整數。 樣例 輸入 2 輸出 4 2.參考代碼(C語言…

深度學習中的目標檢測:從 PR 曲線到 AP

深度學習中的目標檢測&#xff1a;從 PR 曲線到 AP 在目標檢測任務中&#xff0c;評估模型的性能是非常重要的。通過使用不同的評估指標和標準&#xff0c;我們可以量化模型的準確性與效果。今天我們將重點討論 PR 曲線&#xff08;Precision-Recall Curve&#xff09;、平均精…

MySQL 1366 - Incorrect string value:錯誤

MySQL 1366 - Incorrect string value:錯誤 錯誤如何發生發生原因&#xff1a; 解決方法第一種嘗試第二種嘗試 錯誤 如何發生 在給MySQL添加數據的時候發生了下面的錯誤 insert into sys_dept values(100, 0, 0, 若依科技, 0, 若依, 15888888888, ryqq.com, 0,…

[ctfshow web入門] web70

信息收集 使用cinclude("php://filter/convert.base64-encode/resourceindex.php");讀取的index.php error_reporting和ini_set被禁用了&#xff0c;不必管他 error_reporting(0); ini_set(display_errors, 0); // 你們在炫技嗎&#xff1f; if(isset($_POST[c])){…

Linux在web下http加密和配置虛擬主機及動態頁面發布

web服務器的數據加密 1.簡介&#xff1a;由于http協議以明文方式發送&#xff0c;不提供任何方式的數據加密&#xff0c;也不適合傳輸一些重要的信息&#xff0c;如銀行卡號、密碼等&#xff0c;解決該缺陷設計了安全套接字層超文本傳輸協議https&#xff1b; 2.https的握手流…

uni-app,小程序中的addPhoneContact,保存聯系人到手機通訊錄

文章目錄 方法詳解簡介 基本語法參數說明基礎用法使用示例平臺差異說明注意事項最佳實踐 方法詳解 簡介 addPhoneContact是uni-app框架提供的一個實用API&#xff0c;用于向系統通訊錄添加聯系人信息。這個方法在需要將應用內的聯系人信息快速保存到用戶設備通訊錄的場景下非…

NHANES稀有指標推薦:HALP score

文章題目&#xff1a;Associations of HALP score with serum prostate-specific antigen and mortality in middle-aged and elderly individuals without prostate cancer DOI&#xff1a;10.3389/fonc.2024.1419310 中文標題&#xff1a;HALP 評分與無前列腺癌的中老年人血清…

【django.db.utils.OperationalError: unable to open database file】

解決platform.sh 環境下&#xff0c;無法打開數據庫問題 場景 在platform.sh 執行python manage.py createsuperuser是提示 django.db.utils.OperationalError: unable to open database file 錯誤 原因 由于settings.py文件中 本地數據庫配置在線上配置后&#xff0c;導致…

【前端分享】CSS實現3種翻頁效果類型,附源碼!

使用 css 可以實現多種翻頁效果&#xff0c;比如書本翻頁、卡片翻轉等。以下是兩種常見的翻頁效果實現&#xff1a; 效果 1&#xff1a;書本翻頁效果 通過 transform 和 rotateY 實現 3D 翻頁效果。 html 結構 <divclass"book"> <divclass"page pa…

【部署滿血Deepseek-R1/V3】大型語言模型部署實戰:多機多卡DeepSeek-R1配置指南

大家好&#xff01;這里是迪小莫學AI&#xff0c;今天的文章是“”大型語言模型部署實戰&#xff1a;多機多卡DeepSeek-R1配置指南“” 前言 隨著大型語言模型的快速發展&#xff0c;如何高效部署這些模型成為技術團隊面臨的重要挑戰。本文將分享基于DeepSeek-R1模型的多機多…

IPM IMI111T-026H 高效風扇控制板

概述&#xff1a; REF-MHA50WIMI111T 是一款專為風扇驅動設計的參考開發板&#xff0c;搭載了英飛凌的IMI111T-026H iMOTION?智能功率模塊(IPM)。這個模塊集成了運動控制引擎(MCE)、三相柵極驅動器和基于IGBT的功率級&#xff0c;全部封裝在一個緊湊的DSO22封裝中。REF-MHA50…

Linux 阻塞和非阻塞 I/O 簡明指南

目錄 聲明 1. 阻塞和非阻塞簡介 2. 等待隊列 2.1 等待隊列頭 2.2 等待隊列項 2.3 將隊列項添加/移除等待隊列頭 2.4 等待喚醒 2.5 等待事件 3. 輪詢 3.1 select函數 3.2 poll函數 3.3 epoll函數 4. Linux 驅動下的 poll 操作函數 聲明 本博客所記錄的關于正點原子…

互聯網SQL面試題:用戶會話時長分析

這是一個基于用戶點擊信息進行會話時長分析的案例&#xff0c;常見于互聯網 App 使用分析。 問題描述 用戶的訪問記錄存儲在 user_access 表中&#xff0c;包含用戶編號&#xff08;user_id&#xff09;以及訪問時間&#xff08;access_time&#xff09;等信息。以下是一個示…

前端取經路——現代API探索:沙僧的通靈法術

大家好,我是老十三,一名前端開發工程師。在現代Web開發中,各種強大的API就像沙僧的通靈法術,讓我們的應用具備了超乎想象的能力。本文將帶你探索從離線應用到實時通信,從多線程處理到3D渲染的九大現代Web API,讓你的應用獲得"通靈"般的超能力。 在前端取經的第…

window 顯示驅動開發-AGP 類型伸縮空間段

AGP 類型的伸縮空間段類似于線性光圈空間段。 但是&#xff0c;內核模式顯示微型端口驅動程序&#xff08;KMD&#xff09;不會通過 AGP 類型的伸縮空間段公開 dxgkDdiBuildPagingBuffer 回調函數的DXGK_OPERATION_MAP_APERTURE_SEGMENT和DXGK_OPERATION_UNMAP_APERTURE_SEGMEN…

從零開始學習three.js(15):一文詳解three.js中的紋理映射UV

1. UV 映射基礎概念 1.1 什么是 UV 坐標&#xff1f; 在三維計算機圖形學中&#xff0c;UV 坐標是將二維紋理映射到三維模型表面的坐標系統。UV 中的 U 和 V 分別代表2D紋理空間的水平&#xff08;X&#xff09;和垂直&#xff08;Y&#xff09;坐標軸&#xff0c;與三維空間…