2025天梯訓練1

PTA | L3-1 直搗黃龍 30分

思路:多關鍵字最短路,同時還要記錄最短路徑條數。

typedef struct node{int from,d,pass,kl;bool operator<(const node &x)const{if(d!=x.d) return d>x.d;if(pass!=x.pass) return pass<x.pass;return kl<x.kl;}
}node;
int n,m;
string home,en;
unordered_map<string,int> ha;
unordered_map<int,string> antHa;
int enemys[205];
int idx=0;
vector<pair<int,int>> vct[205];
int dis[205];       // 到達i城鎮的最短路
int pass[205];      // 到達i城鎮經過了多少城鎮
int kl[205];      // 到達i城鎮殺了多少人
int road[205];    // 當前城鎮從哪來
int cnt[205];     // 到達i城鎮的最短路條數
bool vis[205];
void dijkstra(int s){for(int i=0;i<=idx;i++) dis[i]=LONG_LONG_MAX/2;dis[s]=0,pass[s]=0,kl[s]=0,cnt[s]=1;priority_queue<node> pq;pq.emplace(node{s,0,0,0});while(!pq.empty()){int from=pq.top().from;pq.pop();if(vis[from]) continue;vis[from]=true;for(auto v:vct[from]){int to=v.first,w=v.second;if(dis[to]>dis[from]+w){    // 距離更短dis[to]=dis[from]+w;pass[to]=pass[from]+1;kl[to]=kl[from]+enemys[to];road[to]=from;cnt[to]=cnt[from];pq.emplace(node{to,dis[to],pass[to],kl[to]});}else if(dis[to]==dis[from]+w){cnt[to]+=cnt[from];if(pass[to]<pass[from]+1){pass[to]=pass[from]+1;kl[to]=kl[from]+enemys[to];road[to]=from;pq.emplace(node{to,dis[to],pass[to],kl[to]});}else if(pass[to]==pass[from]+1){if(kl[to]<kl[from]+enemys[to]){kl[to]=kl[from]+enemys[to];road[to]=from;pq.emplace(node{to,dis[to],pass[to],kl[to]});}}}}}
}
void solve(){          // 過了樣例就交,一發入魂!~,手術刀一樣精準,挺典型的最短路題目,逐次遞減的優先級。cin>>n>>m;cin>>home>>en;ha[home]=++idx;antHa[idx]=home;for(int i=1;i<=n-1;i++){string town; cin>>town;if(ha[town]==0) ha[town]=++idx,antHa[idx]=town;int x; cin>>x;enemys[ha[town]]=x;}for(int i=1;i<=m;i++){string t1,t2; cin>>t1>>t2;int d; cin>>d;vct[ha[t1]].e(ha[t2],d);vct[ha[t2]].e(ha[t1],d);}dijkstra(ha[home]);int cur=ha[en];stack<string> stk;while(cur!=1){stk.emplace(antHa[cur]);cur=road[cur];}cout<<home;while(!stk.empty()){cout<<"->"<<stk.top();stk.pop();}cout<<endl;cout<<cnt[ha[en]]<<" "<<dis[ha[en]]<<" "<<kl[ha[en]];
}

PTA | L3-2 拼題A打卡獎勵? 30分


?

思路:背包問題,但是要優化:

curSum+=minute[i]; ? ? ? ?// 不必每次都從m開始轉移,這樣很白白跑很多不必要的循環..學到了
curSum=min(curSum,m); ? ? // 細節!@!

void solve(){
//    cout<<365*24*60*1000;    // 5e8int n,m; cin>>n>>m;int minute[1003]={0};int coin[1003]={0};for(int i=1;i<=n;i++) cin>>minute[i];for(int i=1;i<=n;i++) cin>>coin[i];vector<int> dp(m+5,0);int ans=0,curSum=0;for(int i=1;i<=n;i++){curSum+=minute[i];        // 不必每次都從m開始轉移,這樣很白白跑很多不必要的循環..學到了curSum=min(curSum,m);     // 細節!@!for(int j=curSum;j>=minute[i];j--){dp[j]=max(dp[j],dp[j-minute[i]]+coin[i]);ans=max(ans,dp[j]);}}cout<<ans;
}

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

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

相關文章

EasyRTC嵌入式視頻通話SDK的跨平臺適配,構建web瀏覽器、Linux、ARM、安卓等終端的低延遲音視頻通信

1、技術背景 WebRTC是一項開源項目&#xff0c;旨在通過簡單的API為瀏覽器和移動應用程序提供實時通信&#xff08;RTC&#xff09;功能。它允許在無需安裝插件或軟件的情況下&#xff0c;實現點對點的音頻、視頻和數據傳輸。 WebRTC由三個核心組件構成&#xff1a; GetUserM…

【git】ssh配置提交 gitcode-ssh提交

【git】ssh配置提交 gitcode-ssh提交 之前一直用的是gitee和阿里云的倉庫&#xff0c;前兩天想在gitcode上面備份一下我的打洞代碼和一些資料 就直接使用http克隆了下來 。 在提交的時候他一直會讓我輸入賬號和密碼&#xff0c;但是我之前根本沒有設置過這個&#xff0c;根本沒…

Dify部署踩坑指南(Windows+Mac)

組件說明 Dify踩坑及解決方案 ?? 除了修改鏡像版本&#xff0c;nginx端口不要直接修改docker-compose.yaml &#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 1、更換鏡像版本 這個文件是由.env自動生成的&#xff0c;在.env配置 …

Linux進程調度與管理:(五)進程的調度之調度節拍

《Linux6.5源碼分析&#xff1a;進程管理與調度系列文章》 本系列文章將對進程管理與調度進行知識梳理與源碼分析&#xff0c;重點放在linux源碼分析上&#xff0c;并結合eBPF程序對內核中進程調度機制進行數據實時拿取與分析。 在進行正式介紹之前&#xff0c;有必要對文章引…

K8S學習之基礎十七:k8s的藍綠部署

藍綠部署概述 ? 藍綠部署中&#xff0c;一共有兩套系統&#xff0c;一套是正在提供服務的系統&#xff0c;一套是準備發布的系統。兩套系統都是功能完善、正在運行的系統&#xff0c;只是版本和對外服務情況不同。 ? 開發新版本&#xff0c;要用新版本替換線上的舊版本&…

【定制開發】碰一碰發視頻系統定制開發,支持OEM

在短視頻營銷爆發的2025年&#xff0c;"碰一碰發視頻"技術已成為實體商家引流標配。某連鎖餐飲品牌通過定制化開發&#xff0c;單月視頻發布量突破10萬條&#xff0c;獲客成本降低80%&#xff01;本文將深入解析該系統的技術架構與開發要點&#xff0c;助你快速搭建高…

[Lc7_分治-快排] 快速選擇排序 | 數組中的第K個最大元素 | 庫存管理 III

目錄 1. 數組中的第K個最大元素 題解 代碼 2.庫存管理 III 代碼 1. 數組中的第K個最大元素 題目鏈接&#xff1a;215. 數組中的第K個最大元素 題目分析&#xff1a; 給定整數數組 nums 和整數 k&#xff0c;請返回數組中第 k 個最大的元素。 請注意&#xff0c;你需要…

AI視頻生成工具清單(附網址與免費說明)

以下是一份詳細的AI視頻制作網站總結清單&#xff0c;包含免費/付費信息及核心功能說明&#xff1a; AI視頻生成工具清單&#xff08;附網址與免費說明&#xff09; 1. Synthesia 網址&#xff1a;https://www.synthesia.io是否免費&#xff1a;免費試用&#xff08;生成視頻…

dp_走方格(包含dfs分析,記憶化搜索)

類似題目解析&#xff1a;dp_最長上升子序列&#xff08;包含dfs分析&#xff0c;記憶化搜索&#xff09;-CSDN博客 題目鏈接&#xff1a;2067. 走方格 - AcWing題庫 題目圖片&#xff1a; 分析題目&#xff08;dfs&#xff09; 這個題目說有一個行為n行&#xff0c;列為m列…

Windows系統安裝python2025最新安裝包,包括環境配置,以及安裝python編程軟件PyCharm2024.3.3免費社區版本,詳細全流程

一、python安裝包安裝 1、python安裝包下載 瀏覽器打開官網&#xff0c;最好是谷歌瀏覽器 https://www.python.org/downloads/windows/ 下載安裝包&#xff08;注意處理器是32位還是64位&#xff09; 注意&#xff1a;下載完成后&#xff0c;找到安裝包并雙擊運行。在安裝向導…

【GPT入門】第3課 客服會話質檢(思維鏈)

【GPT入門】第3課 客服會話質檢 1.質檢任務2. 代碼3.核心 1.質檢任務 任務本質是檢查客服與用戶的對話是否有不合規的地方 質檢是電信運營商和金融券商大規模使用的一項技術 每個涉及到服務合規的檢查點稱為一個質檢項 我們選一個質檢項&#xff0c;產品信息準確性&#xff0…

ubuntu 20.04 C++ 源碼編譯 cuda版本 opencv4.5.0

前提條件是安裝好了cuda和cudnn 點擊下載&#xff1a; opencv_contrib4.5.0 opencv 4.5.0 解壓重命名后 進入opencv目錄&#xff0c;創建build目錄 “CUDA_ARCH_BIN ?” 這里要根據顯卡查詢一下,我的cuda是11&#xff0c;顯卡1650&#xff0c;所以是7.5 查詢方法1&#xff1…

K8s 1.27.1 實戰系列(四)驗證集群及應用部署測試

一、驗證集群可用性 1、檢查節點 kubectl get nodes ------------------------------------------------------ NAME STATUS ROLES AGE VERSION k8s-master Ready control-plane 3h48m v1.27.1 k8s-node1 Ready <none> …

【C++設計模式】第七篇:橋接模式(Bridge)

注意&#xff1a;復現代碼時&#xff0c;確保 VS2022 使用 C17/20 標準以支持現代特性。 抽象與實現的解耦之道 1. 模式定義與用途?? 核心思想? ?橋接模式&#xff1a;將抽象部分與實現部分分離&#xff0c;使二者可以獨立變化。?關鍵用途&#xff1a; ?1.拆分復雜繼承…

在 Spring Boot 2.7.x 中引入 Kafka-0.9 的實踐

文章目錄 在 Spring Boot 2.7.x 中引入 Kafka-0.9 的實踐一、下載 Kafka-0.9二、啟動 Zookeeper 和 Kafka三、創建 Spring Boot 項目四、引入 kafka 依賴五、移除 Kafka 自動配置六、編寫 Kafka 生產者6.1 Kafka配置類6.2 生產者監聽類 七、編寫Controller發送Kafka八、驗證消費…

字符串中的數字之和

題目描述 程序要求能夠提取輸入的字符串中的數字&#xff0c;將數字累加&#xff0c;得到數字之和&#xff0c;如輸入的字符串為"abc76wet23er1.",應該提取數字76,23,1,求和后&#xff0c;即76231100。 輸入格式: 輸入一個字符串&#xff0c;字符串長度不超過100.…

77.ObservableCollection使用介紹1 C#例子 WPF例子

可觀察集合ObservableCollection using System; using System.Collections.ObjectModel;class Program {static void Main(){// 創建一個可觀察集合ObservableCollection<string> list new ObservableCollection<string>();// 注冊集合變化事件list.CollectionCh…

ORACLE 執行查詢語句慢(不走對應索引)

1. 索引未被創建或未正確創建 確保為查詢中涉及的列創建了索引。例如&#xff0c;如果你經常需要按column_name列進行查詢&#xff0c;確保已經為該列創建了索引,索引創建語句 CREATE INDEX idx_column_name ON table_name(column_name); 2、索引不可用 原因:索引可能被標記為不…

r1-reasoning-rag:一種新的 RAG 思路

最近發現了一個開源項目&#xff0c;它提供了一種很好的 RAG 思路&#xff0c;它將 DeepSeek-R1 的推理能力結合 Agentic Workflow 應用于 RAG 檢索 項目地址 https://github.com/deansaco/r1-reasoning-rag.git 項目通過結合 DeepSeek-R1、Tavily 和 LangGraph&#xff0c;實現…

服務器硬件配置統計

服務器型號和SN # dmidecode -t system | grep -E "Product Name|Serial Number" | awk -F: {print $2} PowerEdge R7515 4567CPU型號和物理CPU數量 echo "$(lscpu | grep "Model name" | cut -d : -f2 | sed s/^ *//) x $(lscpu | grep "Soc…