用vs2013做网站登录wordpress技术网主题
用vs2013做网站登录,wordpress技术网主题,网络推广的优势有哪些,庐江网站建设题目描述
给定 n 个点 m 条边的有向图#xff0c;可能不连通#xff0c;可能有重边#xff0c;也可能会有自环。求最长的路径(可以经过重复节点)#xff0c;使得这条路径的编号和权值都严格单调递增#xff0c;其中编号指输入的顺序。路径的长度是指经过边的数量。
输入…题目描述给定 n 个点 m 条边的有向图可能不连通可能有重边也可能会有自环。求最长的路径(可以经过重复节点)使得这条路径的编号和权值都严格单调递增其中编号指输入的顺序。路径的长度是指经过边的数量。输入格式第一行两个整数 n,m。第二行到第 m1 行每行三个整数 a,b,k表示顶点 a 与顶点 b 有一条边相连边权为 k。输出格式一行一个整数表示最长的路径的长度。1≤n,m≤1050≤wi≤105。retranslated by 皎月半洒花。显示翻译题意翻译输入输出样例输入 #1复制3 3 3 1 3 1 2 1 2 3 2输出 #1复制2输入 #2复制5 5 1 3 2 3 2 3 3 4 5 5 4 0 4 5 8输出 #2复制3代码实现#includebits/stdc.h #define x first #define y second #define il inline #define low(x) x-x #define ls(x) x1 #define rs(x) x1|1 #define pb(x) push_back(x) #define gcd(x,y) __gcd(x,y) #define lcm(x,y) x*y/gcd(x,y) using namespace std; typedef pairint,int pii; typedef pairint,pii PII; const int N30*1e510, INF1e97; int n, m; int cnt0; int rt[N], tr[N]; int lc[N], rc[N]; il int rd(){ int x0, f1; char cgetchar(); while(c0||c9){ if(c-) f-1; cgetchar(); } while(c0c9){ x(x3)(x1)c-48; cgetchar(); } return x*f; } il void pushup(int u){ tr[u] max(tr[lc[u]], tr[rc[u]]); } il int upd(int u, int l, int r, int x, int w){ if(!u) ucnt; if(lr){ tr[u] max(tr[u], w); return u; } int midlr1; if(xmid) lc[u] upd(lc[u], l, mid, x, w); else rc[u] upd(rc[u], mid1, r, x, w); pushup(u); return u; } il int qry(int u, int l, int r, int ql, int qr){ if(!u) return 0; if(qllrqr) return tr[u]; int midlr1, res0; if(qlmid) res qry(lc[u], l, mid, ql, qr); if(qrmid) res max(res, qry(rc[u], mid1, r, ql, qr)); return res; } signed main(){ int ans0; nrd(), mrd(); while(m--){ int urd(), vrd(), wrd(); int x qry(rt[u], 0, 1e5, 0, w-1)1; rt[v] upd(rt[v], 0, 1e5, w, x); } for(int i1;in;i) ans max(ans, tr[rt[i]]); printf(%d\n, ans); return 0; }