首页 > 其他分享 >P1137 旅行计划

P1137 旅行计划

时间:2024-02-24 20:11:06浏览次数:37  
标签:pre 旅行 cnt int 结点 Next ++ 计划 P1137

原题链接

题解

拓扑排序+dp。

首先以入度为零的结点为起始结点,其游览城市数量为1,接下来每到下一结点,游览城市数++;即当前结点的游览城市数是上一结点的游览数+1,并取最大值。

code

 

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int head[N],Next[N*2],to[N*2],sum[N],pre[N],cnt=1,que[N];
void build(int x,int y){
    Next[cnt]=head[x];
    to[cnt]=y;
    head[x]=cnt;
    sum[y]++;
}
int main(){
    int n,m;
    cin>>n>>m;
    for (int i=1;i<=m;i++){
        int x,y;
        cin>>x>>y;
        build(x,y);
        cnt++;
    }
    int l=0,r=0;
    for (int i=1;i<=n;i++){
        if (sum[i]==0){
            que[r++]=i;
            pre[i]=1;
        }
    }
    while (l<r){
        int fi=que[l];
        for (int i=head[fi];i>0;i=Next[i]){
            if (--sum[to[i]]==0){
                que[r++]=to[i];
                pre[to[i]]=pre[fi]+1;
            }
        }
        l++;
    }
    for (int i=1;i<=n;i++) printf("%d\n",pre[i]);
    return 0;
}

 

标签:pre,旅行,cnt,int,结点,Next,++,计划,P1137
From: https://www.cnblogs.com/purple123/p/18031503

相关文章

  • P1137 旅行计划
    原题链接题解一个节点的答案一定是最大父节点+1code#include<bits/stdc++.h>usingnamespacestd;intans[100005]={0};intin[100005]={0};vector<int>G[100005];structunit{intpos,order;};intmain(){intn,m;cin>>n>>m;for(inti......
  • 如何高效自我规划?日程计划待办清单App
    《礼记·中庸》中有言:“凡事豫则立,不豫则废。”这句话对我来说,不仅是一个生活哲学,也是我管理日常工作和学习的准则。在快节奏的现代生活中,有效的自我规划对于达成目标、提升效率具有不可估量的价值。自我规划的过程包括制定每天的日程计划、记录待办清单、设置提醒、标记完成任务......
  • 信息之路计划(2024.3——2024.5)
    写在前面:马上就要退役了,真的要为\(HNMFS\)\(2024\)选拔考试做好准备了。cy推荐博客:Alex_Wei(%%%)。Part1———针对思维思维能力远远不够,需要训练思维能力。最近在比赛打得比较多,但是\(AT\)总是只打到\(C\)或\(D\),CF打得最好的一次就是切掉了\(D\)(\(Div3\)),总的来说......
  • 软件开发全套文档资料(规格说明书、详细设计、测试计划、验收报告)
    在软件全周期中,每个阶段都涉及不同的文档和支撑材料,以确保项目的顺利进行和最终的成功交付。以下是针对您列出的每个阶段所需的文档和支撑材料的简要概述。所有资料获取:https://www.cnblogs.com/suchen621/p/180254681.开发阶段需求文档:详细记录用户需求、业务需求和功能需求......
  • 在项目不同融资阶段,创业者撰写商业计划书的侧重点都是哪些?
    商业计划书大家好,商业计划书是创业过程中极为重要的一部分。它能够帮助你评估商业机会的本质,塑造商业机会机遇,创建计划,并启动和培育企业。因此,商业计划书的准备过程需要非常认真地对待,需要花费相当长的时间和精力。商业计划书需要有明确的发展路线和盈利预测,并......
  • Atm/抢掠计划——题解
    题目描述样例671223352441266510128161514435647解析题目明显是最长路,可以用spfa求最长路,但数据范围5e5明显不允许,所以我们可以用tarjan优化一下,然后这就变成了一道tarjan板子题,先用tarjan缩点,点权为几个点之和,把所有点再存到一个数组中,再按......
  • 软件开发全套技术文档|规格说明书|详细设计|测试计划|验收报告
    在软件全周期中,每个阶段都涉及不同的文档和支撑材料,以确保项目的顺利进行和最终的成功交付。以下是针对您列出的每个阶段所需的文档和支撑材料的简要概述。1.开发阶段需求文档:详细记录用户需求、业务需求和功能需求。设计文档:包括系统架构设计、数据库设计、接口设计等。开发......
  • MySQL 执行计划需要详细查看的内容
    1、id(重要):每一个select语句都会分配一个id。 id相同,从上到下执行 id不同,id越大,越先执行 id为null,不查询,仅表示一个结果集2、select_type(重要):查询类型 simple:简单查询,不包括子查询,union查询 primary:select查询字段列中存在子查询 union:存在union操......
  • ABAP:PP->MD61创建独立需求计划BAPI
    BAPI_REQUIREMENTS_CREATE*&---------------------------------------------------------------------**&Formfrm_create_pbdnr_matnr*&---------------------------------------------------------------------**&text*&----------------------......
  • P5478 [BJOI2015] 骑士的旅行 - 重链剖分
    首先分析一下题目,对于这棵树,操作如下:查询从X到Y的路径上的前k大的值。把$P_i$上的武力值减去一个$F_i$并在Y上的武力值加上一个$F_i$,再把$P_i$改成Y。将$P_i$上的武力值减去一个$F_i$再加上一个Y,并把$F_i$改成Y。由第一个我们可以想到,先用树剖,再用......