news 2026/5/12 10:36:16

《CF960F Pathwalks》

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《CF960F Pathwalks》

题目描述

给定 n 个点 m 条边的有向图,可能不连通,可能有重边,也可能会有自环。求最长的路径(可以经过重复节点),使得这条路径的编号和权值都严格单调递增,其中编号指输入的顺序。路径的长度是指经过边的数量。

输入格式

第一行两个整数 n,m。

第二行到第 m+1 行,每行三个整数 a,b,k,表示顶点 a 与顶点 b 有一条边相连,边权为 k。

输出格式

一行一个整数,表示最长的路径的长度。

1≤n,m≤105,0≤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

代码实现:

#include<bits/stdc++.h> #define x first #define y second #define il inline #define low(x) x&-x #define ls(x) x<<1 #define rs(x) x<<1|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 pair<int,int> pii; typedef pair<int,pii> PII; const int N=30*1e5+10, INF=1e9+7; int n, m; int cnt=0; int rt[N], tr[N]; int lc[N], rc[N]; il int rd(){ int x=0, f=1; char c=getchar(); while(c<'0'||c>'9'){ if(c=='-') f=-1; c=getchar(); } while(c>='0'&&c<='9'){ x=(x<<3)+(x<<1)+c-48; c=getchar(); } 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) u=++cnt; if(l==r){ tr[u] = max(tr[u], w); return u; } int mid=l+r>>1; if(x<=mid) lc[u] = upd(lc[u], l, mid, x, w); else rc[u] = upd(rc[u], mid+1, 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(ql<=l&&r<=qr) return tr[u]; int mid=l+r>>1, res=0; if(ql<=mid) res = qry(lc[u], l, mid, ql, qr); if(qr>mid) res = max(res, qry(rc[u], mid+1, r, ql, qr)); return res; } signed main(){ int ans=0; n=rd(), m=rd(); while(m--){ int u=rd(), v=rd(), w=rd(); int x = qry(rt[u], 0, 1e5, 0, w-1)+1; rt[v] = upd(rt[v], 0, 1e5, w, x); } for(int i=1;i<=n;i++) ans = max(ans, tr[rt[i]]); printf("%d\n", ans); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 7:50:46

你方唱罢我登场,迅雷超级会员为马年春节再添一把火

新春将至&#xff0c;假期宅家追剧追番&#xff0c;是不少人的新春休闲选择之一。为回馈广大用户支持&#xff0c;迅雷会员推出“马上送会员”新春福利活动&#xff0c;以超值折扣和丰富权益&#xff0c;陪用户欢度新春。本次活动为用户量身打造超级会员年卡、双年卡两类套餐&a…

作者头像 李华
网站建设 2026/5/5 6:27:52

从零开始:用Redis构建大数据实时分析系统的完整指南

从零开始:用Redis构建大数据实时分析系统的完整指南 关键词:Redis、大数据实时分析、实时数据处理、内存数据库、数据结构、滑动窗口、实时统计 摘要: 本文系统讲解如何利用Redis构建高性能大数据实时分析系统。从Redis核心数据结构与架构原理出发,结合实时分析场景的典型需…

作者头像 李华
网站建设 2026/5/1 10:39:52

Hive高级特性详解:CTE、窗口函数、UDF开发,带你从初级到资深

Hive高级特性详解&#xff1a;CTE、窗口函数、UDF开发&#xff0c;带你从初级到资深 1. 引入与连接 引人入胜的开场 想象一下&#xff0c;你是一家大型电商公司的数据分析师&#xff0c;每天都要处理海量的销售数据。有一天&#xff0c;老板突然要求你分析过去一个月内每个客户…

作者头像 李华
网站建设 2026/5/1 16:25:59

数据库容器和 Kubernetes 演进

在容器化环境中运行数据库的旅程是一次变革性的过程&#xff0c;标志着与早期 Kubernetes 主要为无状态应用程序设计的时代相比发生了重大转变。如今&#xff0c;容器化数据库代表了一种成熟的技术堆栈&#xff0c;使组织能够以与应用程序层相同的敏捷性和可扩展性来管理数据工…

作者头像 李华