D. Recovering BST http://codeforces.com/contest/1025/problem/D 题意: 给出一个连续上升的序列a,两个点之间有边满足gcd(ai ,aj) != 1.选择一些边,问是否能构成一棵有n个点的二叉搜索树. 分析: 区间dp. 每个子树都是一段连续的区间,L[i][j]表示j为根,i~j-1这个区间的点能否使j的左子树,R[i][j]:i为根,i+1~j这个区间能否为i的右子树. 枚举一个中间点作为根,转移即可. 为什么这样转移:直接f[i…