学习总结18
# 营救
## 题目背景
“咚咚咚……”“查水表!”原来是查水表来了,现在哪里找这么热心上门的查表员啊!小明感动得热泪盈眶,开起了门……
## 题目描述
妈妈下班回家,街坊邻居说小明被一群陌生人强行押上了警车!妈妈丰富的经验告诉她小明被带到了 t 区,而自己在 s 区。
该市有 m 条大道连接 n 个区,一条大道将两个区相连接,每个大道有一个拥挤度。小明的妈妈虽然很着急,但是不愿意拥挤的人潮冲乱了她优雅的步伐。所以请你帮她规划一条从 s 至 t 的路线,使得经过道路的拥挤度最大值最小。
## 输入格式
第一行有四个用空格隔开的 n,m,s,t,其含义见【题目描述】。
接下来 m 行,每行三个整数 u, v, w,表示有一条大道连接区 u 和区 v,且拥挤度为 w。
**两个区之间可能存在多条大道**。
## 输出格式
输出一行一个整数,代表最大的拥挤度。
## 样例 #1
### 样例输入 #1
```
3 3 1 3
1 2 2
2 3 1
1 3 3
```
### 样例输出 #1
```
2
```
## 提示
#### 数据规模与约定
- 对于 30% 的数据,保证 n<= 10。
- 对于 60% 的数据,保证 n<= 100。
- 对于 100% 的数据,保证 1 <= n<=10^4,1 <= m <= 2 * 10^4,w <= 10^4,1 <= s, t <= n。且从 s 出发一定能到达 t 区。
---
#### 样例输入输出 1 解释
小明的妈妈要从 1 号点去 3 号点,最优路线为 1->2->3。
解题思路
简单把所有大道都进行排序,然后按照从小到大的顺序开始生成树,直到起点和终点相同。
代码
#include <bits/stdc++.h>
using namespace std;
int g[100010];
struct ss
{int u;int v;int w;
}j[100010]; //保存数据
int n,m,k;
int u,v,w;
int cmp(ss x,ss y) //比较大小
{return x.w<y.w;
}
int find1(int x) //寻找根节点
{if(g[x]!=x)g[x]=find1(g[x]);return g[x];
}
int main()
{int x,q,e,sum=0,s,t;scanf("%d%d%d%d",&n,&m,&s,&t);for(x=1;x<=n;x++){g[x]=x;}for(x=1;x<=m;x++){scanf("%d%d%d",&j[x].u,&j[x].v,&j[x].w);}sort(j+1,j+m+1,cmp); //进行排序for(x=1;x<=m;x++){q=find1(j[x].u);e=find1(j[x].v);if(q!=e) //根不相同{g[q]=e; //相连if(find1(s)==find1(t)) //相同,起点和终点互通{printf("%d",j[x].w);break;}}}return 0;
}
# 买礼物
## 题目描述
又到了一年一度的明明生日了,明明想要买 B 样东西,巧的是,这 B 样东西价格都是 A 元。
但是,商店老板说最近有促销活动,也就是:
如果你买了第 I 样东西,再买第 J 样,那么就可以只花 K(I,J) 元,更巧的是,K(I,J) 竟然等于 K(J,I)。
现在明明想知道,他最少要花多少钱。
## 输入格式
第一行两个整数,A,B。
接下来 B 行,每行 B 个数,第 I 行第 J 个为 K(I,J)。
我们保证 K(I,J)=K(J,I) 并且 K(I,I)=0。
特别的,如果 K(I,J)=0,那么表示这两样东西之间不会导致优惠。
注意 K(I,J) **可能大于** A。
## 输出格式
一个整数,为最小要花的钱数。
## 样例 #1
### 样例输入 #1
```
1 1
0
```
### 样例输出 #1
```
1
```
## 样例 #2
### 样例输入 #2
```
3 3
0 2 4
2 0 2
4 2 0
```
### 样例输出 #2
```
7
```
## 提示
样例解释 2。
先买第 2 样东西,花费 3 元,接下来因为优惠,买 1,3 样都只要 2 元,共 7 元。
(同时满足多个“优惠”的时候,聪明的明明当然不会选择用 4 元买剩下那件,而选择用 2 元。)
数据规模
对于 30% 的数据,1<= B<= 10。
对于 100% 的数据,1<= B<=500,0<= A,K(I,J)<=1000。
解题思路
把所有的价格排序,从大到小的进行生成树,这样我们只要把一开始进集合时的几个加上就行了。
代码
#include<bits/stdc++.h>
using namespace std;
int a,b;
struct ss
{int x;int y;int mo;
}g[510*510];
int j[510];
int j2[510];
int find1(int x)
{if(j[x]==x)return x;return j[x]=find1(j[x]);
}
void unit(int x,int y)
{j[find1(y)]=find1(x);
}
int cmp(ss x,ss y)
{return x.mo<y.mo;
}
int main()
{int x,y,n=0,sum;scanf("%d%d",&a,&b);for(x=1;x<=b;x++)j[x]=x;for(x=1;x<=b;x++){for(y=1;y<=b;y++){scanf("%d",&g[++n].mo);if(g[n].mo==0||g[n].mo>a)g[n].mo=a;g[n].x=x;g[n].y=y;}}sort(g+1,g+n+1,cmp);sum=a;for(x=1;x<=n;x++){if(find1(g[x].x)!=find1(g[x].y)){unit(g[x].x,g[x].y);sum+=g[x].mo;}}printf("%d",sum);return 0;
}
# 租用游艇
## 题目描述
长江游艇俱乐部在长江上设置了 n 个游艇出租站 1,2,……,n。游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站 i 到游艇出租站 j 之间的租金为 r(i,j)(1<= i< j<= n)。试设计一个算法,计算出从游艇出租站 1 到游艇出租站 n 所需的最少租金。
## 输入格式
第一行中有一个正整数 n,表示有 n 个游艇出租站。接下来的 n-1 行是一个半矩阵 r(i,j)(1<= i<j<= )。
## 输出格式
输出计算出的从游艇出租站 1 到游艇出租站 n 所需的最少租金。
## 样例 #1
### 样例输入 #1
```
3
5 15
7
```
### 样例输出 #1
```
12
```
## 提示
n<= 200,保证计算过程中任何时刻数值都不超过 10^6。
代码
#include<bits/stdc++.h>
using namespace std;
int n;
int dp[210];
int g[210][210];
int main()
{int x,y;scanf("%d",&n);for(x=1;x<=n-1;x++){for(y=x+1;y<=n;y++){scanf("%d",&g[x][y]);}}for(x=1;x<=n-1;x++){for(y=x;y<=n;y++){if(dp[y]==0||dp[y]>dp[x]+g[x][y]){dp[y]=dp[x]+g[x][y];}}}printf("%d",dp[n]);
}
相关文章:
学习总结18
# 营救 ## 题目背景 “咚咚咚……”“查水表!”原来是查水表来了,现在哪里找这么热心上门的查表员啊!小明感动得热泪盈眶,开起了门…… ## 题目描述 妈妈下班回家,街坊邻居说小明被一群陌生人强行押上了警车&#…...
SpringMVC的执行流程
过去的开发中,视图阶段(老旧JSP等) 1.首先用户发送请求到前端控制器DispatcherServlet(这是一个调度中心) 2.前端控制器DispatcherServlet收到请求后调用处理器映射器HandlerMapping 3.处理器映射器HandlerMapping找到具体的处理器,可查找xml配置或注…...
Vue项目启动过程全记录(node.js运行环境搭建)
一、安装node.js并配置环境变量 1、安装node.js 从Node.js官网下载安装包并安装。然后在安装后的目录(如果是下载的压缩文件,则是解压缩的目录)下新建node_global和node_cache这两个文件夹。 node_global:npm全局安装位置 node_…...
Linux下如何配置环境变量
在Linux下配置环境变量通常有几种方法,具体取决于你希望将环境变量设置为全局还是仅对当前会话有效。以下是一些常见的方法: 永久性全局配置:要使环境变量在所有用户和会话中永久生效,可以编辑 /etc/environment 文件。在文件中添…...
PyCharm 主题和字体 (Scheme Editor Font)
PyCharm 主题和字体 [Scheme & Editor Font] References Scheme & Editor Font File -> Settings -> Editor -> Colors & Fonts -> Font Show only monospaced fonts: 只显示等宽字体。编程时使用等宽字体效果较好。 References [1] Yon…...
二叉树相关OJ题
创作不易,感谢三连!! 一、选择题 1、某二叉树共有 399 个结点,其中有 199 个度为 2 的结点,则该二叉树中的叶子结点数为( ) A.不存在这样的二叉树 B.200 C.198 D.199解析:选B&…...
文物保护系统守护历史岁月,成都青铜展科技闪耀
一、“吉金万里-中国西南青铜文明展”隆重开幕 1月27日,“吉金万里-中国西南青铜文明展”在成都金沙遗址博物馆向公众开放,奉上一场精彩的青铜文明“盛宴”。本次展览汇集了中国西南地区32家文博单位,以青铜器为代表的294件经典文物…...
[计算机网络]---Http协议
前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 本期学习…...
Hexo删除主题
一、找到存放主题的目录 1、一般在入博客中的theme目录,这里以next主题为例。 在theme目录中,打开Git Bash Here; ls 列出主题目录 rm -rf 填需要删除的主题目录 2、另一种情况,以fluid主题为例;之前不知道是用那种…...
RK3399平台开发系列讲解(USB篇)U盘等存储类设备
🚀返回专栏总目录 文章目录 一、什么是U盘等存储类设备二、U盘设备传输数据结构三、U盘识别需要打开的宏沉淀、分享、成长,让自己和他人都能有所收获!😄 📢介绍U盘等存储类设备。 一、什么是U盘等存储类设备 USB Mass Storage Device Class(USB MSC/UMS) USB大容量存…...
一个页面需要加载大量的图片,如何提升用户体验?
当网站页面需要加载大量图片时,优化用户体验非常关键,以下是一些方法来提升用户体验: 图片懒加载(Lazy Loading):只加载用户可以看到的图片,当用户向下滚动页面时,再加载其他图片。这…...
JRT监听-PDF-Excel-Img
依赖全新设计,我们无需再顾虑历史兼容性的束缚;同时,基于多年来累积的深入需求理解,JRT监听机制巧妙地借助CMD命令模式,达成了监听的全面统一。无论是PDF、Excel还是图片文件,都不再需要特殊对待或额外区分…...
Pulsar-架构与设计
Pulsar架构与设计 一、背景和起源二、框架概述1.设计特点2.框架适用场景 三、架构图1.Broker2.持久化存储(Persistent storage)3.Pulsar元数据(Metadata store) 四、功能特性1.消息顺序性2.消息回溯3.消息去重4.消息重投递5.消息重…...
LeetCode每日一题589. N-ary Tree Preorder Traversal
文章目录 一、题目二、题解 一、题目 Given the root of an n-ary tree, return the preorder traversal of its nodes’ values. Nary-Tree input serialization is represented in their level order traversal. Each group of children is separated by the null value (S…...
html5移动端适配;检测浏览器信息函数
html5移动端适配 //动态改变font-size大小 (function changeFontSize() {let resizeEvt orientationchange in window ? orientationchange : resizeif (!isPC()) {let docEl document.documentElement;// recalc function () {let clientWidth docEl.clientWidth;docEl.…...
go依赖注入库samber/do使用
英语版本 介绍 以简单和高效而闻名的Go语言在其1.18版本中引入了泛型,这可以显着减少大量代码生成的需要,使该语言更加强大和灵活。如果您有兴趣, Go 泛型教程 是很好的学习资源。 通过使用 Go 的泛型,samber/do库为依赖注入 (…...
JMeter 配置元件之按条件读取CSV Data Set Config
实践环境 win10 JMeter 5.4.1 需求描述 需求是这样的,需要压测某个接口(取消分配接口),请求这个接口之前,需要先登录系统(物流WMS系统),并在登录后,选择并进入需要操作的仓库,然后请求接口,…...
MySQL跨服务器关联查询
1. 首先确认服务器的Federated引擎是否开启 show engines;修改数据库的配制文件my.ini,(我的my.ini的路径为:D:\ProgramData\MySQL\MySQL Server 5.7/my.ini),将federated添加到my.ini文件中 到MySQL的my.cnf配置文件中修改 在 [mysqld] 下方加入 federated 然后重…...
分库分表浅析
简介 对于任何系统而言,都会设计到数据库随着时间增长而累积越来越多的数据,系统也因为越来越多的需求变迁导致原有的设计不再满足现状,为了解决这些问题,分库分表就会走进视野,带着几个问题走入分库分表。 什么是分…...
java 宠物医院系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目
一、源码特点 java 宠物医院系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&…...
如何用轻量工具实现Windows 11系统深度净化?
如何用轻量工具实现Windows 11系统深度净化? 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改以简化和改善你的Wi…...
VMware Unlocker:在非苹果硬件上运行macOS虚拟机的完整解决方案
VMware Unlocker:在非苹果硬件上运行macOS虚拟机的完整解决方案 【免费下载链接】unlocker 项目地址: https://gitcode.com/gh_mirrors/unloc/unlocker VMware Unlocker是一个开源工具,专门解决在非苹果硬件上使用VMware虚拟机运行macOS系统时的…...
实战避坑!从WMS视角看Android UI线程优化:为什么主线程耗时必掉帧?
从WMS到Choreographer:Android主线程耗时操作导致丢帧的底层原理与实战优化 当你在Android应用中滑动列表时突然出现卡顿,或是界面渲染出现明显延迟,这背后往往隐藏着主线程耗时操作与WMS(WindowManagerService)、Chor…...
手把手教你用Swaks和Gophish绕过SPF,搭建自己的邮件钓鱼测试环境(附避坑指南)
企业级邮件安全测试实战:从SPF绕过到钓鱼环境搭建 邮件安全测试已成为企业安全防护体系中不可或缺的一环。据统计,超过90%的网络攻击始于钓鱼邮件,而其中近40%的成功攻击源于SPF配置不当或完全缺失。本文将系统性地介绍如何构建一个完整的邮件…...
终极指南:5个实用技巧解决Rainmeter开发中的内存保护异常问题
终极指南:5个实用技巧解决Rainmeter开发中的内存保护异常问题 【免费下载链接】rainmeter Desktop customization tool for Windows 项目地址: https://gitcode.com/gh_mirrors/ra/rainmeter 在Rainmeter桌面定制工具的开发过程中,内存保护异常&a…...
AI写论文实用宝典,4款AI论文生成工具搞定各类论文写作!
在2025年的学术写作智能化浪潮中,越来越多的人开始依赖AI写论文工具进行创作。尽管这些工具的使用越来越普遍,但在撰写硕士、博士论文等较长篇幅的学术文章时,许多AI论文写作工具往往陷入缺乏理论深度和逻辑性不强的问题。普通的AI写专著或AI…...
串口转HID实战:CH9329芯片在无外网环境下的应用指南
CH9329芯片串口转HID实战:隔离环境下的设备控制方案 在工业控制、医疗设备和某些特殊应用场景中,经常需要在物理隔离的网络环境下实现设备控制。CH9329芯片作为一款串口转HID(人机接口设备)的专业芯片,为解决这类问题提…...
28:L构建AI Agent安全:蓝队的智能代理防御
作者: HOS(安全风信子) 日期: 2026-03-19 主要来源平台: GitHub 摘要: AI Agent的发展为安全防御带来了新的可能性,但也带来了新的安全挑战。基拉等对手可能利用AI Agent进行攻击。L深入研究AI Agent安全技术ÿ…...
PWM技术原理与电机调速应用详解
PWM技术原理与电机调速应用详解1. PWM基础概念解析1.1 脉冲宽度调制定义PWM(Pulse Width Modulation)即脉冲宽度调制,是一种通过调节脉冲信号的宽度(占空比)来实现能量控制的电子电力技术。该技术在直流电机调速、开关电源、逆变器等电力电子领域有广泛应用。1.2 脉…...
超越单一工具:在快马平台探索多模型ai辅助开发的全新工作流
在开发过程中,AI辅助工具已经逐渐成为提升效率的利器。最近我在尝试使用InsCode(快马)平台时,发现它提供的多模型AI辅助开发能力,远比单一工具更加强大和灵活。下面分享一个我实践的综合示例项目,展示如何利用平台的多模型能力优化…...
