集訓04-06 (c++實現)

極力推薦《算法筆記》這本書!!!
極力推薦《算法筆記》這本書!!!
極力推薦《算法筆記》這本書!!!
(重要的事情說三遍)
數據結構和算法講的很好,反正我能想到的問題它都給我了答案,代碼中使用c++容器和算法恰到好處,使得代碼通俗易懂并且容易實現,不至于陷于c++的語言細節中,只學過c語言的同學請放心食用,每個代碼平均就3-4行用到c++。數據結構除了樹與圖要自己實現以外其他c++都給予實現,同時樹與圖中的廣度遍歷經常要使用到隊列(qutue),直接調用qutue就可以,如果使用數組模擬隊列實在是勸退。反正《算法競賽入門經典》把我勸退了,(沒有看完不多評價)
我的代碼用c++的特性比較多,不過這些特性真的很好用啊
集訓隊練習04
7-1 旅游記 //這題考了圖的最短路徑,我使用了Floyd算法

#include<bits/stdc++.h>
using namespace std;
int main()
{int a, b, x, y, z, n, m;while (cin >> a >> b){int c[10 + 1][10 + 1];for (int i = 1; i <= a; ++i){for (int j = 1; j <= a; ++j)c[i][j] = 20 + 1;}for (int item = 0; item < b; ++item){cin >> x >> y >> z;c[x][y] = z;c[y][x] = z;}for (int k = 1; k <= a; ++k)//Floyd算法只有短短7行,詳情算法筆記for (int i = 1; i <= a; ++i)for (int j = 1; j <= a; ++j){if (c[i][k] + c[k][j] < c[i][j])c[i][j] = c[i][k] + c[k][j];}cin >> n >> m;if (c[n][m] == 20 + 1){cout << "unreachable"<<endl;}else{cout << c[n][m]<<endl;}}}

7-2 大眾評委大作戰

#include<bits/stdc++.h>
using namespace std;
int main()
{int a, c, flag = 0;vector<int>B;while (cin >> a){for(int i=0;i<a;++i){cin>>c;B.push_back(c);}sort(B.begin(), B.end());B.erase(unique(B.begin(), B.end()), B.end());cout << B.size() << endl;for (auto j : B){if (flag == 1)cout << ' ';cout << j;flag = 1;}cout<<endl;B.clear();flag = 0;}}

集訓隊練習05
7-1 找數字

#include<bits/stdc++.h>
using namespace std;
using namespace std;
int main()
{int a, b, c;int count = 0;while (cin >> a >> b >> c){for (int i = a; i <= b; ++i){string n = to_string(i);for (auto j : n){if ((j - '0') == c)++count;}}cout << count << endl;count = 0;}}

7-2 統計相同數字的個數

#include<bits/stdc++.h>
using namespace std;
int main()
{map<int, int>A;int b, c;cin >> c;for(int j=0;j<c;++j){cin >> b;A[b]++;}for (auto i : A){cout << i.first << ' ' << i.second << endl;}}

7-1 大數計算
大數計算是經常出現在競賽題目中的一種情況,c++的實現是用到的字符串string

#include<bits/stdc++.h>
using namespace std;
int main()
{int a, flag = 0, len, count = 0, item, d = 0;int m = 0, count2 = 0;vector<string>B;string c, sum;while (cin >> a){while (cin >> c){B.push_back(c);if (c == string("0"))++m;if (m == a)break;}for (auto j : B){if (flag == 0){sum = j;flag = 1;continue;}if (j != string("0")){if (sum.size() < j.size())swap(sum, j);len = sum.size() - j.size();j = string(len, '0') + j;for (int k = sum.size() - 1; k >= 0; k--){item = sum[k] - '0' + j[k] - '0' + d;if (item > 9){sum[k] = item - 10 + '0';d = 1;}else{sum[k] = item + '0';d = 0;}}if (d == 1){sum = string("1") + sum;d = 0;}}else{if (count != 0)cout << "\n\n";cout << sum;flag = 0;count = 1;}}count = 0;flag = 0;B.clear();m = 0;++count2;cout << endl;}
}

7-2 集訓隊測試成績管理

#include<bits/stdc++.h>
using namespace std;
int main()
{int a, b, item;int n, m;char l;vector<int>C;while (cin >> a){cin >> b;for (int i = 0; i < a; ++i){cin >> item;C.push_back(item);}for (int j = 0; j < b; ++j){cin >> l >> n >> m;if (l == 'U'){C[n - 1] = m;}else{cout << *max_element(C.begin() + (n - 1), C.begin() + m) << endl;}}C.clear();}}

7-3 集訓隊測試成績管理(1000ms)//7-2,7-3代碼一樣

#include<bits/stdc++.h>
using namespace std;
int main()
{int a, b, item;int n, m;char l;vector<int>C;while (cin >> a){cin >> b;for (int i = 0; i < a; ++i){cin >> item;C.push_back(item);}for (int j = 0; j < b; ++j){cin >> l >> n >> m;if (l == 'U'){C[n - 1] = m;}else{cout << *max_element(C.begin() + (n - 1), C.begin() + m) << endl;}}C.clear();}}

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

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

相關文章

數字簽名和數字信封之間的介紹

介紹 公鑰密碼體制在實際應用中包含數字簽名和數字信封兩種方式 數字簽名 指用戶用自己的【私鑰】對原始數據的哈希摘要進行加密所得的數據。數字簽名定義兩種互補的運算&#xff1a;一個用于簽名&#xff0c;另一個用于驗證。"私鑰簽名,公鑰驗證"簽名&#xff1a;…

Linux學習筆記(三)

參考書籍&#xff1a;Linux就該怎么學 3 管道符、重定向與環境變量 3.1.1 輸入輸出重定向 ? 標準輸入重定向&#xff08;STDIN&#xff0c;文件描述符為 0&#xff09;&#xff1a;默認從鍵盤輸入&#xff0c;也可從其他文件或命令中輸入。 ? 標準輸出重定向&#xff08;STDO…

windows版本的clion軟件除了使用wsl配置Ubuntu子系統外,還可以使用MinGW-w64來配置gcc和g++

主要內容 MinGW-w64安裝CMake安裝環境配置參考鏈接 MinGW-w64安裝配置 安裝配置分為在線版本和離線版本&#xff0c;推薦使用離線版本&#xff0c;因為在線版本很慢&#xff0c;需要插入網線進行操作參考鏈接 這個是百度云下載地址&#xff0c;相對于從官網下載速度稍微快一些…

python學習路線

自用 Task1: 如果對一個列表&#xff0c;既要遍歷索引又要遍歷元素時&#xff0c;首先可以這樣寫&#xff1a; list1 ["這", "是", "一個", "測試"] for i in range (len(list1)):print i ,list1[i]#上述方法有些累贅&#xff0c…

解決使用MinGW編譯C++代碼報cannot find -lxxxx的問題

報錯的截圖如下面所示 我一開始使用target_link_libraries(ThreadTest libsdf_core.dll)這條命令來將dll庫文件和項目文件關聯起來&#xff0c;但是解決不了問題也嘗試在編譯代碼的環境時候&#xff0c;將dll庫文件的絕對路徑加入到編譯環境中&#xff0c;但是也沒有用解決辦法…

Linux搭建深度學習環境使用指南

本文檔歸納不收悉的linux知識點&#xff0c;自用 終端美化&#xff1a;https://zhuanlan.zhihu.com/p/37195261&#xff08;unix終端通用&#xff09; 基礎linux命令&#xff1a;https://blog.csdn.net/q357010621/article/details/80248611 shell是什么&#xff1f;shell是一…

CLion 輸出遇到亂碼解決辦法,GBK和utf-8的轉換

具體操作 File -> Settings -> Default Settings -> Editor -> File Encodings:Global Encoding: UTF-8Project Encoding : UTF-8Default encoding for properties files: UTF-8 圖片展示 然后&#xff0c;在main.cpp右下角選擇語言編碼格式為GBK&#xff0c;在彈…

Vim使用方法歸納

編輯模式i 0 &#xff1a;光標移至行首d0 : 刪除到行首$ &#xff1a;光標移至行尾D/d$ : 刪除到行尾dd &#xff1a; 刪除當前行yy/nyy : 復制當前行/復制n行p/P &#xff1a; 粘貼&#xff08;vim中刪除是剪切&#xff0c;可以刪除后用p粘貼&#xff09;u &#xff1a; 撤回…

區塊鏈中涉及到密碼學的場景

區塊鏈中涉及到密碼學的場景 共識算法&#xff08;Consensus algorithm&#xff09;交易簽名&#xff08;Signing transaction)第二層網絡如何在第一層網絡中驗證&#xff08;Layer2’s verification on Layer1&#xff09;驗證跨鏈交易&#xff08;Verifying the cross chain…

epoll 轉kqueue的用法介紹和實例 實現跨平臺Macos

網上關于kqueue的博客很少 我來補充一個例子echo 的例子 #include <stdlib.h> #include <unistd.h> #include <fcntl.h> #include <errno.h> #include <string.h> #include<stdio.h> #include<arpa/inet.h> #include<sys/event.…

區塊鏈中的密碼學,使用ABE結合區塊鏈

ABE 密碼學&#xff0c;以及與區塊鏈結合的價值 背景 區塊鏈技術具備篡改難度高、使用成本低、分布式的優點&#xff0c;本應成為各行各業的重要助力。但是由于鏈上參與方擔心自己的核心數據外泄&#xff0c;不愿將自己的核心數據上鏈&#xff0c;這個原因成為阻止區塊鏈落地…

VMware虛擬機安裝Ubuntu系統教程

所使用的文件如下&#xff1a; VMware Workstation 17 Pro ubuntu-22.04.3-desktop-amd64.iso 一、ubuntu 命名規則及各版本一覽表 1.ubuntu 命名規則&#xff1a; 例如&#xff1a;ubuntu 16.04 LTS 是長期維護版本&#xff1b;ubuntu 17.04 是新特性版本 前兩位數字為發…

C++靜態類型成員變量的初始化順序(單例模式)

對編譯器來說&#xff0c;靜態成員變量的初始化順序和析構順序是一個未定義的行為 #include <string> #include <iostream> using namespace std; class Base{ public:static int b;static int a;}; int Base::b 2; int Base::a b 1;int main() {Base base;cou…

區塊鏈中密碼學與安全技術

區塊鏈的定義 區塊鏈的定義&#xff0c;應當是&#xff1a;區塊鏈是一種按照時間順序將數據進行分布式存儲的塊鏈式數據結構&#xff0c;它利用共識機制進行數據驗證&#xff0c;利用密碼學進行數據保護和用戶安全訪問&#xff0c;利用智能合約來操作數據&#xff0c;從而成為…

面經:服務器相關

阻塞IO 當你去讀一個阻塞的文件描述符時&#xff0c;如果在該文件描述符上沒有數據可讀&#xff0c;那么它會一直阻塞(通俗一點就是一直卡在調用函數那里)&#xff0c;直到有數據可讀。當你去寫一個阻塞的文件描述符時&#xff0c;如果在該文件描述符上沒有空間(通常是緩沖區)…

如何用區塊鏈保障數據安全和承載數據確權

區塊鏈可以確保數據安全&#xff0c;體現在那些方面呢&#xff1f; 主要是兩個維度&#xff0c;一是數據的不可篡改性&#xff1b;另外一個就是數據的隱私安全性。區塊鏈技術本身并不解決任何的安全問題&#xff0c;因此需要搭配安全技術一起使用&#xff0c;比如非對稱加密、…

面經:單例模式

侯捷單例 和劍指不同 &#xfffc; 餓漢式 餓漢式的特點是一開始就加載了&#xff0c;如果說懶漢式是“時間換空間”&#xff0c;那么餓漢式就是“空間換時間”&#xff0c;因為一開始就創建了實例&#xff0c;所以每次用到的之后直接返回就好了。餓漢式有兩種常見的寫法&…

屬性加密技術及基于屬性的ABE算法的訪問控制技術介紹

屬性加密技術 基于身份的加密體制簡介 基于身份的加密體制可以看作一種特殊的公鑰加密&#xff0c;它有如下特點:系統中用戶的公鑰可以由任意的字符串組成。這些字符串可以是用戶在現實中的身份信息&#xff0c;如:身份證號碼、用戶姓名、電話號碼、Email地址等&#xff0c;因…

面經:http協議

總結HTTPS傳輸過程 客戶端先從服務器獲取到證書&#xff0c;證書中包含公鑰 客戶端將證書進行校驗 客戶端生成一個對稱密鑰&#xff0c;用證書中的公鑰進行加密&#xff0c;發送給服務器 服務器得到這個請求后用私鑰進行解密&#xff0c;得到該密鑰 客戶端以后發出后續的請求&…

基于屬性加密的ABE算法的應用場景思考展望

ABE算法先前使用在云計算場景中&#xff0c;和區塊鏈存在交叉應用場景&#xff0c;具體問題體現在 數據的異地存儲、云服務器提供商的不可信、管理員能否對自身數據擁有足夠的控制能力以及如何保證數據的安全有效共享都是亟需解決的問題。 研究背景&#xff1a; 云計算越來越…