點此看題
如果是2
22操作直接連向前面的點,否則連向上乙個點,這樣dfs
dfsdf
s就可以得到乙個順序,問題就變成了只需要加入單條邊和回退這條加入的邊,用啟發式合併的並查集就可以了。
為了詢問我們需要值域分塊,合併和回退的時候就維護一下這個塊,詢問的時候挨個掃值域,確定到乙個值域中,然後我們就可以暴力地訪問這個值域裡的值,看他和當前點是不是同根,如果是的話減排名就行了。
#include
#include
#include
using
namespace std;
const
int m =
100005
;const
int k =
1200
;#define bl(k) (k-1)/k
intread()
int n,m,a[m]
,b[m]
,fa[m]
,siz[m]
,f[m][84
];vector<
int> g[m]
;int p[m]
,x[m]
,y[m]
,ans[m]
;bool
cmp(
int x,
int y)
intfind
(int x)
void
add(
int i)
intquery
(int i)
return-1
;}void
del(
int i)
void
dfs(
int x)
intmain()
}dfs(0
);for(
int i=
1;i<=m;i++)if
(p[i]==3
)printf
("%d\n"
,ans[i]);
}
數學上的排列組合
下午一同事提出乙個有趣的問題 一行字母 數字符號也行 中間插入特定字元 字元型別不定,我這裡用加號 字母的順序不能變,如下 ab a b 1種 abc a bc ab c a b c 3種 abcd a bcd ab cd a b cd abc d a bc d ab c d a b c d 7種 ...
家教 初二數學上學期
1 全等三角形 sss,sas,asa,aas,直角三角形中一條直角邊和一條斜邊對應相等,則兩個直角三角形全等 其中s代表邊,a代表角 2 角平分線 1 角平分線到兩邊的距離相等 2 ab ac bd bc d是角平分線在bc線段上的交點 3 分解因式 1 基本的公式 2 提出公因式 3 十字相乘法...
9733 數學上最大的數是多少?
怪羅科普 收藏 282 閱讀 117678 人類已經使用數長達千年之久。普遍認為,數的概念最先源於史前人類開始使用手指進行計數。這最終演變成符號語言,然後在沙子 牆壁和木頭等物體上作標記。我們已經向前發展了一大步,現在我們使用計算器和計算機來計算大型數字。我們甚至還給沒有極限的數起了專門的稱法,那數...