每日一题----昂贵的婚礼

#include <iostream>
#include <algorithm>
#include <cstring>
#include <queue>
#include <vector>
using namespace std;
//本题酋长的允诺也算一个物品,最后一定要交给酋长,那么等级不能超过酋长的等级范围const int N = 150 * 150,M = N;
typedef pair<int,int> pll;
int dist[N];//距离数组,这里代表到当前点的花费
int n,m;
int level[N];
//每次交易只能在等级限制范围内可以交易
bool st[N];
int e[M],h[N],idx,ne[M],w[M];
int price[N];//每个物品的价值,下标就是编号
void add(int a,int b,int c)
{e[idx] = b,w[idx] = c,ne[idx] = h[a],h[a] = idx++;
}
int dijkstra(int l,int r)
{memset(dist,0x3f,sizeof dist);memset(st,0,sizeof st);dist[0] = 0;priority_queue<pll,vector<pll>,greater<pll>> heap;heap.push({0,0});//第一个是点,第二个是当前点的距离//dijkstra堆优化算法,优化在取路径最短那里while(heap.size()){auto t = heap.top().second;heap.pop();if(st[t]) continue;st[t] = true;for(int i = h[t];i != -1;i = ne[i]){int j = e[i];if(dist[j] > dist[t] + w[i] && level[j] >= l && level[j] <= r){dist[j] = dist[t] + w[i];heap.push({dist[j],j});}}}return dist[1];
}
int main()
{cin>>m>>n;//0是虚拟源点,比如到3要10000,不用其他物品换,直接买得到的价格//比如拿2去换1的物品,就用箭头指向1memset(h,-1,sizeof h);for(int i = 1;i <= n;i++){int cnt;cin>>price[i]>>level[i]>>cnt;add(0,i,price[i]);for(int j = 0;j < cnt;j++){int id,cost;cin>>id>>cost;add(id,i,cost);//id指向i代表id换i所需的花费}}int res = 0x3f3f3f3f;//枚举酋长允诺的等级区间之内for(int i = level[1] - m;i <= level[1];i++){res = min(res,dijkstra(i,i + m));}cout<<res<<endl;return 0;
}
相关文章:
每日一题----昂贵的婚礼
#include <iostream> #include <algorithm> #include <cstring> #include <queue> #include <vector> using namespace std; //本题酋长的允诺也算一个物品,最后一定要交给酋长,那么等级不能超过酋长的等级范围const int N 150 * 15…...
css实战——清除列表中最后一个元素的下边距
需求描述 常见于列表的排版,如文章列表、用户列表、商品列表等。 代码实现 <div class"listBox"><div class"itemBox">文章1</div><div class"itemBox">文章2</div><div class"itemBox"…...
Clickhouse学习笔记(15)—— Clickhouse备份
手动备份 参考官网:Backup and Restore | ClickHouse Docs 简单来说,就是我们可以通过ALTER TABLE ... FREEZE PARTITION ...命令为表分区创建一个本地副本,然后这个副本硬链接到/var/lib/clickhouse/shadow/文件夹,因此其不会耗…...
想买GPT4会员却只能排队?来看看背后的故事!
文章目录 🧐 为什么要进候选名单?🔍 究竟发生了什么?😮 IOS端还能买会员!🤔 网页端为啥不能订会员?第一点:防止黑卡消费第二点:当技术巨头遇上资源瓶颈&#…...
Oracle(17)Managing Roles
目录 一、基础知识 1、基础介绍 2、Predefined Roles 预定义的角色 3、各种角色的介绍 二、基础操作 1、创建角色 2、修改用户默认role 3、回收role 4、删除role 5、为角色授权 6、授予角色给用户 7、查看用户包含的角色: 8、查看角色所包含的权限 9、…...
小程序中如何设置门店信息
小程序是商家转型升级的利器,小程序中门店信息的准确性和完整性对于用户的体验和信任度都有很大的影响。下面具体介绍门店信息怎么在小程序中进行设置。 在小程序管理员后台->门店设置处,可以门店设置相关。主要分为2个模块,一个是门店级…...
SCons
什么是构建工具(系统) 构建工具(software construction tool)是一种软件,它可以**根据一定的规则或指令,将源代码编译成可执行的二进制程序。**这是构建工具最基本也最重要的功能。 实际上构建工具的功能…...
蓝桥杯每日一题2023.11.14
题目描述 题目分析 此题目的最终目标是将字母都填上数使等式符合条件,实际我们发现可以使用搜索将所有符合条件的进行判断(答案:29) 由于小数可能会出现错误故我们将其进行简单变化进行搜索 #include<bits/stdc.h> using…...
力扣labuladong——一刷day33
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣652. 寻找重复的子树 前言 前序位置的代码只能从函数参数中获取父节点传递来的数据,而后序位置的代码不仅可以获取参数数据,还可…...
spring cloud alibaba之nacos
spring cloud nacos 安装和启动nacos # 解压nacos安装包 # tar -zvxf nacos-server-1.4.1.tar.gz# nacos默认是以集群的模式启动,此处先用单机模式 # cd /usr/local/mysoft/nacos/bin # sh startup.sh -m standalone# nacos 日志 # tail -f /usr/local/mysoft/na…...
python自动化第一篇—— 带图文的execl的自动化合并
简述 最近接到一个需求,需要为公司里的一个部门提供一个文件上传自动化合并的系统,以供用户稽核,谈到自动化,肯定是选择python,毕竟python的轮子多。比较了市面上几个用得多的python库,我最终选择了xlwings…...
使用 Redis 实现分布式锁,解决分布式锁原子性、死锁、误删、可重入、自动续期等问题(使用SpringBoot环境实现)
目录 一、前言二、分布式锁具备的特点三、Redis分布式锁的实现核心思路四、分布式锁代码实现(解决分布式锁原子性、死锁、误删、可重入、自动续期等问题)4.1、分布式锁实现工具类4.2、测试分布式锁效果 五、分布式锁常见问题以及解决方法5.1、分布式锁死…...
mysql oracle统计报表每天每月每年SQL
mysql查询当天、昨天、本周、上周、近7天、近30天、本月、上个月、近6个月、本季度、上季度、本年和去年的数据 注意 在 XML 中 < 应该转为 < 当天 SELECT * FROM 表名 WHERE TO_DAYS(时间字段名) TO_DAYS(NOW()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS(NOW()) - TO…...
通过Python设置及读取PDF属性,轻松管理PDF文档
PDF文档属性是嵌入在PDF文档中的一些与文档有关的信息,如作者、制作软件、标题、主题等。PDF属性分为默认属性和自定义属性两种,其中默认属性是一些固定的文档信息,部分信息自动生成(如文件大小、页数、页面大小等信息)…...
10. 深度学习——模型优化
机器学习面试题汇总与解析——模型优化 本章讲解知识点 前言低秩近似剪枝与稀疏约束参数量化二值网络知识蒸馏紧凑的网络结构本专栏适合于Python已经入门的学生或人士,有一定的编程基础。本专栏适合于算法工程师、机器学习、图像处理求职的学生或人士。本专栏针对面试题答案进…...
macos 上彻底卸载 DevEco Studio
1. 退出DevEco Studio: 确保DevEco Studio没有在运行。如果它在Dock中,可以右键点击其图标,然后选择退出。或者使用Command Q快捷键确保应用程序完全退出。 2. 删除DevEco Studio应用程序: 打开“应用程序”文件夹&#x…...
Nginx(五) break,if,return,rewrite和set指令的执行顺序深究
本篇文章主要对break,if,return,rewrite和set这5个指令的执行顺序进行深究,如需了解这5个指令的功能和配置,请参考另一篇文章 Nginx(三) 配置文件详解 由于文章篇幅较长,所以我就先把结论贴出来,…...
八大学习方法(金字塔模型、费曼学习法、布鲁姆学习模型)
在微博上看到博主发的,觉得总结很好,在此摘录:...
K8S的基础知识
K8S的意义与入门 专有名词 容器:包含了运行一个应用程序所需要的所有东西,包括:代码、运行时、各种依赖和配置。pod:K8s调度的最小单元,包含一个或多个容器。一个容器组中的容器具有紧密耦合性,共享资源,存储空间和IP。即同一个容器组中的容器可以通过localhost:xxx访问…...
java:基于jjwt写一个jwt工具类
背景 在Java中,使用JWT(JSON Web Tokens)相关的包通常包括以下内容: jjwt:JJWT是一个非常流行的Java JWT库,它提供了简单易用的API来创建和验证JWT。jose4j:JOSE4J是一个用于处理JSON Web签名…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
