寒假刷题第四天

PTA甲级

1017 Queueing at Bank

可以使用小顶堆模拟窗口的情况,一定是最小的时间的窗口先空出来

#include<iostream>
#include<algorithm>
#include<queue>
#include<vector>using namespace std;struct people
{int time;int process;
};
int n , k;
vector<people>v;
int close = 17 * 3600 + 1;
priority_queue<int , vector<int> , greater<int>>window;bool cmp(people a,people b)
{return a.time < b.time;
}int main()
{cin >> n >> k;for(int i = 0;i < n;i ++){int h , m , s , p;scanf("%d:%d:%d %d" ,&h ,&m ,&s ,&p);int t = h * 3600 + m * 60 + s;if(t >= 61201) continue;v.push_back({t , p * 60}); // p是分钟}sort(v.begin() , v.end() , cmp);for(int i = 0;i < k;i ++) window.push(28800);double res = 0;for(auto i : v){int t = i.time , p = i.process;int w = window.top(); // 最早结束的窗口window.pop();if(w > t){res += w - t;window.push(p + w);}else window.push(p + t);}//注意 注意 注意 有可能cnt为0if(v.size()) printf("%.1lf" , (res / 60.0 / v.size()));else puts("0.0");
}

1018 Public Bike Management

真的阴间,经典的dfs

#include<iostream>
#include<unordered_map>
#include<vector>
#include<cstring>using namespace std;const int N = 510;int c , n , s , m;
int bike[N];
int g[N][N];
int dist[N];vector<int>path;
vector<int>res; // 存最终的路径
int send , last , all_dist = 0x3f3f3f3f;void dfs(int u , int cursend , int curlast , int curdist)
{if(curdist > dist[u]) return ;path.push_back(u);if(u == s) // 走到终点{if(all_dist > curdist || all_dist == curdist && send > cursend) // 之前的路径长{res = path;all_dist = curdist;send = cursend;last = curlast;}// 阴间题目怎么不说清楚呢if(all_dist == curdist && send == cursend && last > curlast){res = path;all_dist = curdist;send = cursend;last = curlast;}}else{if(curdist < dist[u]) dist[u] = curdist;for(int i = 1;i <= n;i ++){if(g[u][i]){if(c > bike[i] + curlast) dfs(i , c - bike[i] - curlast + cursend , 0 , curdist + g[u][i]); // 需要放入自行车从last中取else dfs(i , cursend , curlast + bike[i] - c , curdist + g[u][i]);}}}path.pop_back();
}int main()
{memset(dist , 0x3f , sizeof dist);memset(g , 0x3f , sizeof g);scanf("%d %d %d %d" ,&c ,&n ,&s ,&m);for(int i = 1;i <= n;i ++) scanf("%d" ,&bike[i]);while(m --){int a , b , d;scanf("%d %d %d" ,&a ,&b ,&d);g[a][b] = g[b][a] = d;}c /= 2;dfs(0 , 0 , 0 , 0);printf("%d " , send);for(int i = 0;i < res.size();i ++){if(i) printf("->");printf("%d" , res[i]);}printf(" %d" , last);
}

1021 Deepest Root

依然是dfs,注意不能使用unordered_map会超时

#include<iostream>
#include<vector>
#include<set>
#include<cstring>using namespace std;const int N = 1e5 + 10;
int n;
vector<int>mp[N];
vector<int>res[N];
bool st[N];
int depth[N];
int p[N];int find(int x)
{if(p[x] != x) p[x] = find(p[x]);return p[x];
}void dfs(int u , int dep , int &h)
{h = max(h , dep);if(st[u]) return ;if(!mp[u].size()) return ;st[u] = true;for(auto i : mp[u])dfs(i , dep + 1 , h);
}int main()
{scanf("%d" ,&n);int cnt = n;for(int i = 1;i <= n;i ++) p[i] = i;for(int i = 0;i < n - 1;i ++){int a , b;scanf("%d %d" ,&a ,&b);int pa = find(a) , pb = find(b);if(pa != pb) p[pa] = pb , cnt --;mp[a].push_back(b) , mp[b].push_back(a);}if(cnt > 1) {printf("Error: %d components", cnt);return 0;}int maxx = 1;for(int i = 1;i <= n;i ++){memset(st , 0 , sizeof st);int h = 1;dfs(i , 1 , h);maxx = max(maxx , h);res[h].push_back(i);}for(auto i : res[maxx])printf("%d\n" , i);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/613425.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

完全卸载grafana

查看要卸载的包的名字 yum list installed yum remove grafana-enterprise.x86_64 成功

【tensorflowflutterweb】机器学习模型怎样用到前端上(未写完)

书接上回 在上一章 我们谈了怎么根据项目需求构建一个简单的机器学习模型。 ​​​​​​ ​​​​​​【tensorflow&flutter】自己写个机器学习模型用在项目上&#xff1f;-CSDN博客文章浏览阅读852次&#xff0c;点赞22次&#xff0c;收藏15次。【tensorflow&flutter…

【2023 - 探索】博0到博1,游戏新地图的探索日志

【2023 - 探索】博0到博1&#xff0c;游戏新地图的探索日志 写在最前面CSDN探索日志2023的探险 探索日志年终回顾探索 冒险回顾实习6月开始跟着老师做科研年中的一些其他事情9月开始上课开学后11月&#xff0c;读者互动 新年展望新年祝福 写在最前面 2023&#xff0c;我解锁了新…

C语言——结构体类型(二)【结构体内存对齐,结构体数组】

&#x1f4dd;前言&#xff1a; 上一讲结构体类型&#xff08;一&#xff09;中&#xff0c;我们讲述了有关结构体定义&#xff0c;创建&#xff0c;初始化和引用的内容&#xff0c;这一讲&#xff0c;我们进一步学习结构体的相关知识&#xff1a; 1&#xff0c;结构体内存对齐…

腾讯云2024年优惠券领取入口汇总

腾讯云是国内知名的云计算服务提供商&#xff0c;提供了包括云服务器、云数据库、云存储、人工智能等全方位的云服务。为了吸引更多的用户&#xff0c;腾讯云经常会推出各种优惠券&#xff0c;让用户在购买云服务时能够享受到更多的优惠&#xff0c;下面给大家整理汇总最新腾讯…

独享静态代理IP在海外市场调研中的独特优势

独享静态代理IP在海外市场调研中扮演着至关重要的角色&#xff0c;提供了一系列无可比拟的优势。独享静态代理IP的稳定性和可靠性对于长期的市场调研至关重要&#xff0c;它保证了连接的持续性和数据的准确性。通过这些方面的综合优势&#xff0c;独享静态代理IP成为海外市场调…

【华为OD机试真题2023CD卷 JAVAJS】矩阵匹配

华为OD2023(C&D卷)机试题库全覆盖,刷题指南点这里 矩阵匹配 知识点二分查找DFS搜索 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 从一个N*M(N<=M)的矩阵中选出N个数,任意两个数字不能在同一行或同一列,求选出来的N个数中第K大的数字的最小值是多少。…

每日一看大模型新闻(2023.11.20)

1.产品发布 1.1长虹&#xff1a;首个基于大模型的智慧家电AI平台 发布日期&#xff1a;2023.11.20 全球首个基于大模型智慧家电AI平台长虹云帆震撼发布&#xff01; 主要内容&#xff1a;长虹智慧AI平台发布会上&#xff0c;发布了全球首个基于大模型的智慧家电AI平台——长…

靜態住宅IP代理詳解(ISP代理)

IP地址如同我們的網路身份證&#xff0c;是我們在互聯網世界中的標識。而在這個廣闊的網路世界中&#xff0c;有一種特殊的IP地址——靜態住宅IP&#xff0c;它就像我們的網路“定居地”。 靜態住宅IP是什麼&#xff1f; 靜態住宅IP&#xff0c;顧名思義&#xff0c;是一種固定…

使用Rider C# Dll工程和Unity工程互相调用、断点方法

总体流程 创建C# Dll工程&#xff0c;生成C#工程Dll 创建Unity工程 Unity调用C#工程的代码 C#工程调用Unity工程的代码 断点方法 创建C# Dll工程&#xff0c;生成C#工程Dll 创建工程 选这个&#xff0c;注意UnityEngineDll这个选项&#xff0c;要选你目标unity版本的Dll…

R语言生物群落(生态)数据统计分析与绘图教程

详情点击链接&#xff1a;R语言生物群落&#xff08;生态&#xff09;数据统计分析与绘图教程 前沿 R 语言作的开源、自由、免费等特点使其广泛应用于生物群落数据统计分析。生物群落数据多样而复杂&#xff0c;涉及众多统计分析方法。 一&#xff1a;R和Rstudio及入门和作…

【数据结构】7大排序最详细

0.前言 接下来进入排序&#xff0c;我们知道在c语言阶段可能就学习过了像冒泡排序&#xff0c;选择排序这种比较简单的排序&#xff0c;那么接下来我们就会学习到更加高级的排序算法。但高级代表着难度的提升&#xff0c;但不用担心&#xff0c;博主会细细来谈&#xff0c;慢慢…

202312 青少年软件编程(C/C++)等级考试试卷(四级)电子学会真题

2023年12月 青少年软件编程&#xff08;C/C&#xff09;等级考试试卷&#xff08;四级&#xff09;电子学会真题 1.移动路线 题目描述 桌子上有一个m行n列的方格矩阵&#xff0c;将每个方格用坐标表示&#xff0c;行坐标从下到上依次递增&#xff0c;列坐标从左至右依次递增…

为什么要做FP独立站?FP独立站有哪些优势?

近年来&#xff0c;跨境电商的商家们面临越来越大的平台政策压力&#xff0c;商家们纷纷把眼光聚焦到独立站上&#xff0c;眼下独立站已经成为出海卖家的标配。 特别是想做FP商品的卖家&#xff0c;相对于亚马逊平台&#xff0c;独立站才是你们的最终出路... 那么&#xff0c;问…

go-zero 如何在任意地方获取yaml中的值

1、config配置文件中新增全局变量 package configimport "github.com/zeromicro/go-zero/rest"type Config struct {rest.RestConfDB struct {DataSource string}Redis struct {Addr stringPassWord stringUserName string}Auth struct {AccessSecret stringAcc…

ROS2学习笔记一:安装及测试

目录 前言 1 ROS2安装与卸载 1.1 安装虚拟机 1.2 ROS2 humble安装 2 ROS2测试 2.1 topic测试 2.2 小海龟测试 2.3 RQT可视化 2.4 占用空间 前言 ROS2的前身是ROS&#xff0c;ROS即机器人操作系统&#xff08;Robot Operating System&#xff09;,ROS为了“提高机器人…

[有固件程序]车载液晶驱动板(RTD2660H)Fondar下载/烧录器工具v3使用说明

液晶屏幕驱动烧录器 FONDAR2IIC使用说明 介绍 RTD2660液晶屏幕FONDAR烧录器&#xff0c;可烧写液晶驱动板的固件程序&#xff0c;简单易上手&#xff0c;适合开发和个人DIY爱好者&#xff0c;更换不同屏幕烧写不同程序&#xff0c;提供固件仅供测试。 软件介绍 请在Windows 10…

Delphi 11.3配置android环境

电脑安装dephi11.3的时候&#xff0c;勾选android sdk&#xff0c;但是软件安装好以后&#xff0c;还有问题 在Delphi—tool —options 里边&#xff0c;Deployment下SDKManager 中&#xff0c;看到SDk里边的感叹号&#xff0c;说明android sdk没有安装好 解决方法有2种 第一种…

一键提取视频文字或者音频

随着科技的进步&#xff0c;视频转文字技术已经变得越来越成熟&#xff0c;这种技术能够将视频中的语音转化为文字&#xff0c;为人们提供了极大的便利。水印云作为一款备受用户喜爱的在线视频转文字工具&#xff0c;凭借其高效、准确、易用的特点&#xff0c;在市场上占据了一…

21款奔驰GLS450升级23P驾驶辅助 半自动无人驾驶功能

辅助驾驶越来越多的被大家所青睐&#xff01;为了提升驾驶安全性和舒适便捷性奔驰改装原厂半自动驾驶23P辅助系统&#xff0c;星骏汇小许Xjh15863 23P智能辅助驾驶系统还是很有必要的&#xff0c;因为在跑高速的时候可以使用23P智能驾驶的自动保持车速&#xff0c;保持车距&…