压一维状态,转移时把符合条件的上一行加上 #include<iostream> #include<cstdio> using namespace std; const int N=5005,mod=1e9; int m,n,x,a[20],st[N],k,f[20][N],ans; int main() { scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++)…
[题解] 要求出树上两点间的距离,树上的边有边权,本来应该是个LCA. 看他数据小,Xjb水过去了...其实也算是LCA吧,一个O(n)的LCA... #include<cstdio> #include<algorithm> #define N (1010) #define rg register #define LL long long using namespace std; int n,m,root,cnt,tot,dep[N],in[N],out[N],fa[N],last…