hdu 5521 (虚点?优化建图最短路)

撸毛笔记-朴朴超市 v1.01 朴朴超市 v1.01脚本地址:自动签到和组队赚朴分, 朴分可以抵扣50%的金额组队瓜分需要4人成团, 每个号每天只能开团和入队各一次每天跑一两次即可使用扫码或自己想办法捉refreshToken扫码获取token: (先微信进入朴朴超市小程序并登录注册过账号再扫码)把获取的refreshToken和备注(非必须)填到文件pupuCookie.txt里(第一次运行会自动创建), 多账号换行或&或@隔开。 阅读详情

题目链接
题解:
由于图中一个区块就是一个完全图,那么最坏的情况下有 O ( n 2 ) O(n^2) O(n2)条边!
但是,每个完全图的边权值都相同,那么可以将一个完全图的 O ( n 2 ) O(n^2) O(n2)边巧妙地减为 O ( n ) O(n) O(n)条!
具体的,在每个完全图中间可以新加一个虚点,将通往虚点的边权值设为 0 ,将虚点的出边设置为原来完全图中各边的权值,那么就可以在减少边的同时保证这个完全图中每个点到另一个点的距离不变啦!
在这里插入图片描述
代码:

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef unsigned long long ull;
#define PI acos(-1.0)
#define INF 0x3f3f3f3f3f3f3f3f
#define P pair<ll, int>
#define debug(x) cout << #x << ": " << x << endl
#define fastio ios::sync_with_stdio(false), cin.tie(0)
const int mod = 1e9 + 7;
const int M = 1000000 + 10;
const int N = 200000 + 10;

int t, n, m;
vector<P> G[N];
ll d1[N], dn[N];
int tot;

void dijkstra(int st, ll d[])
{
    for(int i = 1; i <= tot; i ++) d[i] = INF; d[st] = 0;
    bool vis[N] = { false };
    priority_queue<P, vector<P>, greater<P> > que;
    que.push(P{0, st});
    while(que.size()) {
        int now = que.top().second;
        ll dis = que.top().first;
        que.pop();
        if(vis[now]) continue;
        vis[now] = true;
        for(int i = 0; i < G[now].size(); i ++) {
            if(dis + G[now][i].first < d[G[now][i].second]) {
                d[G[now][i].second] = dis + G[now][i].first;
                que.push(P{d[G[now][i].second], G[now][i].second});
            }
        }
    }
}

int main()
{
    scanf("%d", &t);
    for(int cas = 1; cas <= t; cas ++) {
        scanf("%d %d", &n, &m);
        for(int i = 1; i <= n + n; i ++) G[i].clear();
        tot = n;
        for(int i = 1, ti, si; i <= m; i ++) {
            scanf("%d %d", &ti, &si);
            tot ++;
            for(int j = 1; j <= si; j ++) {
                int id;
                scanf("%d", &id);
                G[tot].push_back(P{ti, id});
                G[id].push_back(P{0, tot});
            }
        }

        dijkstra(1, d1);
        if(d1[n] == INF) {
            printf("Case #%d: Evil John\n", cas);
            continue;
        }
        dijkstra(n, dn);

        int ans = INF, node[N], cnt = 0;
        for(int i = 1; i <= n; i ++) {
            if(max(d1[i], dn[i]) < ans) {
                ans = max(d1[i], dn[i]);
                cnt = 0;
                node[++cnt] = i;
            } else if(max(d1[i], dn[i]) == ans) {
                node[++cnt] = i;
            }
        }

        printf("Case #%d: %lld\n", cas, ans);
        for(int i = 1; i <= cnt; i ++) {
            printf("%d%c", node[i], i == cnt ? '\n' : ' ');
        }
    }
    return 0;
}

/*

  Rejoicing in hope, patient in tribulation.

*/

作物生长模型Oryza V3实战2:下载、安装与使用 摘要:ORYZA 现在的应用范围已从单一水稻作物模拟扩展到多个水稻作物模拟。我在csdn站内也上传了“作物生长模型oryza v3大全(含所有参数模板和4个校准程序1个分析工具)”,可以说是全网最全的吧。网上搜索一般下载的v3只有一个a3主程序,不适合作全面与深入的研究,本版本从国外下载回来,一开始少了一个“SoilHydrau.exe”文件,说是有病毒被隔离了,后经历各种技术手段,并向国际水道研究所发送邮件,才得以补全所有的参数化及校准程序、分析工具,来之不易,有缘人得之。 阅读详情

相关推荐

NIDS——suricata(一)

NIDS——suricata环境安装和规则编写

weixin_58666006的博客 1273

【学习笔记】2-SAT

我的 2-SAT 竟然一直是 O(n^2) 的,吐了。

七代目鸽影 259

基于YOLOX与LPRNet的车牌检测与识别系统(Python+UI界面)实战指南

本文详细介绍了如何利用YOLOX目标检测模型与LPRNet车牌识别模型,从零构建一个完整的车牌检测与识别系统。通过解析CCPD数据集、训练深度学习模型,并最终集成到PyQt5开发的图形化UI界面中,提供了一个从数据处理到应用部署的完整实战指南,帮助开发者快速掌握智能交通系统中的关键技术。

weixin_29230901的博客 338

链表之虚结点

https://www.cnblogs.com/waring/p/4538042.html 当对一个链表的操作会改变头指针时,可以增加一个虚拟结点放在头结点前,当链表操作结束时再删除,这样可以减少一些不必要的判断,使代码更简洁更有可读性。例如,在删除一个给定值的结点时,这个结点可能会在链表中间,也可能是头结点,当是头结点时就需要修改链表表头指针,而添加一个虚拟结点后就不需要关系删除的是头结点还是中间结点了。 ListNode* removeElements(ListNode* head, int val)

凯凯王的技术生涯 1527

C语言|深入浅出讲解int转换为float全过程(附2017年统考大题案例)

int转换为float类型为什么会发生精度损失? 精度损失的详细过程究竟是什么样的? 什么样情况float会发生精度损失?没有弄懂2017年浮点数统考大题? 这一篇用2017年统考大题案例帮你更深的理解浮点数的存储规则。

DADONGOOO的博客 1万+

基于任务的功能磁共振成像的连接性分析

虽然这种方法通过减少偶然只选择特异性代表的可能性来改善可推广性,但类别内和类别间的变异性变得更难控制(例如,"鸟类"可能是一个比"车辆"更加/不那么同质的类别),并且可能会出现关于这些预定义类别是否是现实世界实体的有意义划分的担忧——尽管这个限制在某种程度上可以通过表征相似性分析来解决。特别是,海马单变量激活和语义认知区域(左下额回)中语义信息的表征强度之间的交互预测了项目的概念记忆,而海马单变量激活和视觉处理区域(腹内侧枕叶皮层)中视觉属性的表征强度之间的交互预测了图像样本的知觉记忆。

cc1609130201的博客 2231

hdu5521 Meeting 虚点建图+dij+堆优化

http://acm.hdu.edu.cn/showproblem.php?pid=5521 题意:就是问你从1和n两个地方出发,在那个点见面时间最短,若有时间相等的点 按升序输出点 存图难,算法就是dij。存图看了大佬的博客,意思是说如果直接存图 会存n*n的边 笋干爆炸,因为是集合这种,所以直接每个集合建立一个虚点,再把集合里的点连起来,相应的集合点连虚点边为给定权值,而虚点连集合点为0即...

gml1999的博客 335

【无标题】ReaxFF拟合参数以及算法安装

ReaxFF拟合参数以及算法安装

zmzyzm的博客 1419

ZONe Sneaking 优化建图 + 最短路

传送门 题目描述 分析 因为每次移动的权值不一样,所以肯定不能用BFSBFSBFS求解,不然就是类似于spfaspfaspfa的写法,容易被卡,所以我们可以去暴力建图然后跑堆优化的dij 怎么建图呢,前面的规则都比较方便处理,至于最后一条,我们可以采用拆点的方法,每个点建一个虚点,相邻的虚点之间的移动代价为1,原点到虚点的代价为1,虚点到原点的代价为0即可 代码 #pragma GCC optimize(3) #include <bits/stdc++.h> #define debug(x)

tlyzxc的博客 222

STM32单片机入门学习(六)-光敏传感器控制LED

光敏传感模块一DO端接B13,GND接GND,VCC接VCC,AO不接。LED负极接B12,正极接VCC。

指尖魔法师 4368

宇树G1语音助手完整开发指南(上)——从零构建智能知识库对话系统

本文将详细介绍如何为宇树G1人形机器人开发一个,实现"唤醒 → 对话 → 查询 → 回复"的智能助手功能。

m0_47999117的博客 785

线段树优化建图 + 迪杰斯特拉找单源最短路

先看 1, 我们可以用一个点连到线段树的节点 node {l, r} 来表示这个点到 {l, r} 各有一条单向边(橙色). 此时显然: 大区间向被包含的小区间可以有权值为 0 的单向边(绿色). 因为一个点可以到上面的大区间, 一定可以到达被包含的小区间的任意一个点.如果要实现类似线段树的 lazy 优化也是可以的. 即到达了这个线段树节点, 就是可以到这个节点所代表的区间内的所有点.显然, 这两个树是不共存的, 不能公用一个树. 就要用一定形式把这两个树连到一起. 于是…个边, 显然无法接受.

taulee01 的博客 1037

Open3D 计算点云模型的表面积和体积【2025最新版】

python编程实现 计算点云模型的表面积和体积,博客长期更新,本文最近一次更新时间为:2025年4月4日。

点云侠的博客 13万+

HDU5521 Meeting(dijkstra+巧妙建图)

HDU5521 Meeting 题意: 给你n个点,它们组成了m个团,第i个团内有si个点,且每个团内的点互相之间距离为ti,问如果同时从点1和点n出发,最短耗时多少相遇 很明显题目给出的是个无负环的图,且要跑出单源最短路,那不就是个dij吗 大方向定下,但图该怎么建呢? way1: 给每个团内的所有点两两暴力建边 如图所示:黑的为点,红的为团,相同颜色的边长度相等 共∑i=1m12si...

think_twcie的博客 279

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

HDU 5521 Meeting 最短路

给出n≤1e5n\leq1e5n≤1e5个点以及m≤1e5m\leq1e5m≤1e5个集合,每个集合SiS_iSi​包含若干个点,这些点两两之间权值为wiw_iwi​,然后求问两个人相遇的最短时间为多少以及在哪些点相遇时间是最短的。 首先是建边的问题,直接相连肯定是空间时间都不允许。构造的方法是给每个集合增加一个虚点,所有的点向这个虚点连wiw_iwi​的有向边,虚点再向所有的点连000的有向边。...

qq_40859782的博客 169

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

[最短路] HDU 5521 Meeting (最短路 + 虚点)

题目大意:有N个点,给定M个集合,集合Si里面的点两两之间的距离都为Ti,集合里面的所有点数之和<=1e6。两个人分别从1和n出发,要求相遇的最短距离,并输出相遇的点(可能多个)。 解题思路:首先无疑是最短路,然后因为同一个点可能属于两个或多个集合,故需要虚电。除了n个点外,每一个集合建一个新的点与集合中的点相连,集合中的点要到集合中的另一个点要先经过新建的点,所以走的路变成了2倍,分别从1...

蒟蒻的最后的倔强 315

HDU5521-最短路-建图

Meeting Time Limit: 12000/6000 MS (Java/Others)Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 4542Accepted Submission(s): 1436 Problem Description Bessie and her frien...

all00747的博客 159

【Dijkstra算法(邻接表+优先队列优化) 建立虚点】HDU - 5521 M - Meeting

M - Meeting HDU - 5521 Bessie and her friend Elsie decide to have a meeting. However, after Farmer John decorated his  fences they were separated into different blocks. John's farm are divided into n...

qq_41037114的博客 355

HDU 5521 Meeting(Dijkstra+虚点建图)

HDU 5521 Meeting(Dijkstra+虚点建图) Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 5813 Accepted Submission(s): 1817 Problem Description Bess...

博学 笃志 切问 近思 215

HDU 5521 Meeting(虚点建图)

Meeting 题意:从111到nnn有mmm处具有sss个点的点集合,每个集合任意两点的距离为ttt,问两人同时分别从111和nnn出发,要相遇的最短的距离是多少并输出相遇点,如果有多个答案按升序输出。 题解:真是又涨知识了…对于每个集合增加一个虚点,集合里的每个点向这个虚点建一条距离为t/2t/2t/2的边,这样就保持了原集合任意两点的距离不变。然后以111为源点跑一次最短路,以nnn为源点跑...

Eternally831143的博客 307

【HDU5521】Meeting 最短路 + 优化建图

传送⻔ 题意 有个图,有n个结点,有m个区域,相同的点可以在不同的区域中,同一区域内的点之间的距离都是一样的。有两个人分别在结点1和结点n,让两个人选择一个地方相聚,到达这个地方所用的时间最少。输出最少的时间,以及所有最短时间的点。 分析 最短路问题,怎么去建图呢 显然,一个集合里面两两建边是一件不太现实的事,考虑每一个集合建了一个虚点,那么集合之中的移动可以看成 点 - 虚点 - 点的移动 代码 #pragma GCC optimize(3) #include <bits/stdc++.h>

tlyzxc的博客 173

HDU 5521(最短路+建立虚点)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5521   题目大意:一个农场被分成了n块,然后给m个集合,每个集合中的点互相到达的时间需要ti秒,一个人在第1块,一个人在第n块,问在第几块碰面花的时间最少,如果有多个块时间一样就按照从小到大输出   题目思路:由于直接建边的话边的数量极大,那么我们可以建一个虚点,每个集合对应一个虚点,集合中...

smilestruggler_Fly To Higher 465

HDU5521 Meeting(最短路建图,堆优化的dijkstra)

Problem Description Bessie and her friend Elsie decide to have a meeting. However, after Farmer John decorated his fences they were separated into different blocks. John’s farm are divided into n blo...

riba2534的博客 555

HDU 5521 Meeting (最短路SPFA+建立虚点)

Meeting Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 5353    Accepted Submission(s): 1700 Problem Description Bessie and her friend El...

qq_41690953的博客 229

hdu5521 M - Meeting(最短路+dijkstra+虚点)

题意: 给你n个点和m组集合,让你求点1到点n的最短路。 这m组集合中,每行给一个t代表这个强连通集内任两点互相可达的时间,一个s表集合的容量,剩下s个数的是点的标号。 要输出的是一人在1,一人在n,是否存在中途某点,使二人最短时间相遇。 从两端各跑一遍dijkstra,分别记到dis1数组和disn数组中, 在i点实际相遇时间deed=max(dis1[i],disn[i]),...

小衣同学的博客 445

最短路模板(Flody+Dijkstra以及各类优化)更新ing

Flody + 路径输出 ,Bellman-Ford: https://blog.youkuaiyun.com/nuoyanli/article/details/88842256 Dijkstra + 优先队列 + 前向星,Dijkstra + 邻接矩阵,邻接矩阵 + 优先队列 +Dijkstra: https://blog.youkuaiyun.com/nuoyanli/article/details/88842...

nuoyanli的博客 1508

[洛谷P1983] 车站分级

上个月做完了旅行计划,本来想做这道题的,可最终拖了一个月才A掉 原题链接 理解题意 这题请尽量看懂题目,否则直接GG。 题上有一个条件被隐藏了,但它非常重要: 途中停靠点等级>途中未停靠点等级 那么解决题目的方法就出来了: 1. 制造一个图 2. 将每一次行驶途中停靠的点向未停靠点连一个边 类似于这样(0,1,2,3,4表示停靠点,5,6,7,8,9表示未停靠点) 全部弄完后直接上一次拓扑...

weixin_45523071的博客 266
上一篇: 线段树yy (线段树维护等比数列的和)
下一篇: CodeForces - 786B (线段树?优化建图最短路)
ttoobne
博客等级 码龄9年 13粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值