国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

藍(lán)橋杯備賽 | 洛谷做題打卡day5

這篇具有很好參考價(jià)值的文章主要介紹了藍(lán)橋杯備賽 | 洛谷做題打卡day5。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

藍(lán)橋杯備賽 | 洛谷做題打卡day5

圖論起航,一起來看看深(廣)度優(yōu)先吧 ~

【深基18.例3】查找文獻(xiàn)

題目描述

小 K 喜歡翻看洛谷博客獲取知識(shí)。每篇文章可能會(huì)有若干個(gè)(也有可能沒有)參考文獻(xiàn)的鏈接指向別的博客文章。小 K 求知欲旺盛,如果他看了某篇文章,那么他一定會(huì)去看這篇文章的參考文獻(xiàn)(如果他之前已經(jīng)看過這篇參考文獻(xiàn)的話就不用再看它了)。

假設(shè)洛谷博客里面一共有 n ( n ≤ 1 0 5 ) n(n\le10^5) n(n105) 篇文章(編號(hào)為 1 到 n n n)以及 m ( m ≤ 1 0 6 ) m(m\le10^6) m(m106) 條參考文獻(xiàn)引用關(guān)系。目前小 K 已經(jīng)打開了編號(hào)為 1 的一篇文章,請(qǐng)幫助小 K 設(shè)計(jì)一種方法,使小 K 可以不重復(fù)、不遺漏的看完所有他能看到的文章。

這邊是已經(jīng)整理好的參考文獻(xiàn)關(guān)系圖,其中,文獻(xiàn) X → Y 表示文章 X 有參考文獻(xiàn) Y。不保證編號(hào)為 1 的文章沒有被其他文章引用。

藍(lán)橋杯備賽 | 洛谷做題打卡day5,藍(lán)橋杯備賽,C++知識(shí),藍(lán)橋杯,職場(chǎng)和發(fā)展,c++,筆記,學(xué)習(xí)

請(qǐng)對(duì)這個(gè)圖分別進(jìn)行 DFS 和 BFS,并輸出遍歷結(jié)果。如果有很多篇文章可以參閱,請(qǐng)先看編號(hào)較小的那篇(因此你可能需要先排序)。

輸入格式

m + 1 m+1 m+1 行,第 1 行為 2 個(gè)數(shù), n n n m m m,分別表示一共有 n ( n ≤ 1 0 5 ) n(n\le10^5) n(n105) 篇文章(編號(hào)為 1 到 n n n)以及 m ( m ≤ 1 0 6 ) m(m\le10^6) m(m106) 條參考文獻(xiàn)引用關(guān)系。

接下來 m m m 行,每行有兩個(gè)整數(shù) X , Y X,Y X,Y 表示文章 X 有參考文獻(xiàn) Y。

輸出格式

共 2 行。
第一行為 DFS 遍歷結(jié)果,第二行為 BFS 遍歷結(jié)果。

樣例 #1

樣例輸入 #1

8 9
1 2
1 3
1 4
2 5
2 6
3 7
4 7
4 8
7 8

樣例輸出 #1

1 2 5 6 3 7 8 4 
1 2 3 4 5 6 7 8

學(xué)會(huì)利用新知,自己多試試并嘗試積攢一些固定解答方案,debug,以下是我的代碼 ~

#include<iostream>  //頭文件不要忘記啦
#include<vector>
#include<queue>
#include<algorithm>
using namespace std;
inline int read()//二進(jìn)制優(yōu)化的快讀 
{
	int x = 0, f = 1;
	char ch = getchar();
	while (ch < '0' || ch>'9')
	{
		if (ch == '-')
			f = -1;
		ch = getchar();
	}
	while (ch >= '0' && ch <= '9')
	{
		x = (x << 1) + (x << 3) + (ch ^ 48);
		ch = getchar();
	}
	return x * f;
}
int n, m;
bool b[100005];//定義b數(shù)組防止重復(fù)輸出 
vector<int > a[100005];//STL大法好 
void dfs(int x, int r)//x表示所在點(diǎn),r表示剩余未遍歷的點(diǎn) 
{
	b[x] = true;//記錄某點(diǎn)已經(jīng)輸出過 
	if (!r)//如果每個(gè)點(diǎn)都遍歷過終止遞歸 
	{
		cout << x << ' ';
		return;
	}
	cout << x << ' ';//輸出 
	for (int i = 0; i < a[x].size(); i++)
		if (!b[a[x][i]]) dfs(a[x][i], r - 1);//查找從x可以到的點(diǎn),并遍歷 
}
void bfs()
{
	queue<int> q;//還是STL 
	q.push(1); b[1] = true;//把1點(diǎn)放入隊(duì)列中,并標(biāo)記1點(diǎn)已經(jīng)遍歷過 
	while (!q.empty())
	{
		int s = q.front(); q.pop();//拿出隊(duì)列首的那個(gè)點(diǎn) 
		cout << s << ' ';//輸出 
		for (int i = 0; i < a[s].size(); i++) if (b[a[s][i]] == false) q.push(a[s][i]), b[a[s][i]] = true;//把點(diǎn)s所能到達(dá)的點(diǎn)遍歷,為防止TLE和重復(fù)輸出,記錄已遍歷過的點(diǎn) 
	}
}
int main()
{
	n = read();//讀入 
	m = read();
	for (int i = 1; i <= m; i++)
	{
		int x, y;
		x = read();//讀入
		y = read();
		a[x].push_back(y);//建圖 表示x可以到y(tǒng) 
	}
	for (int i = 1; i <= n; i++)//把每條路所通向的點(diǎn)從小到大排列(題目中有要求) 
		sort(a[i].begin(), a[i].end());//快排  
	dfs(1, n);//進(jìn)行深搜 從1點(diǎn)開始,進(jìn)行n次 
	cout << endl;//換行 
	for (int i = 1; i <= n; i++) b[i] = false;//初始化 
	bfs();//進(jìn)行廣搜 
	return 0;
}

藍(lán)橋杯備賽 | 洛谷做題打卡day5,藍(lán)橋杯備賽,C++知識(shí),藍(lán)橋杯,職場(chǎng)和發(fā)展,c++,筆記,學(xué)習(xí)文章來源地址http://www.zghlxwxcb.cn/news/detail-796053.html

我的一些話

  • 關(guān)于圖論:ww圖論確實(shí)難度要吊打之前的普通題,但人總是要學(xué)會(huì)跳出之前的泥淖,才能看見更遠(yuǎn)的星辰?;蛟S這條路不好走,但要加油呀!學(xué)會(huì)利用新知,自己多試試并嘗試積攢一些固定解答方案,大多數(shù)人的努力,其實(shí)還沒有到拼天賦的程度。在一切未知之前,我們能做的便是享受當(dāng)下并做自己喜歡且認(rèn)為有意義的事情。
  • 總結(jié)來說思路很重要,多想想,多在草稿紙上畫畫,用測(cè)試數(shù)據(jù)多調(diào)試,debug后成功編譯并運(yùn)行出正確結(jié)果真的會(huì)感到很幸福!
  • 關(guān)于之前藍(lán)橋杯備賽的路線和基本方法、要掌握的知識(shí),之前的博文我都有寫,歡迎大家翻閱自取~
  • 不管什么都要堅(jiān)持吧,三天打魚兩天曬網(wǎng)無法形成肌肉記憶和做題思維,該思考的時(shí)候一定不要懈怠,今天就說這么多啦,歡迎評(píng)論留言,一起成長(zhǎng):)

到了這里,關(guān)于藍(lán)橋杯備賽 | 洛谷做題打卡day5的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 藍(lán)橋杯備賽 day 2 —— 二分算法(C/C++,零基礎(chǔ),配圖)

    藍(lán)橋杯備賽 day 2 —— 二分算法(C/C++,零基礎(chǔ),配圖)

    目錄 ??前言: ?? 二分的概念 ?? 整數(shù)二分 ?? 二分的模板 ?? 習(xí)題 ?? 總結(jié) ???????? 這篇文章主要是準(zhǔn)備藍(lán)橋杯競(jìng)賽同學(xué)所寫,為你更好準(zhǔn)備藍(lán)橋杯比賽涉及的算法知識(shí)點(diǎn)。不知道你是否苦惱于不知算法從何學(xué)起,苦惱于網(wǎng)上資料稀少,或者復(fù)雜難懂,這篇文章就是

    2024年01月18日
    瀏覽(20)
  • 藍(lán)橋杯備賽 day 3 —— 高精度(C/C++,零基礎(chǔ),配圖)

    藍(lán)橋杯備賽 day 3 —— 高精度(C/C++,零基礎(chǔ),配圖)

    目錄 ??前言: ?? 高精度的概念 ?? 高精度加法和其模板 ?? 高精度減法和其模板 ?? 高精度乘法和其模板 ?? 高精度除法和其模板 ?? 總結(jié) ? ? ? ? 這篇文章主要是準(zhǔn)備藍(lán)橋杯競(jìng)賽同學(xué)所寫,為你更好準(zhǔn)備藍(lán)橋杯比賽涉及的算法知識(shí)點(diǎn)。不知道你是否苦惱于不知算法從何

    2024年01月18日
    瀏覽(32)
  • 藍(lán)橋杯備賽 day 1 —— 遞歸 、遞歸、枚舉算法(C/C++,零基礎(chǔ),配圖)

    藍(lán)橋杯備賽 day 1 —— 遞歸 、遞歸、枚舉算法(C/C++,零基礎(chǔ),配圖)

    目錄 ??前言 ?? 枚舉的概念 ??遞歸的概念 ? ??例題: 1.?遞歸實(shí)現(xiàn)指數(shù)型枚舉 2.?遞歸實(shí)現(xiàn)排列型枚舉 3.?遞歸實(shí)現(xiàn)組合型枚舉 ?? 遞推的概念 ? ?例題: 斐波那契數(shù)列 ??習(xí)題 1. 帶分?jǐn)?shù) 2. 反硬幣 3. 費(fèi)解的開關(guān) ?? 總結(jié) ? ? ? ? ???????? 這篇文章主要是準(zhǔn)備藍(lán)橋杯競(jìng)

    2024年02月03日
    瀏覽(29)
  • 藍(lán)橋杯備賽|成績(jī)統(tǒng)計(jì)|排列字母|紙張尺寸

    藍(lán)橋杯備賽|成績(jī)統(tǒng)計(jì)|排列字母|紙張尺寸

    目錄 ? 1 成績(jī)統(tǒng)計(jì) 題目描述 輸入描述 輸出描述 輸入輸出樣例 示例 1.1 解題思路 1.2 AC_Code Python 標(biāo)程 2 排列字母 問題描述 2.1 解題思路 2.2?AC_Code Python 標(biāo)程 3 紙張尺寸 問題描述 輸入格式 輸出格式 樣例輸入1 樣例輸出1 樣例輸入 2 樣例輸出 2 運(yùn)行限制 3.1 解題思路 3.2 AC_Code P

    2023年04月09日
    瀏覽(22)
  • 【AcWing】藍(lán)橋杯備賽-深度優(yōu)先搜索-dfs(1)

    【AcWing】藍(lán)橋杯備賽-深度優(yōu)先搜索-dfs(1)

    目錄 寫在前面: 題目:92. 遞歸實(shí)現(xiàn)指數(shù)型枚舉 - AcWing題庫(kù) 讀題: 輸入格式: 輸出格式: 數(shù)據(jù)范圍: 輸入樣例: 輸出樣例: 解題思路: 代碼: AC ?。。。。。。。。。?寫在最后: 距離藍(lán)橋杯已經(jīng)不足一個(gè)月了, 根據(jù)江湖上的傳言, 藍(lán)橋杯最喜歡考的是深度優(yōu)先搜索和

    2024年02月03日
    瀏覽(24)
  • 藍(lán)橋杯備賽之動(dòng)態(tài)規(guī)劃篇——涂色問題(區(qū)間DP)

    藍(lán)橋杯備賽之動(dòng)態(tài)規(guī)劃篇——涂色問題(區(qū)間DP)

    2023第十四屆藍(lán)橋杯模擬賽第二期個(gè)人題解(Java實(shí)現(xiàn)) 2023第十四屆藍(lán)橋杯模擬賽第三期個(gè)人題解(Java實(shí)現(xiàn)) 藍(lán)橋杯備賽之動(dòng)態(tài)規(guī)劃篇——背包問題 藍(lán)橋杯真題——單詞分析(Java實(shí)現(xiàn)) ???? 哈嘍,大家好!這里是藍(lán)橋杯系列文章的動(dòng)態(tài)規(guī)劃章節(jié)????,今天要講解的是區(qū)

    2024年01月23日
    瀏覽(25)
  • 【藍(lán)橋杯備賽Java組】語(yǔ)言基礎(chǔ)|競(jìng)賽常用庫(kù)函數(shù)|輸入輸出|String的使用|常見的數(shù)學(xué)方法|大小寫轉(zhuǎn)換

    【藍(lán)橋杯備賽Java組】語(yǔ)言基礎(chǔ)|競(jìng)賽常用庫(kù)函數(shù)|輸入輸出|String的使用|常見的數(shù)學(xué)方法|大小寫轉(zhuǎn)換

    ???個(gè)人主頁(yè):深魚~ ??收錄專欄:藍(lán)橋杯 ??歡迎 ??點(diǎn)贊?評(píng)論?收藏 目錄 一、編程基礎(chǔ) 1.1 Java類的創(chuàng)建 ?1.2 Java方法 ?1.3 輸入輸出 ?1.4 String的使用 二、競(jìng)賽常用庫(kù)函數(shù) 1.常見的數(shù)學(xué)方法 2.大小寫轉(zhuǎn)換 前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,

    2024年01月21日
    瀏覽(89)
  • 【藍(lán)橋杯備賽Java組】第一章·語(yǔ)言基礎(chǔ)|競(jìng)賽常用庫(kù)函數(shù)|輸入輸出|String的使用|常見的數(shù)學(xué)方法|大小寫轉(zhuǎn)換

    【藍(lán)橋杯備賽Java組】第一章·語(yǔ)言基礎(chǔ)|競(jìng)賽常用庫(kù)函數(shù)|輸入輸出|String的使用|常見的數(shù)學(xué)方法|大小寫轉(zhuǎn)換

    ???個(gè)人主頁(yè):深魚~ ??收錄專欄:藍(lán)橋杯 ??歡迎 ??點(diǎn)贊?評(píng)論?收藏 目錄 一、編程基礎(chǔ) 1.1 Java類的創(chuàng)建 ?1.2 Java方法 ?1.3 輸入輸出 ?1.4 String的使用 二、競(jìng)賽常用庫(kù)函數(shù) 1.常見的數(shù)學(xué)方法 2.大小寫轉(zhuǎn)換 前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,

    2024年01月19日
    瀏覽(98)
  • Day5力扣打卡

    Day5力扣打卡

    鏈接 思路:由于任意行 i 與 列 j,滿足對(duì)角線上 i == j + t 的關(guān)系,t 的范圍為 [1 - n, m - 1],設(shè) s = t + n,可以得到 s的范圍為 [1, n + m - 1],對(duì)應(yīng) m x n 矩陣上所有的 n + m - 1 條對(duì)角線,以及 i - s + n == j 的關(guān)系,根據(jù) i 的范圍 [0, m - 1] 可以推出對(duì)角線在 [1, n + m - 1] 范圍下的 j 的取

    2024年02月07日
    瀏覽(19)
  • 算法打卡|Day5 哈希表part01

    算法打卡|Day5 哈希表part01

    今日任務(wù) ● 哈希表理論基礎(chǔ) ● 242.有效的字母異位詞 ● 349. 兩個(gè)數(shù)組的交集 ● 202. 快樂數(shù) ● 1. 兩數(shù)之和 目錄 哈希表 part01 鏈表理論基礎(chǔ) Problem: 242. 有效的字母異位詞 思路 解題方法 Code Problem: 349. 兩個(gè)數(shù)組的交集 思路 解題方法 Code Problem: 202. 快樂數(shù) 思路 解題方法 Code P

    2024年02月08日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包