show show我的單旋遞迴大常數splay。
很蛋疼的rotate把lc和rc兩個陣列進去了。
題目:2010省隊集訓,unstable不穩定匹配。
#include #include #include #include #include #include #define maxn 1150000
#define maxm 1150000
#define prime 1000000007ll
#define unit 13499267949257065399ull
#define maxrange 11000
typedef unsigned long long ull;
typedef struct
node;
ull dest[maxm];
node x[maxn];
int lc[maxn];
int rc[maxn];
ull r[maxrange];
ull u[maxn];
ull p[maxn];
int *ptr[2] = ;
int n, m, root, xtop;
inline void update (int p)
inline void swap (int *i, int *j)
inline void swapull (ull *i, ull *j)
inline int min (int i, int j)
inline ull hash (int l, int r)
inline void mark_rev (int p)
inline void push_rev (int p)
void rotate (int *t, int *lc, int *rc)
void splay (int *t, int k)
inline void inteval (int l, int r)
int query (int a, int b)
return ret;
}int build (int l, int r)
int main()
; for (i = 1; i <= m; ++i)
fscanf (fin, "%d", &s1), dest[i] = dest[i - 1] + r[s1] * p[i - 1];
root = 1, xtop = n + 2;
rc[1] = 2, lc[2] = build (1, n), update (2), update (1);
fscanf (fin, "%d%d%d%d", &s1, &s2, &s3, &s4);
inteval (1, 1);
for (i = s1 + s2 + s3 + s4; i; --i)
;lc[rc[root]] = xtop; break;
case 'd':
fscanf (fin, "%d", &k);
inteval (k, k), lc[rc[root]] = 0; break;
case 'r':
fscanf (fin, "%d%d", &k, &p);
if (k > p) swap (&k, &p);
inteval (k, p);
mark_rev (lc[rc[root]]); break;
case 'q':
fscanf (fin, "%d%d", &k, &p);
fprintf (fout, "%d\n", query (k, p));
break;
}update (rc[root]), update (root);
}fclose (fin);
fclose (fout);
return 0;
}
洛谷P3721 單旋
什麼毒瘤.題意 模擬一棵單旋splay,求每次插入,splay最值,刪除最值的操作次數。解 乍一看感覺很神,又因為是lct題單上的,然後就折磨了我好久,最後跑去看題解.居然是手玩找規律題!我瘋了。是這樣的,因為它只會單旋,而且只會splay最值,手玩一下就發現整個樹的形態不變.就是把乙個節點拿上去當...
常數乘以無窮大等於多少 電導率常數 水質分析儀
電導率是在整個工業過程控制中廣泛使用的水質的重要度量。電導率測量的應用包括鍋爐水處理,冷卻塔水處理和反滲透監測。有幾種不同型別的感測器可用於測量電導率。選擇適合您的應用的感測器將提高準確性並確保裝置的使用壽命。選擇電導率感測器之前要了解的乙個重要因素是如何選擇電導率池常數。電導率感測器的工作原理 可...
常數乘以無窮大等於多少 飄忽不定的介電常數
文 陳亮 在影響電容量的3個主要因素中,極板面積和極板間距是很直觀的。然而相對介電常數看似是固定的材料屬性,但在實際場景中就比較複雜了。舉個栗子 同一塊使用fr4做為介質的pcb,內層的帶狀線上下兩端介質的相對介電常數都是4,訊號線感受到的相對介電常數就是材料的相對介電常數 4 那表層的微帶線呢?一...