All Your Paths are Different Lengths 题目链接:https://atcoder.jp/contests/arc102/tasks/arc102_b 题解: 构造题有技巧,如果题目中要求了20和60,那就从这里入手好了. 发现没法入手因为太平凡了.... 但是,他要求了每种值只出现了一次,容易联想到弄出来$log$个$2$的幂次. 诶?想到这里发现,$20$好像差不多就是$log$大小. 我们就放$20$个点,第$i$个点指向第$i + 1$个点两条边,$2^{…
一旦写了一个类,给它3个函数: 1default construtor 2virtual destructor 3copy constructor Constructions vs. assignment Every object is constructed once Every object should be destroyed once --Failure to invoke delete() --invoke delete() more than once Once an object…
不难发现,每次询问结果一定是 (i,n)(i,n)(i,n), 而 iii 出现的次数恰好是 iii 到 i′i'i′ 的距离(i′i'i′ 是第一个不与 iii 相等的数).我们可以将这颗树构造成一条链,然后就 AC 了. Code: #include<cstdio> #include<cstdlib> #include<algorithm> using namespace std; const int maxn = 1000 + 5; int idx1[maxn],…