SMU Summer 2024 Contest Round 2

[ABC357C] Sierpinski carpet - 洛谷 | 計算機科學教育新生態 (luogu.com.cn)

思路:通過因為圖形的生成過程是完全一樣的。可以通過遞歸,不斷分形。函數process(x,y,k)定義為以坐標(x,y)為左上角,填充sqrt3(k)級的地毯。

int n;
int c[800][800];        默認全為0,  0對應'.'  1對應'#'
void process(int x,int y,int k){      填充左上角為x,y的sqrt3(k)級地毯if(k==0) {c[x][y]=1;  base casereturn;}int t=k/3;process(x,y,t);process(x,y+t,t);process(x,y+t*2,t);process(x+t,y,t);//process(x+t,y+t,t);  留白process(x+t,y+t*2,t);process(x+t*2,y,t);process(x+t*2,y+t,t);process(x+t*2,y+t*2,t);
}
[ABC357C] Sierpinski carpet
https://www.luogu.com.cn/problem/AT_abc357_c
void solve(){           補A--遞歸 分型  "好題"  要清楚是怎么'跳躍',分型的,bask case是什么cin>>n;int t=pow(3,n);process(1,1,t);for(int i=1;i<=t;i++){for(int j=1;j<=t;j++){if(c[i][j]) cout<<"#";else cout<<".";}cout<<endl;}
}
//    ######### ######### #########
//    #.##.##.# #.##.##.# #.##.##.#
//    ######### ######### #########
//    ###...### ###...### ###...###
//    #.#...#.# #.#...#.# #.#...#.#
//    ###...### ###...### ###...###
//    ######### ######### #########
//    #.##.##.# #.##.##.# #.##.##.#
//    ######### ######### #########
//
//    ######### ......... #########
//    #.##.##.# ......... #.##.##.#
//    ######### ......... #########
//    ###...### ......... ###...###
//    #.#...#.# ......... #.#...#.#
//    ###...### ......... ###...###
//    ######### ......... #########
//    #.##.##.# ......... #.##.##.#
//    ######### ......... #########
//
//    ######### ######### #########
//    #.##.##.# #.##.##.# #.##.##.#
//    ######### ######### #########
//    ###...### ###...### ###...###
//    #.#...#.# #.#...#.# #.#...#.#
//    ###...### ###...### ###...###
//    ######### ######### #########
//    #.##.##.# #.##.##.# #.##.##.#
//    ######### ######### #########

[ABC325D] Printing Machine - 洛谷 | 計算機科學教育新生態 (luogu.com.cn)

思路:寫的有點迷糊的貪心題。顯而易見的是,在L相同的情況下,肯定是先選擇R更小的。

所以可以把輸入按照L從小到大排列,依次處理,L相同的 按L+R從小到大排列。之后怎么處理呢?

一秒一秒枚舉時間是不可能的。但是可以知道的是,中間有很多間隔是沒意義的。

那么可以從time=1開始,把開始時間L與當前時間一樣的的物品的右區間放入優先隊列中。之后一個一個取。直到隊列為空。要注意的是!當且僅當隊列為空時,才判斷time跳躍到下一個區間的開始時間L。不然的話可能優先隊列里面還有物品,并且時間大于time。仍然可以取,但是因為提前跳躍了,導致沒取到。

int n;
pair<int,int> arr[200005];
//multiset<pair<int,int>> mst;
畫個時間區間軸。
[ABC325D] Printing Machine
https://www.luogu.com.cn/problem/AT_abc325_d
void solve(){               補D--貪心 "好題"  太頭疼了這個題。。cin>>n;for(int i=1;i<=n;i++) {cin>>arr[i].first>>arr[i].second;arr[i].second=arr[i].first+arr[i].second;}sort(arr+1,arr+n+1);     按l從小到大排序,l相等的話,按l+r從小到大排序.priority_queue<int,vector<int>,greater<int>> pq;int ans=0,idx=1,time=1;while(idx<=n||pq.size()){//if(arr[idx].first!=time&&idx<=n) time=arr[idx].first;   這個代碼會導致直接跳過很多if(pq.size()==0&&idx<=n) time=arr[idx].first;while(idx<=n&&arr[idx].first==time) {pq.emplace(arr[idx++].second);}while(pq.size()&&pq.top()<time) pq.pop();if(pq.size()) ans++,pq.pop();time++;}cout<<ans;
}
//的確是貪心,但是策略不對
//優先選晚結束或者早結束的貪心策略都不對:hack:
//expect:4   answer:3
//key:這個樣例的問題是怎么處理在第三秒時候的選擇.也是這題的關鍵.
5
1 3 [1,4] 1s
1 3 [1,4] 2s
1 3 [1,4] 3s
2 1 [2,3]
2 1 [2,3]

?[ABC299E] Nearest Black Vertex - 洛谷 | 計算機科學教育新生態 (luogu.com.cn)

?思路:這個題不難出思路,也不難實現。注意細節即可。

o(k*n)預處理出每個pi滿足約束時需要成為黑點的候選點mayBlack[pi]。同時記錄不可能成為黑點的點notBlack.即在di范圍內的點。
最后遍歷每一個候選點的mayBlack[pi],排除不可能的點。如果某一個mayBlack[pi]里的點都是不可能的點notBlack,那么No,否則Yes.

yes的時候直接把所有非notBlack的點涂黑即可。

int n,m,k;
vector<int> vct[2005];
vector<int> mark,mayBlack[2005];
unordered_map<int,bool> notBlack;
思路:--AC
o(k*n)預處理出每個pi需要成為黑點的候選點。同時記錄不可能成為黑點的點.即在di范圍內的點。
最后遍歷每一個候選點,排除不可能的點。如果某一個mayBlack[pi]里的點都是不可能的點,那么No,否則Yes.
[ABC299E] Nearest Black Vertex  ---全1,不能用01bfs
https://www.luogu.com.cn/problem/AT_abc299_e
void bfs(int s,int d){int dis[2005]={0};queue<int> que;que.emplace(s);while(que.size()){int cur=que.front();que.pop();notBlack[cur]=true;for(auto v:vct[cur]){if(dis[v]!=0||v==s) continue;dis[v]=dis[cur]+1;if(dis[v]!=d) que.emplace(v);else mayBlack[s].emplace_back(v);}}
}
void solve(){       E  至少有一個頂點被涂成黑色。。cin>>n>>m;for(int i=1;i<=m;i++){int u,v; cin>>u>>v;vct[u].emplace_back(v);vct[v].emplace_back(u);}cin>>k;for(int i=1;i<=k;i++){      o(k*n)int p,d; cin>>p>>d;mark.emplace_back(p);if(d==0) mayBlack[p].emplace_back(p);else bfs(p,d);}bool check=true;for(auto mk:mark){                  o(k*n)int cnt=0;for(auto mb:mayBlack[mk]){if(notBlack[mb]) cnt++;}if(cnt==mayBlack[mk].size()) check=false;if(!check) break;}if(check){           notBlack.size()==n也是可以的cout<<"Yes"<<endl;for(int i=1;i<=n;i++) {if(notBlack[i]) cout<<"0";else cout<<"1";}}else cout<<"No"<<endl;
}

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

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

相關文章

【雜說咋說】近年來國土空間規劃行業人員轉行分析

這幾年&#xff0c;國土空間規劃行業的人員流動引起了不少關注。我們可以從幾個方面來看這些變化&#xff1a; 考公務員 許多從事國土空間規劃的專業人員選擇了考公務員。這種選擇相對穩定&#xff0c;不需要熬夜加班&#xff0c;工作環境也更為舒適。尤其是進入國家機關或住…

POSIX互斥鎖和條件變量

一.概述 1.POXIS介紹 POXIS是一種操作系統接口標準&#xff0c;全稱為“可移植操作系統接口”。 它最初由IEEE組織制定&#xff0c;目的是為了使不同的操作系統之間可以互相兼容。POSIX標準定義了一系列API&#xff08;應用程序接口&#xff09;和命令行工具&#xff0c;這些…

Mybatis核心問題總結

對MyBatis源碼的理解 ORM框架&#xff1a;CRUD操作 1。SQL解析&#xff1a; 映射文件、注解--》映射器解析 XMLMapperBuilder MapperAnnotationBuilder 2。SQL執行: SqlSession 接口--》Executor --》 SimpleExecutor ReuseExecutor 【Statement--JDBC】 3。結果映射&…

Go語言---Json

JSON (JavaScript Object Notation)是一種比XML 更輕量級的數據交換格式&#xff0c;在易于人們閱讀和編寫的同時&#xff0c;也易于程序解析和生成。盡管JSON是 JavaScript的一個子集&#xff0c;但 JSON采用完全獨立于編程語言的文本格式&#xff0c;且表現為鍵/值對集合的文…

【大模型LLM面試合集】大語言模型架構_layer_normalization

2.layer_normalization 1.Normalization 1.1 Batch Norm 為什么要進行BN呢&#xff1f; 在深度神經網絡訓練的過程中&#xff0c;通常以輸入網絡的每一個mini-batch進行訓練&#xff0c;這樣每個batch具有不同的分布&#xff0c;使模型訓練起來特別困難。Internal Covariat…

【C++高階】高效數據存儲:理解并模擬實現紅黑樹Map與Set

&#x1f4dd;個人主頁&#x1f339;&#xff1a;Eternity._ ?收錄專欄?&#xff1a;C “ 登神長階 ” &#x1f921;往期回顧&#x1f921;&#xff1a;了解 紅黑樹 &#x1f339;&#x1f339;期待您的關注 &#x1f339;&#x1f339; ?模擬實現Map與Set &#x1f4d2;1.…

js ES6 part1

聽了介紹感覺就是把js在oop的使用 作用域 作用域&#xff08;scope&#xff09;規定了變量能夠被訪問的“范圍”&#xff0c;離開了這個“范圍”變量便不能被訪問&#xff0c; 作用域分為&#xff1a; 局部作用域、 全局作用域 1. 函數作用域&#xff1a; 在函數內部聲明的…

爬取天氣數據,利用Pyecharts作輪播圖

爬取網站鏈接&#xff1a;https://lishi.tianqi.com/xiamen/202312.html 爬取了廈門市2023年一整年的天氣數據&#xff0c;包括最高溫&#xff0c;最低溫&#xff0c;天氣&#xff0c;風力風向等 爬蟲代碼&#xff1a; import requests import pandas as pd import csv from…

UML建模案例分析-時序圖和類圖的對應關系

概念 簡單地說&#xff0c;類圖定義了系統中的對象&#xff0c;時序圖定義了對象之間的交互。 例子 一個電子商務系統&#xff0c;會員可通過電子商務系統購買零件。具體功能需求如下&#xff1a; 會員請求結賬時&#xff0c;系統驗證會員的賬戶是否處于登錄狀態&#xff1…

極狐GitLab 17.0 重磅發布,100+ DevSecOps功能更新來啦~【三】

GitLab 是一個全球知名的一體化 DevOps 平臺&#xff0c;很多人都通過私有化部署 GitLab 來進行源代碼托管。極狐GitLab &#xff1a;https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中國的發行版&#xff0c;專門為中國程序員服務。可以一鍵式部署…

【基礎篇】1.8 C語言基礎(二)

2.9 預處理指令和宏定義 在STM32開發中,預處理和宏定義常用于配置硬件參數、啟用或禁用特定功能、以及優化代碼以適應不同的硬件配置或應用場景。通過合理地使用預處理和宏定義,我們可以編寫更加靈活、可配置和高效的代碼。 預處理指令如#include、#define等在C語言編程中起…

防火墻圖形化界面策略和用戶認證(華為)

目錄 策略概要認證概要實驗拓撲圖題目要求一要求二要求三要求四要求五要求六 策略概要 安全策略概要&#xff1a; 安全策略&#xff08;Security Policy&#xff09;在安全領域具有雙重含義。宏觀上&#xff0c;安全策略指的是一個組織為保證其信息安全而建立的一套安全需求、…

uniapp 微信小程序接入MQTT

MQTT安裝 前期準備 由于微信小程序需要wss&#xff0c;所以要有域名SSL證書 新建目錄/srv/mosquitto/config&#xff0c;/srv/mosquitto/config/cert 目錄/srv/mosquitto/config中新建配置文件mosquitto.conf&#xff0c;文件內容 persistence true persistence_location /m…

深入探索Apache Flink:流處理的藝術與實踐

在當今的大數據時代&#xff0c;流處理已成為處理實時數據的關鍵技術。Apache Flink&#xff0c;作為一個開源的流處理框架&#xff0c;以其高吞吐量、低延遲和精確一次&#xff08;exactly-once&#xff09;的語義處理能力&#xff0c;在眾多流處理框架中脫穎而出。本文將深入…

在樹莓派設備上導出系統鏡像

鏡像導出 前提條件&#xff1a; 已獲取可以正常使用的設備。已獲取鼠標、鍵盤和電源適配器。已將設備接入可正常使用的網絡。 操作步驟&#xff1a; 連接適配器給設備上電&#xff0c;正常啟動設備&#xff0c;連接鼠標和鍵盤。在終端命令窗格執行如下命令&#xff0c;安裝…

數據模型-ER圖在數據模型設計中的應用

ER圖在數據模型設計中的應用 1. ER圖概述&#xff1a;起源與發展? 實體-關系圖&#xff08;Entity Relationship Diagram&#xff0c;簡稱ER圖&#xff09;起源于1970年代&#xff0c;由Peter Chen首次提出&#xff0c;作為描述數據和信息間關系的圖形化語言。隨著數據庫技術…

[PM]流程與結構設計

流程圖 流程就是為了達到特定目標, 進行的一系列有邏輯性的操作步驟, 由兩個及已上的步驟, 完成一個完整的行為過程, 即可稱為流程, 流程圖就是對這個過程的圖形化展示 分類 業務流程圖 概念: 描述業務流程的一種圖, 通過特定符號和連線表示具體某個業務的處理步驟和過程作…

MyBatis與JDBC相比,有哪些優勢

MyBatis與JDBC&#xff08;Java Database Connectivity&#xff09;相比&#xff0c;在多個方面展現出顯著的優勢。這些優勢使得MyBatis在現代軟件開發中成為一個非常受歡迎的選擇&#xff0c;特別是在處理數據庫交互時。以下是MyBatis相比JDBC的主要優勢&#xff1a; 1. 簡化…

極狐GitLab亮相世界人工智能大會,開啟開源大模型賦能軟件研發新時代

GitLab 是一個全球知名的一體化 DevOps 平臺&#xff0c;很多人都通過私有化部署 GitLab 來進行源代碼托管。極狐GitLab &#xff1a;https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中國的發行版&#xff0c;專門為中國程序員服務。可以一鍵式部署…

285個地級市-胡煥庸線數據

全國285個地級市-胡煥庸線數據.zip資源-CSDN文庫 胡煥庸線&#xff1a;中國人口與生態的分界線 胡煥庸線&#xff0c;一條在中國地理學界具有劃時代意義的分界線&#xff0c;由著名地理學家胡煥庸于1935年提出。這條線從黑龍江省的璦琿&#xff08;現黑河市&#xff09;延伸至…