原创 線段樹專題——長博客(草稿版本)。

板子 #include<iostream> #include<queue> #include<cstring> #include<string> #include<sstream> #include<map> #include<v

原创 平時積累的一些坑

一般來說,數字,在程序中默認是int 所以下面兩個函數的適用範圍,前者是longlong,後者是int。 ll solve(ll x){ return ((ll)(1)<<x)-1; } 和 ll solve(ll x)

原创 VS2017下scanf和freopen報錯處理

右擊項目,屬性。到如圖窗口。添加命令 /D_CRT_SECURE_NO_WARNINGS

原创 2019 計蒜之道 初賽 第六場 解題報告

比賽通道 A題:VIPKID大數據“黑科技”:爲小朋友智能匹配最佳外教 題解 1、保證每個括號都能合法匹配。 2、滿足反迴文串的性質。(反迴文串性質,字符串對稱位置符號不相同) 不合法匹配樣例: )( ((() 利用棧的性質,

原创 POJ 1289 解題報告

Question Link Kruskal code #include<iostream> #include<queue> #include<cstring> #include<string> #include<sstream>

原创 動態規劃(dp)的一些簡單題。

題目一 luogu P 1091 題解 dp思路。由左到右的最長單調子序列,由右到左的最長單調子序列,疊加,可以知道,隊列的長度。 上代碼 #include <cstdio> #include <algorithm> using

原创 區間最值st表

預處理 max_st[i][j] 表示 從第 i 開始 的 [ i , i + (1<<j] ]閉區間的最大值。 利用dp思想。首先處理max_st[i][0] = num[i],其次,處理,如下處理。 void RMQ(){

原创 POJ 3250 Bad Hair Day 解題報告(單調棧板子)

題目鏈接 題目大意 所有牛都有身高,兩兩身高可以相等,他們都朝着右邊看,如果,牛 I 的高度,大於,牛 J(其中 I 在 J 的左側),那麼牛 I 可以看到牛 J 的頭髮。此時,給你一排牛的身高,問,全部牛可以看到的別的牛髮型的總

原创 POJ 1251 解題報告 (最小生成樹模板,kruskal 和prim)

板子題 Prim #include<iostream> #include<queue> #include<cstring> #include<string> #include<sstream> #include<map> #inclu

原创 並查集的非遞歸和遞歸實現

code 防止爆棧空間 int find(int x){ int p=x; while(p!=fa[p]) p=fa[p]; while(x!=p){ int tmp=fa[x]

原创 POJ 1308 Is It A Tree 解題報告

Question Link 題目大意 給一堆邊,判斷這個圖是不是樹。 題解 樹:1、無環。2、是一棵樹,不是森林,只有一個根結點。3、無自環 1、並查集判斷環。 2、根節點數,判斷樹棵。 AC code #include <iostr

原创 POJ 2912 Rochambeau 解題報告

Question Link AC code #include<iostream> #include<cstdio> using namespace std; #define N 505 #define M 2005 int pr

原创 POJ 1182 食物鏈 解題報告

Question Link 題目大意 現在有 3 種動物,A,B,C,A吃B,B吃C,C吃A。現在告訴你 m 句話,其中有真有假,叫你判斷假的個數 。當,當前語句和之前的語句由衝突的時候,我們將這句話視爲假語句,如果當前語句

原创 POJ 1611 The Suspects 解題報告

Question Link 簡單的並查集題目,合併一個團隊的人即可。 AC code solution1 #include<iostream> #include<queue> #include<cstring> #include<st

原创 嚴正注意,以下對dijkstra+臨接表的代碼進行更正。

原來錯誤部分 struct Node { int v,w; Node() {} Node ( int a_ ,int b_ ) { v = a_ ; w = b_ ; } bool operator < ( const No