鄭輕ACM 1734: 堆(DFS)
Description
Input
Output
Sample Input
3110310 5 31 21 351 2 3 4 53 12 12 42 5Sample Output
YesNoYes#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #define mem(_, __) memset(_, __, sizeof(_)); const int maxn = 111; using namespace std; int a[maxn], T, n, x, y; bool flag, vis[maxn][maxn], v[maxn]; void DFS(int x, int sum) { if (sum == n - 1) { return ; } for (int i = 1; i <= n; i ++) { if (i == x) continue; // 已經走過了 if (v[i] == 1) continue; // 不存在從x到i的邊 if (vis[x][i] == 0) continue; // 有一條邊不滿足條件,即父節點的權值小於等於任意子節點的權值,所以直接終止查詢 if (a[x] > a[i]) { flag = true; return; } v[i] = 1;// 標記當前節點 DFS(i, sum + 1); if (flag) return; } } int main() { scanf("%d", &T); while (T --) { scanf("%d", &n); for (int i = 1; i <= n; i ++) scanf("%d", &a[i]); mem(vis, 0); // n - 1 條邊 for (int i = 1; i < n; i ++) { scanf("%d%d", &x, &y); vis[x][y] = vis[y][x] = 1; } flag = false; mem(v, 0); v[1] = 1; DFS(1, 0); if (flag) cout << "No" << endl; else cout << "Yes" << endl; } return 0; }
相關推薦
鄭輕ACM 1734: 堆(DFS)
Description Input Output Sample Input 3110310 5 31 21 351 2 3 4 53 12 12 42 5 Sample Outpu
【XSY2667】摧毀圖狀樹 貪心 堆 DFS序 線段樹
printf con 線段 string def body 暴力 clu while 題目大意 給你一棵有根樹,有\(n\)個點。還有一個參數\(k\)。你每次要刪除一條長度為\(k\)(\(k\)個點)的祖先-後代鏈,問你最少幾次刪完。現在有\(q\)個詢問,每次給你
1155 Heap Paths (30 分)(堆+dfs遍歷)
比較簡單的一題 遍歷左右的時候注意一下 #include<bits/stdc++.h> using namespace std; const int N=1e3+10; int s[N*2]; int cnt=0; vector<int>t; vector<int&g
鄭輕OJ 1092: 素數表(函式專題) 篩選法選擇素數
1092: 素數表(函式專題) Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 5837 Solved: 2375SubmitStatusWeb B
鄭輕OJ 1103: 平均學分績點(函式專題)留著以後自己算
平均學分績點(Grade Point Average,即GPA)是以學分與績點作為衡量學生學習的量與質的計算單位,以取得一定的學分和平均學分績點作為畢業和獲得學位的標準,實施多樣的教育規格和較靈活的教學管理制度。 大學裡每一門課程都有一定的學分。只有通過這門課的考試,才能獲得相應的學分。課程績點的計算方法通
【鄭輕】[1125]上三角矩陣的判斷
題目解釋了一下什麼叫上三角矩陣 判斷本身沒什麼難度 #include<stdio.h> int n; int map[12][12]; bool IsUpperTriMatrix
nyoj ACM:素數環(DFS 回溯 遞迴)
素數環 時間限制:1000 ms | 記憶體限制:65535 KB 難度:2 描述 有一個整數n,把從1到n的數字無重複的排列成環,且使每相鄰兩個數(包括首尾)的和都為素數,稱為素數環。
nyoj ACM:水池數目(dfs)
水池數目 時間限制:3000 ms | 記憶體限制:65535 KB 難度:4 描述 南陽理工學院校園裡有一些小河和一些湖泊,現在,我們把它們通一看成水池,假設有一張我們學校的某處的地圖,這個地圖上僅標識了此處是否是水池,現在,你的任務來了,請用計算
HNUST 挑戰ACM迷宮(DFS版)
題目描述 如下圖所示的是一個由程式設計題目組成的ACM迷宮。迷宮的左上角是入口,右下角是出口。迷宮中每一個格子都有一個程式設計題目,挑戰者要AC該題目後才能通過,大於0的數字表示AC該題目所需的最短時間。數字如果是0表示是陷阱,進去了就出不來。現在的問題是:求挑戰者從入
[ACM] POJ 3740 Easy Finding (DFS)
cas oss miss 矩陣 org fin contest std size Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16202 Accepted: 4349
bzoj3613 [Heoi2014]南園滿地堆輕絮
def open .com c++ div closed bzoj3613 題解 namespace 傳送門:http://www.lydsy.com/JudgeOnline/problem.php?id=3613 【題解】 其實挺顯然。。就是最大逆序對差/2 # in
牛牛取快遞(一)從dfs到dijkstra以及堆優化的dijkstra
並不是 rim 鄰接表 != 性能 AD [] 鄰接矩陣 不同 由於上一篇博客的第三題“牛牛取快遞”上次還未ac,因此今天特意再來嘗試一下,上次使用暴力dfs搜索最短路徑超時的我,在大佬們解題思路的“熏陶”之下,終於在我的記憶深處找回了那被封印依舊的dijkstra算法。
【ACM】吝嗇的國度 - DFS (圖)
pre mat play 上一個 cout ostream 表示 acm isp 吝嗇的國度 時間限制:1000 ms | 內存限制:65535 KB 難度:3 描述在一個吝嗇的國度裏有N個城市,這N個城市間只有N-1條路把這個N個城市連接起來。現在,Tom
[BZOJ3613][Heoi2014]南園滿地堆輕絮 二分答案
out 遞推 fine 最大 愛好者 pre zoj ace amp Description 小 Z 是 ZRP(Zombies’ Republic of Poetry,僵屍詩歌共和國)的一名詩歌愛好者,最近 他研究起了詩詞音律的問題。 在過去,詩詞
杭電acm 1181 變形課 DFS
小寫 pty space ring 隊列 set amp ott panel 變形課 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Subm
ACM-ICPC 2018 瀋陽賽區網路預賽 J. Ka Chang (分塊+樹狀陣列+dfs序)
題意 給你一顆樹,由兩種操作: 1.把這棵樹深度為 D D D的點全部都加上一個值。 2.求以p為根節點的子樹的權值和是多少? 思路 對於樹上的東西,我們可以把他求一下DFS序,之後就可以把樹上的結構變成
AC Challenge [ ACM-ICPC 2018 南京賽區網路預賽 ] [dfs + 二進位制記憶化搜尋 ]
題意:有n個問題,做第i個問題得分是t*a[i]+bi, 但是做第i題之前還需要先做其他的一些題目….可以選擇不做完所有的題,問最後的最高得分. 思路:深搜就可以了,跟很多深搜的問題一樣,有很多重複的子問題,此題的記憶化很奇特用的二進位制類似狀壓的思想 AC co
2018.11.09【HEOI2014】【BZOJ3631】【洛谷P4105】南園滿地堆輕絮(逆序對)(規律題)
BZOJ傳送門 洛谷傳送門 解析: 這個一說結論都會做,而且應該看了結論都知道怎麼證明,蒟蒻就不BB了。 結論就是差值最大的逆序對的差值的一半向上取整就是答案。 程式碼: #include<bits/stdc++.h> using name
ACM-ICPC 2018 瀋陽賽區網路預賽 J. Ka Chang dfs序+大小分治
Problem J. Ka Chang Input file: standard input Output file: standard output Time limit: 1 seconds Memory limit: 128
【ACM】DFS & 全排列 & 回溯
深入體會一下DFS,回溯 在一些OJ上endl和“\n”還是有區別的!!! 方法一: #include <iostream> #include <cstdio> #include <cstring> using namespace std; con