【NOIP2015】資訊傳遞 dfs
如果我去年在 考場上 會怎樣呢?
#include <cstdio>
#include <cstring>
#include <iostream>
#include <cstdlib>
using namespace std;
#define MAXN (200020)
int tot = 0;
int first[MAXN], nxt[MAXN], vis[MAXN], useby[MAXN];
struct edge{
int from, to;
}es[MAXN];
void build(int ff, int tt)
{
es[++tot] = (edge){ff,tt};
nxt[tot] = first[ff];
first[ff] = tot;
}
int ans = 1e9;
void dfs(int x, int c, int root)
{
vis[x] = c;
useby[x] = root;
for(int i = first[x]; i != -1; i = nxt[i])
{
int v = es[i].to;
if(vis[v])
{
if(useby[v] == root) ans = min(ans, c-vis[v]+1);
continue;
}
dfs(v,c+1 ,root);
}
}
int main()
{
int n;
cin >> n;
memset(first,-1,sizeof(first));
for(int i = 1;i <= n; ++ i)
{
int t;
scanf("%d", &t);
build(i,t);
}
for(int i = 1; i <= n; ++ i)
if(!vis[i])
dfs(i,1,i);
cout << ans << '\n' ;
return 0;
}
相關推薦
【NOIP2015】資訊傳遞 dfs
如果我去年在 考場上 會怎樣呢? #include <cstdio> #include <cstring> #include <iostream> #inc
UOJ 146 【NOIP2015】資訊傳遞
題目 有 n個同學(編號為1到n)正在玩一個資訊傳遞的遊戲。在遊戲裡每人都有一個固定的資訊傳遞物件,其中,編號為i的同學的資訊傳遞物件是編號為Ti的同學。 遊戲開始時,每人都只知道自己的生日。之後每一輪中,所有人會同時將自己當前所知的生日資訊告訴各自的資訊傳
【NOIP2015】資訊傳遞 CODE[VS] 4511
題目描述 Description 有個同學(編號為 1 到)正在玩一個資訊傳遞的遊戲。在遊戲裡每人都有一個固定的資訊傳遞物件,其中,編號為的同學的資訊傳遞物件是編號為的同學。遊戲開始時,每人都只知道自己的生日。之後每一輪中,所有人會同時將自己當前所知
【NOIP 2015 Day1 T2】資訊傳遞(dfs || 拓撲排序 || Tarjan)
題目描述 Description 有個同學(編號為 1 到)正在玩一個資訊傳遞的遊戲。在遊戲裡每人都有一個固定的資訊傳遞物件,其中,編號為的同學的資訊傳遞物件是編號為的同學。遊戲開始時,每人
2018.11.05【NOIP2015】【洛谷2680】【UOJ#150】運輸計劃(二分答案+DFS序+樹上差分)或(複雜度並不對(也不能過)的樹鏈剖分)
洛谷傳送門 解析: UOJ上的資料很強,複雜度不對過不了的,但是LCALCALCA如果是用倍增求的話也過不了(已經加了上界優化)。。。畢竟樹剖常數小,複雜度還不滿。。。 思路: 首先,不要試圖化邊為點,每條邊的資訊可以存在它所指向的兒子中。 解法1:UOJ上
【洛谷P2661】資訊傳遞
題目大意:給定一個有 N 個點,N 條邊且每個點的出度均為 1 的有向圖,求該有向圖的一個最小環。 題解:由於每個點的出度均為 1,可知可能的情況只有以下幾種:一個環或多個環,一個環+一條鏈。因此,可以採用 Tarjan 縮點,求出每個強連通分量,更新答案貢獻。另外,學到了一種並查集做法,由於每條邊的出度均
【洛谷P2661】資訊傳遞 (updated)
題目大意:給定一棵 N 個節點的內向樹森林,求該內向樹森林的最小環的大小(按邊計算)。 題解:先刪鏈,再計算環的大小,統計答案即可。 程式碼如下 #include <bits/stdc++.h> using namespace std; const int maxn=2e5+10; int
洛谷P3385 【模板】負環 DFS-SPFA 判負環 圖論
string inf scan space can 清空 span %d pre 洛谷P3385 【模板】負環 圖論 今天get了 一個 DFS-SPFA 判負環的方法 一般的 BFS-SPFA 判負環 一般就是 不停地做,如果某點第 n+1次加入隊列中,那麽說明這個圖存在
【NOIP2015】鬥地主
eof 2個 ios sca desc input inpu 數據 撲克 P2431 - 【NOIP2015】鬥地主 Description 牛牛最近迷上了一種叫鬥地主的撲克遊戲。鬥地主是一種 使用黑桃、紅心、梅花、方片的A到K加上大小王的共54張牌來進行的撲克牌
【noip2015】神奇的幻方
構建 == cst name long long 一行 題解 輸出 題目 題目描述 幻方是一種很神奇的 N ? N 矩陣:它由數字 1,2,3, … … , N ? N 構成,且每行、每列及兩條對角線上的數字之和都相同。 當 N 為奇數時,我們可以通過以下方法構建一個幻方:
【LeetCode】深搜DFS(共85題)
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica } 【98】Validate Binary Search Tree 【99】Recover Binary Search Tree 【100】Same Tr
【NOIP2015】子串
題目連結 演算法: 鴿鴿鴿了。。。。。 Code: #include<bits/stdc++.h> #define rep(i,j,k) for(int i=j;i<=k;i++
【Ionic】——Ionic傳遞物件到後臺
1定義傳遞的物件的變數 integralProgram :{ pluginId:string ;//外掛id userId:string; //被加分人id,以及完成專案的使用者id idInfo:string[]; //被加分人id陣列 integr
2018.11.06【NOIP2015】【洛谷P2668】鬥地主(DP預處理)(搜尋)
傳送門 解析: 其實不考慮點數大小的話只有張數對我們是有用的。所以可以預處理出有 i i
【bzoj4326】【noip2015】運輸計劃
題目描述 公元2044 年,人類進入了宇宙紀元。 L 國有 n 個星球,還有 n-1 條雙向航道,每條航道建立在兩個星球之間,這 n-1 條航道連通了 L 國的所有星球。 小 P 掌管一家物流公司, 該公司有很多個
【P2668】鬥地主【NOIP2015】
題目描述 牛牛最近迷上了一種叫鬥地主的撲克遊戲。鬥地主是一種使用黑桃、紅心、梅花、方片的A到K加上大小王的共54張牌來進行的撲克牌遊戲。在鬥地主中,牌的大小關係根據牌的數碼錶示如下:3<4<5<6<7<8<9<10&l
【貪心】糖果傳遞(數軸上求一個點,使得n點到其距離之和最小,該點為n點中位數)
問題 K: 【貪心】糖果傳遞 時間限制: 1 Sec 記憶體限制: 128 MB 提交: 2 解決: 2 [提交] [狀態] [討論版] [命題人:admin] 題目描述 有n個小朋友坐成一圈,每人有ai個糖果。每人只能給左右兩人傳遞糖果。每人每次傳遞一個糖果代
【 分類 】- 資訊系統開發與管理
專欄達人 授予成功建立個人部落格專欄
【javascript】值傳遞 pass by value
最近有一個需求,我們先看一個小的例子 var student = { name: 'Catherine', age: 19, address: { province: '江蘇', city: '南昌' }, lan
【NOIP2015】推銷員
推(chuan)銷員 分析 這裡主要闡述一下我的分析思路。 看起來挺直觀的。 最初的想法,我們列舉每一個最遠點mxp的位置,然後對之前的a進行排序。 那麼以mxp為最遠點,選x個的最大疲勞值為: 2∗s[mxp]+a[mxp]+(之前的前x−1大的a