首页 > 其他分享 >G - Longest Path -- 拓扑序 + DP

G - Longest Path -- 拓扑序 + DP

时间:2023-02-27 22:02:15浏览次数:43  
标签:-- 拓扑 int Longest Path include dp

G - Longest Path

https://atcoder.jp/contests/dp/tasks/dp_g

 

思路

使用拓扑序, 依此从入度为0的节点开始, 向外扩展,直至只剩一个节点

扩展的过程中,对每个点的最大路径做记录。

 

Code

https://atcoder.jp/contests/dp/submissions/3936985

#include<cstdio>
#include<algorithm>
#include<vector>
#define N_ 101000
using namespace std;
int Deg[N_], Q[N_], head, tail, n, m, D[N_];
vector<int>E[N_];
int main() {
    int i, a, b;
    scanf("%d%d", &n,&m);
    for (i = 0; i < m; i++) {
        scanf("%d%d", &a, &b);
        E[a].push_back(b);
        Deg[b]++;
    }
    for (i = 1; i <= n; i++) {
        if (!Deg[i])Q[++tail] = i;
    }
    int res = 0;
    while (head < tail) {
        int x = Q[++head];
        res = max(res, D[x]);
        for (auto &y : E[x]) {
            Deg[y]--;
            D[y] = max(D[y], D[x] + 1);
            if (!Deg[y])Q[++tail] = y;
        }
    }
    printf("%d\n", res);
}

 

标签:--,拓扑,int,Longest,Path,include,dp
From: https://www.cnblogs.com/lightsong/p/17162089.html

相关文章

  • .dt_compat 成员变量
    3.4.1使用设备树设备匹配方法  当Linux内核引入设备树以后就不再使用MACHINE_START了,而是换为了DT_MACHINE_START。DT_MACHINE_START和MACHINE......
  • ROS2
    ROS2核心概念节点创建节点流程编程接口初始化创建节点并初始化实现节点功能销毁节点并关闭接口#!/usr/bin/envpython3importrclpy......
  • restful的10个规范、序列化和反序列化的名词解释
    #概念REST全称是RepresentationalStateTransfer,中文意思是表述:表征性状态转移。RESTful是一种定义WebAPI接口的设计风格,尤其适用于前后端分离的应用模式中--------......
  • 17.django中的Contenttypes
     Contenttypes是一个app,将Django中的所有定义的表定义在一张表中INSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.c......
  • Mac相关工具和命令
    命令运行某个命令经常会遇到提示没有权限,只需要在原命令的前面加sudo即可,接着Mac自动会提示输入密码。工具homebrew:用来下载软件,方便,直接用命令行下载。......
  • jdk环境变量配置
    JDK安装具体步骤1.在官网找到对应安装包2.记住安装目录3.配置环境变量系统设置,高级设置,点击环境变量 新建用户变量变量名为:JAVA_HOME变量值为:安装目录......
  • 每日总结(7)
    所用时间:一下午代码:83博客:3知识点:Android的案例计算器课堂练习,寻找首尾相接链1packagecom.text;23importorg.omg.CORBA.WStringSeqHelper;45i......
  • 小技巧集锦(1)[陆续贴上,网友也可以加哟]
    (1)怎样将电脑里有可用字体加入WINFORM中的ComboBox中:一句话搞定:comboBox1.Items.AddRange(FontFamily.Families);(2)取得所有可用颜色并填充到asp.net的下拉菜单中:PropertyInf......
  • 【4】有道云任务二--增加笔记
             work2_addnote.py##添加笔记的测试###导入appium类库#fromappium.webdriver.webdriverimportWebDriver#importtime#fromseleni......
  • 自定义浏览器默认右键菜单
    取消原生右键事件在main.ts函数中取消浏览器默认右键菜单:window.oncontextmenu=()=>{returnfalse;};组件模板做一个不同区域右键点击之后不同菜单项的组件......