3.27學習總結 算法題

自己用c語言做的,不盡如意

后面看了題解,用的是c++,其中string 變量和字符串拼接感覺比c方便好多,可以用更少的代碼實現更好的效果,打算之后去學習c++,用c++寫算法。

遞歸,不斷輸入字符,若遇到[,則輸入解壓次數k,重新調用函數,將[中的]字符串重復k次,加在總字符串后,遇到]就返回總字符串,否則將字符加在總字符串尾。

#include<iostream>
using namespace std;
string yunqian() {int k;char ch;string s = "", str = "";while (cin >> ch) {if (ch == '[') {cin >> k;str = yunqian();while (k--) {s += str;}}else if (ch == ']') {return s;}else {s += ch;}}return s;
}
int main()
{   string s=yunqian();cout << s;return 0;
}

遞推,

對于2*n的墻,當其還剩最后一列沒鋪時,用發a[n-1]表示,豎著鋪2*1的磚即可鋪滿;

當其還剩最后一列沒鋪時,用發a[n-1]表示,橫著著鋪兩個2*1的磚即可鋪滿;

當其還剩最后一列和倒數第二列的一個沒鋪時,用b[n-2]表示,

可以拆掉一塊三單元的磚,使其變成a[n-3];

也可以拆掉一塊橫向2*1的磚,使其變為b[n-3];

得到公式:

a[i] = a[i - 1] + a[i - 2]d + 2 * b[i - 2];
b[i] = a[i - 1] + b[i - 1];

#include <iostream>
using namespace std;
int a[1000005],b[1000005];
int mod = 10000;
int main()
{int n;cin >> n;a[0] = 1;b[0] = 0;a[1] = 1;b[1] = 1;for (int i = 2; i <= n; i++) {a[i] = ((a[i - 1] + a[i - 2])%mod + 2 * b[i - 2]%mod)%mod;b[i] = (a[i - 1] + b[i - 1])%mod;}cout <<a[n];return 0;
}

水題,用結構體確保可以正確輸入序號,為了使等待時間最短,將節水時間按從小到大排序,可得,對于第i個人,等待時間為n-乘以Ti,保留兩位小數

#include <iostream>
using namespace std;
struct {int d;int i;
}a[1006],t;
int main()
{int n;double sum = 0;cin >> n;for (int i = 1; i <= n; i++) {cin >> a[i].d;a[i].i = i;}for (int i = 1; i <= n - 1; i++) {for (int j = 1+i; j <= n; j++) {if (a[i].d > a[j].d) {t = a[i];a[i] = a[j];a[j] = t;}}}for (int i = 1; i <= n; i++) {sum += (n - i)*a[i].d;}sum /= n;for (int i = 1; i <= n; i++) {cout << a[i].i<<" ";}cout << "\n";printf("%0.2f", sum);return 0;
}

貪心:

從1到n-1遍歷循環,若這個盒子和下一個盒子的糖果之和大于x,則 將下個盒子的糖果吃到x顆

之后就可以成功的報錯了

需要注意特殊情況,對第一個盒子單獨判斷,若里面的糖果數量大于x,吃掉其中糖果,直到剩下x顆糖,從二開始循環就可以ac了。

#include <iostream>
using namespace std;
int main()
{int n,x;int a[100005];long long sum = 0;cin >> n;cin >> x;cin >> a[1];if (a[1] > x) {sum += a[1] - x;a[1] = x;}for (int i = 2; i <= n; i++) {cin >> a[i];}for (int i = 1; i <= n - 1; i++) {while (a[i] + a[i + 1] > x) {sum += a[i] + a[i + 1] - x;a[i + 1] = x - a[i];}}cout << sum;
}

用結構體數組存儲每場比賽的開始時間與結束時間,將數組按照結束時間升序排列。

現在的時間初始為零,從前往后循環數組,若開始時間大于等于現在的時間,則現在的時間等于這場比賽的結束時間,參加的比賽加一。

#include <iostream>
#include <algorithm>
using namespace std;
int n, t, num;
struct node{int l;int r;
}a[1000006];
bool cmp(node a, node b) {return a.r < b.r;
}
int main()
{cin >> n;for (int i = 1; i <= n; i++) {cin >> a[i].l>> a[i].r;}sort(a+1, a + n+1,cmp);for (int i = 1; i <= n; i++) {if (a[i].l >= t) {t = a[i].r;num++;}}cout << num;return 0;}

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

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

相關文章

vue 圖片放大到全局

背景&#xff1a; 在vue項目中&#xff0c;el-image組件圖片組件用于展示圖片&#xff0c;組件自帶的屬性preview-teleported&#xff0c;設置為true可以控制圖片放大到全局 實現效果&#xff1a; 核心代碼&#xff1a; //圖片地址&#xff1a;BASEUrl /file/ item.file //這…

【商城實戰(75)】數據分析指標體系搭建:從0到1的技術指南

【商城實戰】專欄重磅來襲&#xff01;這是一份專為開發者與電商從業者打造的超詳細指南。從項目基礎搭建&#xff0c;運用 uniapp、Element Plus、SpringBoot 搭建商城框架&#xff0c;到用戶、商品、訂單等核心模塊開發&#xff0c;再到性能優化、安全加固、多端適配&#xf…

seatunnel配置mysql2hive

SeaTunnel安裝教程 # 執行流程 # 下載&#xff0c;解壓 # https://mirrors.aliyun.com/apache/seatunnel/2.3.8/?spma2c6h.25603864.0.0.2e2d3f665eBj1E # https://blog.csdn.net/taogumo/article/details/143608532 tar -zxvf apache-seatunnel-2.3.8-bin.tar.gz -C /opt/mo…

SSH項目負載均衡中的Session一致性解決方案?

SSH項目負載均衡中的Session一致性解決方案? 1. 粘性會話&#xff08;Session Sticky&#xff09;?2. Session復制&#xff08;集群同步&#xff09;?3. 集中式Session存儲?4. 客戶端存儲&#xff08;Cookie加密&#xff09;?方案選型建議?注意事項? 1. 粘性會話&#x…

MySQL 表連接(內連接與外連接)

&#x1f3dd;?專欄&#xff1a;Mysql_貓咪-9527的博客-CSDN博客 &#x1f305;主頁&#xff1a;貓咪-9527-CSDN博客 “欲窮千里目&#xff0c;更上一層樓。會當凌絕頂&#xff0c;一覽眾山小。” 目錄 1、表連接的核心概念 1.1 為什么需要表連接&#xff1f; 2、內連接&a…

解鎖Spring Boot異步編程:讓你的應用“飛“起來!

引言&#xff1a;從點餐說起 &#x1f354; 想象你在快餐店點餐&#xff1a; 同步模式&#xff1a;排隊等餐&#xff0c;隊伍越來越長&#xff08;就像卡死的服務器&#xff09;異步模式&#xff1a;拿號后去旁邊坐著等&#xff08;服務員喊號通知你&#xff09; 今天我們就…

做一個有天有地的css及html畫的旋轉陰陽魚

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>天地陰陽</title><style>/* 重置默認樣…

ngx_http_core_main_conf_t

定義在 src\http\ngx_http_core_module.h typedef struct {ngx_array_t servers; /* ngx_http_core_srv_conf_t */ngx_http_phase_engine_t phase_engine;ngx_hash_t headers_in_hash;ngx_hash_t variables_hash;…

計算機二級(C語言)考試高頻考點總匯(二)—— 控制流、函數、數組和指針

目錄 六、控制流 七、函數 八、數組和指針 六、控制流 76. if 語句可以&#xff08;嵌套&#xff09;&#xff0c; if 語句可以嵌套在另一個 if 語句內部&#xff0c;形成&#xff08;嵌套的條件判斷結構&#xff09;&#xff0c;用于處理更復雜的條件判斷邏輯。 77. els…

WebRTC協議全面教程:原理、應用與優化指南

一、WebRTC協議概述 **WebRTC&#xff08;Web Real-Time Communication&#xff09;**是一種開源的實時通信協議&#xff0c;支持瀏覽器和移動應用直接進行音頻、視頻及數據傳輸&#xff0c;無需插件或第三方軟件。其核心特性包括&#xff1a; P2P傳輸&#xff1a;點對點直連…

使用 WSL + Ubuntu + Go + GoLand(VSCode) 開發環境配置指南

1. 安裝和配置 WSL 與 Ubuntu 啟用 WSL 功能(以管理員身份運行 PowerShell): wsl --install 或手動啟用: dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachi…

element-plus中,Tour 漫游式引導組件的使用

目錄 一.Tour 漫游式引導組件的簡單介紹 1.作用 2.基本使用 3.展示效果 二.實戰1&#xff1a;介紹患者病歷表單 1.要求 2.實現步驟 3.展示效果 結語 一.Tour 漫游式引導組件的簡單介紹 1.作用 快速了解一個功能/產品。 2.基本使用 從官網復制如下代碼&#xff1a; &…

39-Ajax工作原理

1. 簡明定義開場 “AJAX(Asynchronous JavaScript and XML)是一種允許網頁在不重新加載整個頁面的情況下&#xff0c;與服務器交換數據并更新部分網頁內容的技術。它通過JavaScript的XMLHttpRequest對象或現代的Fetch API實現異步通信。” 2. 核心工作原理 "AJAX的工作…

Python 爬蟲案例

以下是一些常見的 Python 爬蟲案例&#xff0c;涵蓋了不同的應用場景和技術點&#xff1a; 1. 簡單網頁內容爬取 案例&#xff1a;爬取網頁標題和簡介 import requests from bs4 import BeautifulSoup url "https://www.runoob.com/" response requests.get(url) …

【C++進階】函數:深度解析 C++ 函數的 12 大進化特性

目錄 一、函數基礎 1.1 函數定義與聲明 1.2 函數調用 1.3 引用參數 二、函數重載&#xff1a;同名函數的「多態魔法」&#xff08;C 特有&#xff09; 2.1 基礎實現 2.2 重載決議流程圖 2.3 與 C 語言的本質區別 2.4 實戰陷阱 三、默認參數&#xff1a;接口的「彈性設…

Redis的基礎,經典,高級問題解答篇

目錄 一&#xff0c;基礎 二&#xff0c;經典 緩存雪崩&#xff1a; 1. Redis事務的原子性 2. 與MySQL事務的區別 1. 主從復制原理 2. 哨兵模式故障轉移流程 3. 客戶端感知故障轉移 三&#xff0c;高級 一&#xff0c;基礎 Redis的5種基礎數據類型及使用場景&#xf…

【藍橋杯】好數

好數 問題描述代碼解釋代碼 好數 問題描述 一個整數如果按從低位到高位的順序&#xff0c;奇數位 (個位、百位、萬位 ? ) 上的數字是奇數&#xff0c;偶數位 (十位、千位、十萬位 ? ) 上的數字是偶數&#xff0c;我們就稱之為 “好數”。 給定一個正整數 N&#xff0c;請計算…

利用 Patroni + etcd + HAProxy 搭建高可用 PostgreSQL 集群

在生產環境中&#xff0c;數據庫的高可用性是系統穩定運行的關鍵。本文將詳細講解如何利用 Docker 部署一個由 etcd、Patroni 和 HAProxy 組成的 PostgreSQL 高可用集群&#xff0c;實現自動故障轉移和負載均衡。 架構概述 本架構主要包括三部分&#xff1a; etcd 集群 etcd …

bash 和 pip 是兩種完全不同用途的命令,分別用于[系統終端操作]和[Python 包管理]

bash 和 pip 是兩種完全不同用途的命令&#xff0c;分別用于 系統終端操作 和 Python 包管理。以下是它們的核心區別、用法及常見場景對比&#xff1a; 1. 本質區別 特性bashpip類型Shell 命令解釋器&#xff08;一種腳本語言&#xff09;Python 包管理工具作用執行系統命令、…

分布式系統的CAP理論、事務和鎖實現

分布式系統核心概念 1. CAP理論 CAP理論指出&#xff0c;分布式系統最多同時滿足以下三項中的兩項&#xff1a; 一致性&#xff08;CC&#xff09;&#xff1a;所有節點訪問同一份最新數據。可用性&#xff08;AA&#xff09;&#xff1a;每個請求都能在合理時間內獲得非錯誤…