算法竞赛入门经典 每日一题(郊区春游)

Diffusion Model原理详解 Diffusion Model(扩散模型 )对标的是生成对抗网络(GAN),本文将用通俗的语言和公式为大家介绍Diffusion Model,并且结合公式为大家梳理Diffusion Model的代码。 阅读详情

郊区春游

题号:NC16122
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld

题目描述 

今天春天铁子的班上组织了一场春游,在铁子的城市里有n个郊区和m条无向道路,第i条道路连接郊区Ai和Bi,路费是Ci。经过铁子和顺溜的提议,他们决定去其中的R个郊区玩耍(不考虑玩耍的顺序),但是由于他们的班费紧张,所以需要找到一条旅游路线使得他们的花费最少,假设他们制定的旅游路线为V1, V2 ,V3 ... VR,那么他们的总花费为从V1到V2的花费加上V2到V3的花费依次类推,注意从铁子班上到V1的花费和从VR到铁子班上的花费是不需要考虑的,因为这两段花费由学校报销而且我们也不打算告诉你铁子学校的位置。

输入描述:

第一行三个整数n, m, R(2 ≤ n ≤ 200, 1 ≤ m ≤ 5000, 2 ≤ R ≤ min(n, 15))。
第二行R个整数表示需要去玩耍的郊区编号。
以下m行每行Ai, Bi, Ci(1 ≤ Ai, Bi ≤ n, Ai ≠ Bi, Ci ≤ 10000)
保证不存在重边。

输出描述:

输出一行表示最小的花费

示例1

输入

复制

4 6 3
2 3 4
1 2 4
2 3 3
4 3 1
1 4 1
4 2 2
3 1 6

输出

复制

3

这道题的主要思路就是:

先求每个点之间的最短路 用floyd

然后用状压来枚举各种情况

const int MAX=1000010;
int dp[100010][16];
int dis[1010][1010];
int n,m,R;
int r[MAX];
int main(){
    cin>>n>>m>>R;
    mms(dis,INF);
    mms(dp,INF);
    for(int i=0;i<R;i++){
        cin>>r[i];
    }
    for(int i=0;i<m;i++){
        int a,b,c;
        cin>>a>>b>>c;
        dis[a][b]=c;
        dis[b][a]=c;
    }
    for(int i=0;i<R;i++){
        dp[1<<i][i]=0;
    }
//floyd求最短路
    for(int k=1;k<=n;k++){
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                if(dis[i][j]>dis[i][k]+dis[k][j])
                    dis[i][j]=dis[i][k]+dis[k][j];
            }
        }
    }
    int x,y;
    for(int i=0;i<(1<<R);i++){//枚举状态
        for(int j=0;j<R;j++){ //枚举起点
            if(!(i&(1<<j))) continue; //没有到过起点 con
            x=r[j];
            for(int k=0;k<R;k++){ //枚举下一步的点
                if(i&(1<<k)){//去过 con
                    continue;
                }
                y=r[k];
                dp[i|(1<<k)][k]=min(dp[i|(1<<k)][k],dp[i][j]+dis[x][y]);
            }
        }
    }
    int ans=INF;
    for(int i=0;i<R;i++){
        ans=min(ans,dp[(1<<R)-1][i]);//得出result
    }
    cout<<ans<<endl;
}

从实验室到生产线:Qwen3-Omni后训练技术在实际业务中的落地挑战 本文探讨了Qwen3-Omni后训练技术在实际业务中的落地挑战,重点分析了多模态AI在工业应用中的关键问题与解决方案。通过金融风控、跨境电商等场景案例,揭示了通用模型与垂直需求的矛盾,并提供了知识蒸馏、语音合成优化等实战经验,助力企业实现技术到业务的转化。 阅读详情

相关推荐

Python爬虫实战:逆向解析央视频加密参数(附完整代码)

本文详细解析了央视频加密体系的技术实现,通过Python逆向工程实战演示如何解密动态密钥、AES加密和自定义哈希算法等核心组件。文章提供完整代码示例,涵盖GUID生成、参数构造和异步请求处理,帮助开发者掌握现代视频平台的反爬机制破解方法。

weixin_42532473的博客 1129

PTA旅游规划

迪杰斯特拉算法____Dijkstra 链接: 题目 介绍两种做法做这道题 第一种做法 也就是纯迪杰斯特拉算法,也就是复杂度为O(N*N)时间复杂度的做法。采用邻接矩阵存图+迪杰斯特拉算法。 第二种做法。 优先队列优化的迪杰斯特拉算法,时间复杂度是mlog(N)。采用邻接表+优先队列+迪杰斯特拉算法。 两种做法适用的领域不一样,而且这道题好像第一种更适合,因为图比较小,而且我的代码提交评...

weixin_43808717的博客 900

深入剖析QWEN 2.5模型架构:从GQA到RoPE的技术实现

本文深入解析了QWEN 2.5模型架构,重点介绍了其创新的GQA(分组查询注意力)和RoPE(旋转位置编码)技术实现。通过详细代码解读,展示了这些技术如何提升模型的计算效率和长文本处理能力,适用于代码生成和数学推理等任务。文章还提供了实践部署建议和调优经验,帮助开发者更好地应用这一先进模型。

weixin_42548816的博客 389

TSP问题-郊区春游+简单环

tsp问题,又称旅行商问题,原题意为一个商品推销员要去若干个城市推销商品,该推销员从一个城市出发,需要经过所有城市后,回到出发地。应如何选择行进路线,以使总的行程最短。 郊区春游 传送门 tsp 问题采用的基本描述状态为:f[i][j]f[i][j]f[i][j] ,其中 iii 将每个点均表现为二进制状态,111 表示已经过,000 表示未经过,jjj 表示完成该状态当前的点(即最后一步到达的点),由此下一步走到 kkk 点的状态转移方程为 f[i+i∗][k]=f[i][j]+dis[j][k]f[i+

国家一级划水运动员的博客 375

在Ubuntu 20.04上,用EtherCAT Igh 1.6.2驱动高创BD3E伺服电机(附完整C代码)

本文详细介绍了在Ubuntu 20.04实时内核环境下,使用EtherCAT Igh 1.6.2主站驱动高创BD3E伺服电机的完整实现方案。从实时系统配置、伺服电机PDO映射到精确控制线程设计,提供了完整的C代码样例和实际项目中的调试技巧,帮助开发者实现工业自动化中的高精度运动控制。

weixin_30772105的博客 110

一文搞懂雷达脉冲压缩和匹配滤波器

为了解决传统单频脉冲雷达面临的作用距离和空间分辨力之间的矛盾,脉冲压缩理论被提出。在接收端设计一个和发射信号能够“共轭匹配”的网络来实现脉冲压缩。接收到的回波信号通过匹配滤波器时,滤波器的增益在信号越强的频率点越大;在信号越弱的频率点,增益越小,通过这样的方式使信号在时域更加集中。脉冲压缩技术大致可分为线性调频(LFM)和相位编码。其中LFM信号易于通过硬件或各种技术产生,但是进行匹配滤波后主旁瓣比高达13.2dB,在检测多个目标时,强目标的回波旁瓣可能会把弱小信号覆盖,导致弱小信号的检测受到影响。

FPGA入门到跑路 9935

郊区春游(NC16122)状压dp

链接 **[Click here to see the original question](### 链接 Click here to see the original question 题目描述 今天春天铁子的班上组织了一场春游,在铁子的城市里有n个郊区和m条无向道路,第i条道路连接郊区Ai和Bi,路费是Ci。经过铁子和顺溜的提议,他们决定去其中的R个郊区玩耍(不考虑玩耍的顺序),但是由于他们的班费紧张,所以需要找到一条旅游路线使得他们的花费最少,假设他们制定的旅游路线为V1, V2 ,V3 … VR,那

Snowzhao的博客 305

51、基于深度卷积神经网络的自闭症分类研究

本研究提出了一种基于深度卷积神经网络的自闭症分类方法,通过融合VGGNet-19和ResNet-52模型的特征,并在决策层采用SVM分类器,实现了对自闭症谱系障碍(ASD)和典型发育(TD)个体的准确区分。研究使用ABIDE数据集,结合数据增强和特征拼接技术,取得了88.12%的分类准确率和0.88的ROC曲线下面积。结果表明,该方法在自闭症自动诊断中具有良好的性能,同时研究也探讨了其局限性,并展望了未来改进方向,如多模态数据融合、迁移学习和模型可解释性的提升。

grpc6streamer的博客 128

牛客-郊区春游(状态压缩dp)(java)(c++)

题目链接 今天春天铁子的班上组织了一场春游,在铁子的城市里有n个郊区和m条无向道路,第i条道路连接郊区Ai和Bi,路费是Ci。经过铁子和顺溜的提议,他们决定去其中的R个郊区玩耍(不考虑玩耍的顺序),但是由于他们的班费紧张,所以需要找到一条旅游路线使得他们的花费最少,假设他们制定的旅游路线为V1, V2 ,V3 … VR,那么他们的总花费为从V1到V2的花费加上V2到V3的花费依次类推,注意从铁子班...

jahup的博客 1435

Atlas 300I Duo - vllm部署Qwen3-VL-8B-Instruct

本文介绍了在Ascend NPU环境下部署Qwen3-VL-8B大语言模型的步骤。主要包括:1)安装驱动、docker和vllm镜像;2)创建特权容器并挂载设备与目录;3)进入容器安装指定版本的transformers;4)设置环境变量和NPU卡配置;5)启动vllm服务;6)测试API接口。部署过程涉及多块NPU卡的使用,需注意内存碎片化问题,最终通过vllm框架提供模型推理服务。

m0_50105717的博客 1561

2025年GESP12月认证C++四级真题解析

摘要 本文包含11道C++编程题目,涵盖指针、数组、函数参数传递、结构体和排序算法等知识点。每题2分,总分30分,主要考察学生对C++基础语法的掌握程度。题目包括指针定义与解引用(第1-4题)、二维/三维数组遍历(第4-5题)、变量作用域(第6题)、函数传参方式(第7题)、结构体操作(第8题)、递归算法(第9题)和排序稳定性判断(第10题)。最后第11题要求补全选择排序算法代码片段。每道题均提供标准答案和详细解析,适合用于检验C++基础知识的掌握情况。

lan_in的博客 317

郊区春游题解

郊区春游 题意: 给定一张图,求从某个起点出发,经过其中R个点(R个点给出)的最短路径(每个点经过且只经过一遍) 题解: 首先我们用floyed处理出任意两点的距离 dp[i][j]表示当前状态为i,当前所在的目标城市为j的最短路径 i为01串,1表示该点走过,0表示没走过 从点x到点y, 城市x已经走过:城市x是编号j的,所以(i&(1<<j))== 1,i的第j位是1,说明x走过 y还未走,所以(i&(1<<k)) == 0,i的第k位是0,说明y还没走,下一步可

qq_35975367的博客 560

FreeRTOS系统从入门到精通万字保姆级教程

例如,在基于ARM的硬件平台上,可能需要实现针对ARM处理器的上下文切换代码,并确保FreeRTOS能够正确地响应和处理ARM架构的中断。需要注意的是,在删除任务之前应确保任务已经完成了其所有重要的工作,并且没有其他的任务依赖于它,以避免数据丢失或系统不稳定。任务的优先级设定是其中的关键环节。在复杂的系统中,可能会有大量的任务需要同时运行,而这些任务的重要性和紧急程度各不相同。这通常包括创建初始任务(这些任务将负责系统的初始化和后续任务的调度)、设置系统时钟(以确保任务的准时调度和延时功能的正确性)等。

大模型大数据攻城狮的专栏 2069

NOWCODER 郊区春游(Floyd算法+状压DP)

链接:https://ac.nowcoder.com/acm/problem/16122 来源:牛客网 题意:   给n个点和m条路径和R个必经点,求经过这R个必经点得最短路径长度 思路:   状压DP,套个模板先,下次再补(下次也不一定) AC代码: #include <bits/stdc++.h> using namespace std; typedef long long int ll; const ll inf=0x3f3f3f3f; ll n,m,R,dis[209][209],r[

不爱吃鱼的猫丶的博客 317

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

郊区春游(状压dp)

链接:https://ac.nowcoder.com/acm/contest/134/D 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 今天春天铁子的班上组织了一场春游,在铁子的城市里有n个郊区和m条无向道路,第i条道路连接郊区Ai和Bi,路费是Ci。经过铁子和顺...

wangtao的博客 1476

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

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

我的头文件(不断更新)

#include&lt;set&gt; #include&lt;map&gt; #include&lt;cmath&gt; #include&lt;stack&gt; #include&lt;queue&gt; #include&lt;vector&gt; #include&lt;string&gt; #include&lt;cstdio&gt; #include&lt;c

lin的博客 599

牛客月赛4-郊区春游-(floyd+状压dp)

D 题意: 就是给你n点,m条路径,然后给你一个旅游计划,一共走k个点k<=15,然后顺序可以任意,现在问你最小的路径总和是多少。 思考: 刚开始看到数据范围n才200,就floyd一下就行了,然后又发现要求路经总和最小,如果把所有顺序都枚举一遍就是k的阶乘,复杂度太高了,想了想既然是走k个点,干脆我直接让他们联通好了,就想到了最小生成树,但是提交就WA了。人家必须是从a到b从b到c什么的,不是联通的意思。所以呢这样只能状态压缩dp了,就是dp[i][j]代表,i状态下,当前在j点的最小花费。i状态指

m0_52398496的博客 267

郊区春游(状压DP)

题目链接:https://ac.nowcoder.com/acm/problem/16122 大意:给出一个n个点和m条边带权的无向图,给出r个旅游景点,问游玩这r个景点的最小花费是多少。 思路:r的范围很小,并且也不知道起始点和终点,所以可以枚举起点和终点。 用二进制来表示01来表示这r个景点是否已经游玩,0表示未游玩,1表示已经游玩,然后枚举所有状态,总共(1~(1<<r)-1)种情况。 定义状态:dp[mask][j] 表示当前游玩状态是mask,当前位置再点j的最小花费,现在要前

qq_46653910的博客 192

牛客网 小白月赛4 D-郊区春游 最短路+状压dp

链接:https://www.nowcoder.com/acm/contest/134/D来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld题目描述今天春天铁子的班上组织了一场春游,在铁子的城市里有n个郊区和m条无向道路,第i条道路连接郊区Ai和Bi,路费是Ci。经过铁子和顺溜的提议,他们决定...

a302549450的博客 1023

(每日一题)春游———<模拟-分情况讨论>

【代码】(每日一题)春游———<模拟-分情况讨论>

2301_79580018的博客 340

小哈春游--深度搜索算法

描述 小哈准备参加学校组织的春游,出发前小哈准备往背包里装入一些零食,小哈的背包容量为w升。小哈家里一共有n袋零食,第i袋零食体积为v[i]。 小哈想知道在总体积不超过背包容量的情况下,他一共有多少种零食放法。 输入 输入包括两行 第一行为两个正整数n和w(1<=n<=30,1<=w<=2*10^9),表示零食的数量和背包的容量。 第二行n个正整数vi,表示每袋零食的体积。 输出 输出一个正整数, 表示牛牛一共有多少种零食放法。 输入样例 1 3 10 1 2 4 输出样例 1 8

CRH1129的博客 364

DP-状态压缩DP(解释+典例)

1、什么是状态压缩DP 状态压缩就是使用某种方法,简明扼要地以最小代价来表示某种状态,通常是用一串01数字(二进制数)来表示各个点的状态。这就要求使用状态压缩的对象的点的状态必须只有两种,0 或 1;当然如果有三种状态用三进制来表示也未尝不可。 状态压缩DP:顾名思义,就是用状态压缩实现DP 2、经典问题 状态压缩最经典的问题应该就是旅行商问题了 (1)问题描述:旅行推销员问题(英语:Travel...

weixin_44254608的博客 5784

AtCoder题解——ACL Beginner Contest——C - Connect Cities

题目相关 题目链接 AtCoder ACL Beginner Contest C题,https://atcoder.jp/contests/abl/tasks/abl_c。 Problem Statement There are N cities numbered 1 through N, and M bidirectional roads numbered 1 through M. Road i connects City Ai and City Bi . Snuke can perform

努力中的老周的专栏 719

使用状压dp解决tsp问题

旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。 TSP问题是一个组合优化问题。该问题可以被证明具有NPC计算复杂性。因此,任何能使该问题的求解得以简化的方法,都将受到高度的评价和关注。 旅行推销员问题是图论中最著名的问题之一,即“已给一个n

徒手拆机甲的博客 804

一道有意思的面试算法题

新年第一篇文章,先祝大家新年快乐!!那么接下来进入正文。 前言 前阵子突发奇想,突然开始刷leetcode。其中刷到了一道有意思的题目,发现这道题是当时秋招的时候,腾讯面试官曾经问过我的题目。于是分享给大家看下。 题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 初步解法 这道题第一眼看过去,思路挺简单的,我们只需要维护一个对象来记录...

weixin_34306593的博客 338
上一篇: 算法竞赛入门经典 每日一题(锁)
下一篇: 算法竞赛入门经典 每日一题(wyh的吃鸡)
郭晋龙
博客等级 码龄6年 940粉丝 449原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭晋龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值