P3916 圖的遍歷

P3916 圖的遍歷
題目來源-洛谷
在這里插入圖片描述

題意

有向圖中,找出每個節點能訪問到的最大的節點

思路

  • 每個節點的最大節點,不是最長距離,如果是每個節點都用dfs去找最大值,顯然1e6*1e6 超時了,只能60分
  • 從第一個節點開始遍歷,要超時,逆著思路想,求最大節點,那么從最大的節點開始遍歷,逆著看哪些點能到達該節點,立刻標記,且從大的節點來看,后面的節點不可能有比該節點更大的點(哪怕有,也是被訪問的-比當前更大的節點),因此只需要標記走過的節點,就可以不必再重復遍歷,節省時間開銷
  • 因此存圖時需要逆向存

數據約束

注意數組長度即可

參考代碼

#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5+5;
void dfs(int k,int maxk);//從節點K開始搜索 
int m,n;//n個點m條邊 
vector<int> p[MAXN];//鄰接表存圖 
bool f[MAXN] = {false};
int ans[MAXN] ;//存結果 
int main(){ cin>>n>>m;int x,y;for(int i=0;i<m;i++){cin>>x>>y; //x 能到 y p[y].push_back(x);//反向存圖 } //	查看儲存的數據是否正確 
//	for(int i=1;i<=n;i++){
//		for(int j=0;j<p[i].size();j++){
//			cout<<p[i][j]<<" "; 
//		} 
//		cout<<endl;
//	}for(int i=n;i>0;i--){dfs(i,i) ;//從最大的點開始搜索 } for(int i=1;i<=n;i++){cout<<ans[i]<<" ";}return 0;
}
void dfs(int k,int maxk){if(f[k]) return;ans[k] = maxk;f[k] = true;//如果此處不標記,但是是第一個遍歷到節點就必須記得處理 for(int i=0;i<p[k].size();i++){if(!f[p[k][i]]){ //沒被訪問過則訪問 dfs(p[k][i],maxk);//	f[p[k][i]] = true;//在開頭賦值的地方標記后就不用重復標記 }}return ;
}

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

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

相關文章

掌握常見 HTTP 方法:GET、POST、PUT 到 CONNECT 全面梳理

今天面試還問了除了 get 和 post 方法還有其他請求方法嗎&#xff0c;一個都不知道&#xff0c;這里記錄下。 &#x1f310; 常見 HTTP 請求方法一覽 方法作用描述是否冪等是否常用GET獲取資源&#xff0c;參數一般拼接在 URL 中? 是? 常用POST創建資源 / 提交數據&#xff…

裸金屬服務器的應用場景有哪些?

隨著云計算技術不斷發展&#xff0c;裸金屬服務器作為一臺既具有傳統物理服務器特點的硬件設備&#xff0c;還具備云計算技術的服務器化服務功能&#xff0c;是硬件和軟件相結合的網絡設備&#xff0c;逐漸被越來越多的企業所關注&#xff0c;那么&#xff0c;裸金屬服務器的應…

【得物】20250419筆試算法題

文章目錄 前言第一題1. 題目描述2. 思路解析3. AC代碼 第二題1. 題目描述2. 思路解析3. AC代碼 第三題1. 題目描述2. 思路解析3. AC代碼 前言 三道題目都比較簡單&#xff0c;大家都可以試著做一下。 第一題 1. 題目描述 題目鏈接&#xff1a;矩陣變換 2. 思路解析 按題…

明遠智睿2351開發板四核1.4G Linux處理器:驅動創新的引擎

在科技日新月異的今天&#xff0c;創新成為了推動社會進步的核心動力。而在這場創新的浪潮中&#xff0c;一款性能卓越、功能全面的處理器無疑是不可或缺的引擎。今天&#xff0c;我們介紹的這款四核1.4G處理器搭配Linux系統的組合&#xff0c;正是這樣一款能夠驅動未來創新的強…

Oracle Database Resident Connection Pooling (DRCP) 白皮書閱讀筆記

本文為“Extreme Oracle Database Connection Scalability with Database Resident Connection Pooling (DRCP)”的中文翻譯加閱讀筆記。覺得是重點的就用粗體表示了。 白皮書版本為March 2025, Version 3.3&#xff0c;副標題為&#xff1a;Optimizing Oracle Database resou…

VS Code + GitHub:高效開發工作流指南

目錄 一、安裝 & 基本配置 1.下載 VS Code 2.安裝推薦插件(打開側邊欄 Extensions) 3.設置中文界面(可選) 二、使用 VS Code 操作 Git/GitHub 1.基本 Git 操作(不輸命令行!) 2.連接 GitHub(第一次使用) 三、克隆遠程倉庫到 VS Code 方法一(推薦): 方…

【LLM】llama.cpp:合并 GGUF 模型分片

GGUF&#xff08;GPT-Generated Unified Format&#xff09;是一種專為大規模語言模型設計的二進制文件格式&#xff0c;支持將模型分割成多個分片&#xff08;*-of-*.gguf&#xff09;。當從開源社區&#xff08;如 HuggingFace 或 ModelScope&#xff09;下載量化模型時&…

Ubuntu 系統下安裝和使用性能分析工具 perf

在 Ubuntu 系統下安裝和使用性能分析工具 perf 的步驟如下&#xff1a; 1. 安裝 perf perf 是 Linux 內核的一部分&#xff0c;通常通過安裝 linux-tools 包獲取&#xff1a; # 更新軟件包列表 sudo apt update# 安裝 perf&#xff08;根據當前內核版本自動匹配&#xff09; …

Buffer of Thoughts: Thought-Augmented Reasoningwith Large Language Models

CODE: NeurIPS 2024 https://github.com/YangLing0818/buffer-of-thought-llm Abstract 我們介紹了思想緩沖(BoT)&#xff0c;一種新穎而通用的思想增強推理方法&#xff0c;用于提高大型語言模型(大型語言模型)的準確性、效率和魯棒性。具體來說&#xff0c;我們提出了元緩沖…

Java面試中問單例模式如何回答

1. 什么是單例模式? 單例模式(Singleton Pattern)是一種設計模式,確保某個類在整個應用中只有一個實例,并且提供全局訪問點。它有以下特點: 確保只有一個實例。提供全局訪問點。防止多次實例化,節約資源。2. 如何實現單例模式? 單例模式有多種實現方式,以下是最常見…

實戰華為1:1方式1 to 1 VLAN映射

本文摘自筆者于2024年出版&#xff0c;并得到廣泛讀者認可&#xff0c;已多次重印的《華為HCIP-Datacom路由交換學習指南》。 華為設備的1 to 1 VLAN映射有1:1和N :1兩種方式。1:1方式是將指定的一個用戶私網VLAN標簽映射為一個公網VLAN標簽&#xff0c;是一種一對一的映射關系…

認識Vue

認識Vue 文章目錄 認識Vue一、vue是什么二、Vue核心特性數據驅動&#xff08;MVVM)組件化指令系統 三、Vue跟傳統開發的區別1. **開發模式&#xff1a;MVVM vs 模板驅動**2. **組件化開發**3. **狀態管理**4. **路由管理**5. **構建與工程化**6. **性能優化**7. **學習曲線**8.…

iOS中使用AWS上傳zip文件到Minio上的oss平臺上

1. 集成AWS相關庫&#xff08;千萬不要用最新的版本&#xff0c;否則會出現風格化虛擬路徑&#xff0c;找不到主機名&#xff09; pod AWSS3, ~> 2.10.0 pod AWSCore, ~> 2.10.0 2. 編寫集成的相關代碼 - (void)uploadFileToMinIO {NSString *endPoint "http://…

usb2.0的硬件知識(一)

一、USB2.0的硬件知識 1.1 USB2.0速率 USB 2.0協議支持3種速率&#xff1a;低速(Low Speed&#xff0c;1.5Mbps)、全速(Full Speed, 12Mbps)、高速(High Speed, 480Mbps)&#xff1b;USB Hub、USB設備&#xff0c;也分為低速、全速、高速三種類型。 1.2 USB2.0硬件線序組成 U…

植物大戰僵尸雜交版v3.6最新版本(附下載鏈接)

B站游戲作者潛艇偉偉迷于4月19日更新了植物大戰僵尸雜交版3.6版本&#xff01;&#xff01;&#xff01;&#xff0c;有b站賬戶的記得要給作者三連關注一下呀&#xff01; 不多廢話下載鏈接放上&#xff1a; 夸克網盤鏈接&#xff1a;&#xff1a;https://pan.quark.cn/s/1af9b…

LeadeRobot具身智能應用標桿:無人機X柔韌具身智能,空中精準作業游刃有余

當前,具身智能已成為全球科技領域的前沿焦點,更受到國家戰略級重視,吸引科技產業巨頭搶灘布局。但同時,具身智能的商業化路徑、規模化應用場景、技術成本等難題也開始在資本界與產業圈引起廣泛討論。 目前,萬勛科技基于Pliabot 柔韌技術已推出多款具身智能柔韌機器人產品,在柔…

服務器上安裝maven

1.安裝 下載安裝包 https://maven.apache.org/download.cgi 解壓安裝包 cd /opt/software tar -xzvf apache-maven-3.9.9-bin.tar.gz 安裝目錄(/opt/maven/) mv /opt/software/apache-maven-3.9.9 /opt/ 3.權限設置 把/opt/software/apache-maven-3.9.9 文件夾重命名為ma…

AI 模型在前端應用中的典型使用場景和限制

典型使用場景 1. 智能表單處理 // 使用TensorFlow.js實現表單自動填充 import * as tf from tensorflow/tfjs; import { loadGraphModel } from tensorflow/tfjs-converter;async function initFormPredictor() {// 加載預訓練的表單理解模型const model await loadGraphMod…

10_C++入門案例習題: 結構體案例

案例描述 學校正在做畢設項目&#xff0c;每名老師帶領5個學生&#xff0c;總共有3名老師&#xff0c;需求如下 設計學生和老師的結構體&#xff0c;其中在老師的結構體中&#xff0c;有老師姓名和一個存放5名學生的數組作為成員 學生的成員有姓名、考試分數&#xff0c; 創建…

優化提示詞方面可以使用的數學方法理論:信息熵,概率論 ,最優化理論

優化提示詞方面可以使用的數學方法理論:信息熵,概率論 ,最優化理論 目錄 優化提示詞方面可以使用的數學方法理論:信息熵,概率論 ,最優化理論信息論信息熵明確問題主題提供具體細節限定回答方向規范語言表達概率論最優化理論信息論 原理:信息論中的熵可以衡量信息的不確定性。…