ZISUOJ 2024算法基础公选课练习一(3)

前言、

接(2)后完成I-J两道题

一、题目总览

二、具体题目

2.1 问题 I: 帆帆的图:

 

思路:

考察拓扑排序和图论(拓扑排序也是排序,<滑稽>),都是模板,我就直接拿去年ACM的拓扑排序的模板套了

参考代码:

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 3e5+5;
int n,m;
int val[N],in[N],dp[N][30];
int sum;
int ans;
vector<int> E[N];
queue<int> Q;
void solve(){cin >> n >> m;for(int i = 1;i<=n;i++){char c;cin >> c;val[i]=c-'a'+1;dp[i][val[i]]++;}for(int i = 1;i<=m;i++){int x,y;cin >> x >> y;E[x].push_back(y);in[y]++;}for(int i = 1;i<=n;i++){if(!in[i]) Q.push(i);}while(!Q.empty()){int x=Q.front();Q.pop();in[x]=-1;sum++;for(int i = 0;i<E[x].size();i++){int y=E[x][i];for(int j = 1;j<=26;j++){if(val[y]==j){dp[y][j]=max(dp[y][j],dp[x][j]+1);}else{dp[y][j]=max(dp[y][j],dp[x][j]);}}in[y]--;if(!in[y]){Q.push(y);}}}if(sum<n){cout << "-1" << '\n';return;}for(int i = 1;i<=n;i++){for(int j = 1;j<=26;j++){ans=max(dp[i][j],ans);}}cout << ans << '\n';
}
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int _ = 1;while(_--){solve();}return 0;
}

2.2 问题 J: 帆帆打怪:

思路:

贪心的思路,先对l、r、c分别升序排序,在满足r大于l的前提下,找最小的差值d=r-l,由于找到一个d,就会少一对l和r,假设我们对l做循环,那么就需要一直对r中大于l的数据做排序,我这里把r直接放在set中,让其自动排序,这样set中第一个数据(值最小的在第一个)就是我们要找的,最后再对d排序,然后与求sigma(di*ci)即可

参考代码:

#include <bits/stdc++.h>using i64 = long long;void solve(){std::vector<i64> l,r,c;int n;std::cin >> n;l.resize(n+1);r.resize(n+1);c.resize(n+1);for(int i = 1;i<=n;i++){std::cin >> l[i];}for(int i = 1;i<=n;i++){std::cin >> r[i];}for(int i = 1;i<=n;i++){std::cin >> c[i];}std::sort(l.begin()+1,l.end());std::sort(r.begin()+1,r.end());std::sort(c.begin()+1,c.end());std::vector<i64> d(n+1,0);std::set<i64> st;int k = n;for(int i = n;i>=1;i--){while(k>=1&&r[k]>l[i]){st.insert(r[k]);k--;}d[i] = *st.begin()-l[i];st.erase(st.begin());}std::sort(d.begin()+1,d.end());i64 ans = 0;for(int i = 1;i<=n;i++) ans+=d[i]*c[n-i+1];std::cout << ans << '\n';}
int main(){std::cin.tie(nullptr)->sync_with_stdio(false);int t = 1;std::cin >> t;while(t--){solve();}return 0;
}

后记、

这两个题需要有一定基础和思维,写不来的友友不用焦虑

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

窨井监测遥测终端RTU IP68防水强信号穿透力

在窨井的潮湿 黑暗和腐蚀性环境中 常规物联网设备往往难以生存 如何突破层层环境挑战 轻松应对极端条件 确保信号 24h不掉线&#xff0c;不延迟 不仅是对技术的突破 更是对恶劣环境的征服 ↓↓↓ 坚守 ——严苛环境下的工业设备 计讯物联工业级设备&#xff0c;专为恶劣环境设计…

python opencv3

三、图像预处理2 1、图像滤波 为图像滤波通过滤波器得到另一个图像。也就是加深图像之间的间隙&#xff0c;增强视觉效果&#xff1b;也可以模糊化间隙&#xff0c;造成图像的噪点被抹平。 2、卷积核 在深度学习中&#xff0c;卷积核越大&#xff0c;看到的信息越多&#xff0…

Mac上的免费压缩软件-FastZip使用体验实测

FastZip是Mac上的一款免费的压缩软件&#xff0c;分享一下我在日常使用中的体验 压缩格式支持7Z、Zip&#xff0c;解压支持7Z、ZIP、RAR、TAR、GZIP、BZIP2、XZ、LZIP、ACE、ISO、CAB、PAX、JAR、AR、CPIO等所有常见格式的解压 体验使用下来能满足我所有的压缩与解压的需求&a…

网络自动化04:python实现ACL匹配信息(主机与主机信息)

目录 背景分析代码代码解读代码总体结构1. load_pattern_from_excel 函数2. match_and_append_pattern 函数3. main 函数总结 最终的效果&#xff1a; 今天不分享netmiko&#xff0c;今天分享一个用python提升工作效率的小案例&#xff1a;acl梳理时的信息匹配。 背景 最近同事…

Linux之sed命令详解

文章目录 &#x1f34a;自我介绍&#x1f34a;sed概述&#x1f34a;sed语法讲解格式&#xff1a;options 命令选项{commmand}[flags] &#x1f34a;场景训练 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以&#xff1a;点赞关注评论收藏&#xff08;一键四连&#xff…

用ChatGPT完成高质量文献综述全过程实操指南,用高级学术版专业应用gpts轻松搞定

文献综述在学术研究中占据核心地位,不仅为研究提供坚实的理论基础,也是创新观点和理论框架构建的重要支柱。然而,撰写高质量的文献综述往往是一项复杂且繁重的工作,需要研究者对领域内的文献进行广泛筛选、分类、对比和整合。该过程不仅考验研究者的分析能力,还要求对文献…

Java题目笔记(十四)Date +综合练习

一、时间计算时间比较 import java.util.Date; import java.util.Random;public class Main {public static void main(String[] args) {//需求1Date d1new Date(0L); //从时间原点开始经过了0毫秒long timed1.getTime();timetime1000L*60*60*24*365; //一年的时间d1.setTime(…

【C++练习】计算应发利润总数

题目&#xff1a;计算应发利润总数 问题描述&#xff1a; 某公司根据销售额 x&#xff08;单位&#xff1a;元&#xff09;计算应发利润总数 y&#xff08;单位&#xff1a;元&#xff09;&#xff0c;具体计算规则如下&#xff1a; 如果销售额 x 小于等于 100,000 元&#…

Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决

1、问题背景 代码上库公司git后,将项目上出的程序烧录到设备中,wifi能够正常链接&#xff0c;但是通过wifi链接 ssh登录设备失败。把调试串口引出,查看linux启动log,发现如下打印信息&#xff1a; WARNING: UNPROTECTED PRIVATE KEY FILE! Permissions 075…

企业网络架构基础

1.网络宇宙 似宇宙洪荒&#xff0c;浩瀚无边&#xff0c;深不可测&#xff1b;网络案例似璀璨群星&#xff0c;千变万化&#xff0c;闪耀环宇。学习网络技术似夜观星象&#xff0c;每有所得&#xff0c;便拍案惊奇&#xff0c;夜不能寐 2.企业网络 企业网络已经广泛应用在各行…

Vue 3 的 全局状态管理

1.思路梳理 工厂仓拣货信息&#xff1a;Factory Picking Info (FPI)工厂仓调度信息&#xff1a;Factory Scheduling Info (FSI)DC 收货信息&#xff1a;DC Receiving Info (DCRI)上架信息&#xff1a;Shelving Info (SI)盘点信息&#xff1a;Inventory Count Info (ICI)移位信…

基于Spring Boot的在线装修管理系统的设计与实现,LW+源码+讲解

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差&#…

神经网络基础--什么是正向传播??什么是方向传播??

前言 本专栏更新神经网络的一些基础知识&#xff1b;这个是本人初学神经网络做的笔记&#xff0c;仅仅堆正向传播、方向传播就行了了一个讲解&#xff0c;更加系统的讲解&#xff0c;本人后面会更新《李沐动手学习深度学习》&#xff0c;会更有详细讲解;案例代码基于pytorch&a…

移动电源充气泵SIC8833应用方案设计

电动充气泵方案基于简单原理&#xff0c;使用时能自动检测轮胎压力。当胎压低于预设值时&#xff0c;电机自动启动&#xff0c;将压缩气体经进气管泵入轮胎。一旦充气泵达到设定的胎压上限&#xff0c;电机将自动关闭。该方案由压力传感器、ADC芯片、主控芯片等核心组件构成。其…

IP Source Guard

一、什么是IP Source Guard IP Source Guard&#xff08;IPSG&#xff09;是一种基于 IP/MAC 的端口流量过滤技术&#xff0c;用于防止局域网内的 IP 地址欺骗攻击。 隔绝非法DHCP服务器&#xff1a;通过配置非信任端口&#xff0c;IPSG可以有效阻止非法DHCP服务器向网络中的…

赛元MCU 脱机烧录步骤

烧录设置 生成烧录配置文件 载入配置文件 下载程序到烧录器中 并 对比 脱机烧录 1、 将SC-LINK 使用外部5V电源供电 2、将烧录口对准主板烧录接口 3、busy亮红灯&#xff0c;进入烧录ing&#xff0c;烧录成功后&#xff0c;OK灯亮蓝灯 注意事项 其中工程校验和 可以作为程序…

数字信号处理Python示例(8)使用复数指数函数生成正弦函数和余弦函数

文章目录 前言一、相量叠加原理二、使用旋转相量生成余弦和正弦波的Python代码三、仿真结果及分析写在后面的话 前言 首先给出使用复数指数函数生成正弦函数和余弦函数的数学表达式&#xff0c;然后给出Python仿真代码&#xff0c;并绘制了生成的函数图形&#xff0c;最后给出…

Pr 视频过渡:沉浸式视频 - VR 球形模糊

效果面板/视频过渡/沉浸式视频/VR 球形模糊 Video Transitions/Immersive Video/VR Spherical Blur VR 球形模糊 VR Spherical Blur用于 VR 视频中的模糊式场景切换&#xff0c;模糊效果以球形方式呈现&#xff0c;使画面逐渐模糊或清晰。 自动 VR 属性 Auto VR Properties 默…

智启未来,趣享生活 德国卡赫举办系列新品首发活动

全球最大的清洁设备和清洁解决方案提供商德国卡赫&#xff0c;于11月6日在第七届进博会新品发布平台举办主题为“智启未来&#xff0c;趣享生活”的新品发布会&#xff0c;揭开全球首发新品可折叠式手持清洗机KHB Air以及亚洲首发新品商用清洁机器人KIRA CV 50的神秘面纱。作为…

在Scrapy爬虫中应用Crawlera进行反爬虫策略

在互联网时代&#xff0c;数据成为了企业竞争的关键资源。然而&#xff0c;许多网站为了保护自身数据&#xff0c;会采取各种反爬虫技术来阻止爬虫的访问。Scrapy作为一个强大的爬虫框架&#xff0c;虽然能够高效地抓取网页数据&#xff0c;但在面对复杂的反爬虫机制时&#xf…