CCF-CSP 25次 第三题【计算资源调度器】

 计算机软件能力认证考试系统

这种题题面很长要迅速提取有效信息,可以根据后面的数据范围逐个的写,这样更容易理解题目,再就是选对数据结构很关键,再加上一点复杂的逻辑思维,基本可以满分

参考:AcWing 4457. 计算资源调度器 - AcWing

开始用的优先队列,做对20分后发现怎么也做不了了,其实就是简单的数组晒大小就完了,所有选对数据结构对后面的影响很大

100分:

//100 points 数据点1~20
#include <iostream>
#include <unordered_map>
#include <vector>
#include <cstring>
using namespace std;const int MAXN=1000+10;
int l[MAXN];    //l[i]表示计算节点i属于的分区
int st[MAXN];   //st[i]表示计算节点i运行的任务数量
int n,m;        //n表示计算节点数目,m表示可用区数目
unordered_map<int,vector<int>> app_list;//app_list[a]记录应用a所占用的计算节点的列表 如app_list[1]={2,3}表示应用1占用节点2,3
bool paa_st[MAXN];//paa_st[i]表示paa是否占用计算节点i
bool pa_region_st[MAXN];//pa_region_st[i]表示分区i是否满足亲和性int find_na(int na,int pa,int paa,int paar)
{//过滤阶段://过滤出所有满足要求的计算节点//若na==0则不用过滤,若na>0则需要过滤计算节点i所属的可用区l[i],需要满足l[i]==na//若pa==0则不用过滤,若pa>0则需要满足所选节点分区属于应用pa所占用的计算节点的分区//若paa==0则不用过滤,若paa>0则需要满足所选节点不能为应用paa所占用的节点//若paar==0且当前没有选中节点,则将计算任务亲和性的条件去掉//排序阶段://选择此时运行计算任务数量最少的计算节点//选择编号最小的计算节点memset(pa_region_st,false,sizeof(pa_region_st));memset(paa_st,false,sizeof(paa_st));if(pa!=0){vector<int> tmp=app_list[pa];//获取应用pa所占用的节点for(auto item:tmp){pa_region_st[l[item]]=true;//表示pa占用计算节点所属的分区}}if(paa!=0){vector<int> tmp=app_list[paa];//获取应用paa所占用的节点for(auto item:tmp){paa_st[item]=true;//表示paa占用计算节点item}}int min_pos=-1;//选中的节点int min_st=0x3f3f3f3f;//节点的任务数量for(int i=1;i<=n;i++){if(st[i]<min_st && (na==0 || l[i]==na) && (pa==0 || pa_region_st[l[i]]==true) && (paa==0 || paa_st[i]==false)){min_pos=i;min_st=st[i];}}if(paar==0){if(min_pos==-1)//表示之前没有选中节点{for(int i=1;i<=n;i++){if(st[i]<min_st && (na==0 || l[i]==na) && (pa==0 || pa_region_st[l[i]]==true)){min_pos=i;min_st=st[i];}}}}return min_pos;
}int main()
{cin>>n>>m;for(int i=1;i<=n;i++){cin>>l[i];}int g;cin>>g;for(int i=0;i<g;i++){int f,a,na,pa,paa,paar;cin>>f>>a>>na>>pa>>paa>>paar;vector<int> ans;for(int j=0;j<f;j++){int x=find_na(na,pa,paa,paar);      //选择满足要求的计算节点x,将当次任务分配给计算节点xif(x==-1)                           //若x==-1,表示没有满足条件的节点ans.push_back(0);else{st[x]++;                        //计算节点运行的任务数量+1ans.push_back(x);app_list[a].push_back(x);       //应用a需要占用计算节点x}}for(auto c:ans)cout<<c<<' ';cout<<'\n';}return 0;
}

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

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

相关文章

机器人中的数值优化(七)——修正阻尼牛顿法

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考&#xff0c;主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等&#xff0c;本系列文章篇数较多&#xff0c;不定期更新&#xff0c;上半部分介绍无约束优化&#xff0c;…

CCKS2023:基于企业数仓和大语言模型构建面向场景的智能应用

8月24日-27日&#xff0c;第十七届全国知识图谱与语义计算大会&#xff08;CCKS 2023&#xff09;在沈阳召开。大会以“知识图谱赋能通用AI”为主题&#xff0c;探讨知识图谱对通用AI技术的支撑能力&#xff0c;探索知识图谱在跨平台、跨领域等AI任务中的作用和应用途径。 作为…

nc前端合计行

nc前端合计行 1.无表体和单表体的合计行加法 只要卡片下 如果是只有表头要合计行就只留ShowTotalLine&#xff1b;如果是只有表体要合计行就只留ShowTotalLineTabcodes 2.多表体的合计行加法 表头卡片下和列表下都要 3.档案的合计行加法 重写一下列表模板

Python时间序列分析苹果股票数据:分解、平稳性检验、滤波器、滑动窗口平滑、移动平均、可视化...

全文链接&#xff1a;https://tecdat.cn/?p33550 时间序列是一系列按时间顺序排列的观测数据。数据序列可以是等间隔的&#xff0c;具有特定频率&#xff0c;也可以是不规则间隔的&#xff0c;比如电话通话记录&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。…

史上最全的计算机发展编年史!!!

今天分享给大家&#xff0c;以供参考。 1614年 苏格兰人约翰纳皮尔&#xff08;John Napier&#xff09;发表了一篇论文&#xff0c;其中提到他发明了一种可以计算四则运算和方根运算的精巧装置。 1623年 威廉契克卡德&#xff08;Wilhelm Schickard&#xff09;制作了一个通过…

Swift 周报 第三十六期

文章目录 前言新闻和社区消息称苹果公司和印度财政部官员磋商&#xff0c;扩大在印度的制造产能iPhone 15 Pro 机型新增泰坦灰iPhone 15 全系配 USB-C 苹果拒绝接口和安卓互通 提案正在审查的提案 Swift论坛推荐博文话题讨论关于我们 前言 本期是 Swift 编辑组整理周报的第三十…

mysql-1:认识mysql

文章目录 数据库概述什么是数据库什么是关系型数据库 MySQL的概述MySQL是什么MySQL发展历程 SQL的概述什么是SQLSQL发展的简要历史&#xff1a;SQL语言分类 数据库概述 什么是数据库 数据库就是[存储数据的仓库]&#xff0c;其本质是一个[文件系统]&#xff0c;数据按照特定的…

生成式人工智能能否使数字孪生在能源和公用事业行业成为现实?

推荐&#xff1a;使用 NSDT场景编辑器 快速搭建3D应用场景 克服障碍&#xff0c;优化数字孪生优势 要实现数字孪生的优势&#xff0c;您需要数据和逻辑集成层以及基于角色的演示。如图 1 所示&#xff0c;在任何资产密集型行业&#xff08;如能源和公用事业&#xff09;中&…

【数据挖掘】学习笔记

文章目录 < 数据预处理 > 聚集&#xff1a;多个样本或特征进行合并&#xff08;减少样本规模、转换标度、更稳定&#xff09;抽样&#xff1a;抽取一部分样本降维&#xff1a;在地位空间中表示样本&#xff08;PCA、SVD&#xff09;特征选择&#xff1a;选取重要特征&am…

【Java】设计模式之单例模式与工厂模式

1、设计模式概念及分类 简单来说设计模式是被广大程序员们总结并认可的编码套路&#xff0c;其中最常用的莫过于单例模式与工厂模式&#xff0c;而单例模式也有更加细的分类&#xff0c;一起来学习一下这些模式的用法和特点吧。 2、单例模式 一个类只能被实例化出来一个对象…

海外问卷调查项目能做吗?

大家好&#xff0c;我是橙河。我做海外问卷调查项目已经2年了&#xff0c;有自己的公司和团队&#xff0c;这篇文章说一说&#xff0c;海外问卷调查项目能做吗&#xff1f; 海外问卷调查是一个比较老牌的互联网项目&#xff0c;在国内已经存在十几年的时间了&#xff0c;一直都…

cocosCreator2.4.x 打包 ios ,xcode问题记录

Q&#xff1a;Uncaught ReferenceError: CC_PHYSICS_BUILTIN is not defined A&#xff1a;先clean build folder....&#xff0c;然后重新build Q&#xff1a;xcode 使用模拟器预览 报错 In /Library/Developer/Xcode/DerivedData/hello_world-djnvsdcqyfoqvdepilidvunfunto…

vue2 封装通用表格数据筛选的重置摁钮

放弃冗余代码吧&#xff0c;封装个混入 封装逻辑 // 重置表格筛选参数 export const queryReset {methods: {queryReset(form, method "getData", fn) {if (!this[form]) {form "queryForm";}this.$data[form] this.$options.data()[form];this[form…

UG NX二次开发(C#)-创建点到曲线(边)的切线

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1、前言2、采用C#封装C++方法2.1 加入引用2.2 创建封装类2.3 在代码中调用封装的函数3、采用NXOpen.net实现3.1对于边3.2 测试效果3.3 单个样条曲线3.4 测试效果1、前言 在UG NX二次开发时,对于求…

maven基础学习

什么是maven 构建 依赖 maven核心概念坐标 在黑窗口使用maven命令生成maven工程 pom.xml 想导入哪个jar包把它的坐标放到dependency里就可以 maven核心概念POM maven核心概念约定的目录结构 执行maven的构建命令 清理操作&#xff0c;clean 编译操作 compile 测试操作 test 打包…

使用 Crontab 自动化任务调度

在计算机工作中&#xff0c;我们经常需要自动执行某些任务。Crontab 是一个在 Linux 和类 Unix 系统上广泛使用的工具&#xff0c;它允许用户按照预定的时间表触发指定的命令和脚本。无论是备份数据、生成报告还是定期清理临时文件&#xff0c;Crontab 都可以帮助我们自动化这些…

【ROS】例说mapserver静态地图参数(对照Rviz、Gazebo环境)

文章目录 例说mapserver静态地图参数1. Rviz中显示的地图2. mapserver保存地图详解3. 补充实验 例说mapserver静态地图参数 1. Rviz中显示的地图 在建图过程中&#xff0c;rviz会显示建图的实时情况&#xff0c;其输出来自于SLAM&#xff0c;浅蓝色区域为地图大小&#xff0c…

亲测有效:虚拟机安装gcc,报错Could not retrieve mirrorlist http://mirrorlist.centos.org

&#xff08;网卡配置资料&#xff09; 原因&#xff1a; 网络问题 报错详情&#xff1a; One of the configured repositories failed (未知),and yum doesnt have enough cached data to continue. At this point the onlysafe thing yum can do is fail. There are a few …

WebSocket 报java.io.IOException: 远程主机强迫关闭了一个现有的连接。

在客户端强制关闭时&#xff0c;或者窗口强制关闭时&#xff0c;后端session没有关闭。 有时还会报&#xff1a;java.io.EOFException: 这个异常 前端心跳没有收到信息&#xff0c;还在心跳。 CloseReason close new CloseReason(CloseReason.CloseCodes.NORMAL_CLOSURE, &…

【python爬虫】3.爬虫初体验(BeautifulSoup解析)

文章目录 前言BeautifulSoup是什么BeautifulSoup怎么用解析数据提取数据 对象的变化过程总结 前言 上一关&#xff0c;我们学习了HTML基础知识&#xff0c;知道了HTML是一种用来描述网页的语言&#xff0c;又了解了HTML的基本结构。 认识了HTML中的常见标签和常见属性&#x…