上海计算机学会10月月赛 丙组题解

上海市计算机学会竞赛平台 | YACS-10月月赛丙组题解 分支结构。 阅读详情

上海计算机学会10月月赛 丙组题解

除了最后一题比较超纲,其他还好。适合学过C++基础语法或者刚学普及算法的同学练练。

比赛链接:https://iai.sh.cn/contest/54

第一题:T1三个数的中位数

标签:模拟
题意:给定三个整数,请输出按大小排序后,位于正中间的数字。
题解:给三个数从小到大排序,输出中间的即可。
代码:

#include <bits/stdc++.h>
using namespace std;

int main() {
    int a, b, c;
    cin >> a >> b >> c;
    if (a > b) swap(a, b);
    if (a > c) swap(a, c);
    if (b > c) swap(b, c);
    cout << b << endl;
    return 0;
}

第二题:T2颁奖典礼

标签:思维
题意: n n n个学生参加颁奖典礼,学号为 1 1 1到 n n n。学生根据获奖等第依次上台领奖。已知学号为 i i i的学生是第 a i a_i ai​个上台领奖的。输出学生上台领奖的学号顺序。
题解:以第 a i a_i ai​上台领奖作为下标,每个人的顺序作为值,形成一个新的数组,输出即可。
代码:

#include <bits/stdc++.h>
using namespace std;

int b[100005];

int main() {
    int n, x;
    cin >> n;
    for (int i = 1; i <= n; i++) {
        cin >> x;
        b[x] = i;
    }
    for (int i = 1; i <= n; i++) {
        cout << b[i] << " ";
    }
    return 0;
}

第三题:T3图像旋转

标签:字符串、模拟
题意:给定一个整数 n n n,再给定 n × n n×n n×n个可见字符。请将这些字符顺时针旋转 90 90 90度后输出。
题解:顺转后,最后一列对应第一行,倒数第二列对应第二行,依此类推,输入的时候直接按这个顺序存好,输出即可。
代码:

#include <bits/stdc++.h>
using namespace std;

char s[25][25];

int main() {
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++)
    for (int j = 1; j <= n; j++)
    cin >> s[j][n - i + 1];

    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) cout << s[i][j];
        cout << endl;
    }
    return 0;
}

第四题:T4定价

标签:贪心、排序
题意:有 n n n个人来买一款商品,每个人都有对这个商品的最高预算 a i a_i ai​,商品价格超过预算就不买,反之就买。现要求定一个最优价格,使之总收入最大。
题解:很经典的一个贪心,先排序,排序完对每个预算进行枚举(作为当前的定价),因为排序,在第 i i i个预算之后(包括第 i i i个)的预算都是会买的,所以当前收入为 ( n − i + 1 ) ∗ a i (n-i+1)*a_i (n−i+1)∗ai​,维护一个最大值。
代码:

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
ll a[200005];

int main() {
    ll n;
    cin >> n;
    for (int i = 1; i <= n; i++) {
        cin >> a[i];
    }
    sort(a + 1, a + 1 + n);
    ll ans = 0;
    for (int i = 1; i <= n; i++) {
        ans = max(ans, (n - i + 1) * a[i]);
    }
    cout << ans << endl;
    return 0;
}

第五题:T5先修课程

标签:拓扑排序
题意:教务处针对 n n n门课程设置了 m m m条约束条件,其中的第 i i i条约束要求在学习第 y i y_i yi​门课程之前,必须先修完第 x i x_i xi​门课程。
请判断这些约束条件是否存在矛盾。如果没有矛盾输出 V a l i d Valid Valid,否则输出 I n v a l i d Invalid Invalid。
题解:拓扑排序判环裸题,如果拓扑排序能够输出所有顶点,即无环,反之有环。(即判最终出来的顶点数是否为 n n n个)
代码:

#include <bits/stdc++.h>
using namespace std;

int n, m, u, v, in[200005];
vector<int> e[200005];

int main() {
    cin >> n >> m;
    for (int i = 1; i <= m; i++) {
        cin >> u >> v;
        e[u].push_back(v);
        in[v]++;
    }
    queue<int> q;
    for (int i = 1; i <= n; i++) {
        if (in[i] == 0) q.push(i);
    }

    int cnt = 0;
    while (!q.empty()) {
        u = q.front();
        q.pop();
        cnt++;
        for (int i = 0; i < e[u].size(); i++) {
            v = e[u][i];
            in[v]--;
            if (in[v] == 0) q.push(v);
        }
    }
    if (cnt < n) cout << "Invalid";
    else cout << "Valid";
    return 0;
}
VS2015+C++实战:手把手教你用海康MVS里的Demo搞定多相机同步采图与保存 本文详细解析了在VS2015+C++环境下,利用海康威视MVS工业相机SDK实现多相机同步采图与保存的全流程。从环境准备、SDK选择到多相机初始化、同步采图方案,再到异常处理与性能优化,提供了实战技巧和代码示例,帮助开发者快速掌握工业相机二次开发的核心技术。 阅读详情

相关推荐

Labview实现服务器(server)与多客户端(clients)通信

服务器可以接收多个客户端发送的消息,并显示消息来源。 服务器可以发送消息到指定客户端 客户端可以自动连接服务器,断连后重连 客户端可以发送消息到服务器,可接收服务器消息 类似框架可以用做中央服务器及客户端项目

u013809089的博客 7973

上海市计算机学会竞赛平台丙组比赛目录及题解持续更新中

持续更新中。。。

长春高老师编程 1万+

使用 ANSYS AEDT(双向耦合)对高功率射频同轴滤波器进行热分析

使用 ANSYS HFSS,可以精确计算 EM 损耗,然后将其导入 ANSYS 热分析并使用 ANSYS Icepak CFD 求解器进行仿真,以帮助工程师解决最复杂的热挑战,并预测其设计在温度变化下的表现。然后,RF 损耗将与 ANSYS Icepak CFD 求解器耦合,以执行热分析,包括传热的传导、对流和辐射模式,并计算温度曲线。在此演示中,我们将仿真下面的 RF 同轴滤波器,并计算由于所用材料的有限电导率和介电损耗而导致的 RF 传导损耗。设置 HFSS 设计后,我们可以开始 HFSS 仿真。

jkh920184196的博客 1050

牛牛与比赛颁奖

#include <bits/stdc++.h> using namespace std; #define MAXN 100010 int n, m, cnt[MAXN]; map<int, int> diff; int main(){ int L, R; scanf("%d %d", &n, &m); for(int i = 1; i <= m; i++){ scanf("%d %d", &L, &R);

jpphy0的博客 179

【免费】最新区块链钱包和私钥的助记词碰撞器,使用python开发

最新钱包私钥助记词碰撞器,搏一搏单车变摩托!

weixin_48529185的博客 1万+

闲人闲谈PS之一项目库存跨公司业务STO解决方案--SAP闲人的开篇

写这篇文章之前,简单说一下发这篇文章的动机。也算是在SAP这一行干了快10多年,在对一个模块了解越来越深入,越发觉自己的SAP知识浅薄。总的来说,和多数顾问一样,对于**标准功能**的应用业务场景理解还是存在或多或少的知识盲区。 因为一个偶然,看到SAP团子君的文章,分享了很多干货文章。这也是自己一直想做的时候,不管水平高低与否,分享本身就意味着提升。好了废话不多说,先在优快云上发一篇吧,困惑自己将近10年的问题的解决方案。 业务场景:在项目型企业中,通常会有这样的业务,母公司和客...

SAP闲人的博客 9266

上海计算机学会2023年10月月赛C++丙组T2颁奖典礼

n 个学生参加颁奖典礼,学号为 1 到 n。学生根据获奖等第依次上台领奖。已知学号为 i 的学生是第 ai​ 个上台领奖的。请输出学生上台领奖的学号顺序。解析:给出的数据是第i个学生上台顺序是x,那么我们可以将数组a设计为a[x]=i,则a数组即为学生们上台的顺序了。内存限制: 256 Mb时间限制: 1000 ms。

长春高老师编程 683

Kubernetes+EdgeX:构建企业级AI边缘推理平台

设备:工业摄像头(RTSP协议,输出1920x1080视频流);AI模型:YOLOv8训练的轴承裂纹检测模型(识别“裂纹”“正常”两种类型);目标:摄像头采集图像→EdgeX传输数据→K8s推理服务检测→结果反馈到报警器(HTTP协议)。Kubernetes+EdgeX的组合,为企业构建AI边缘推理平台提供了标准化、可扩展标准化:K8s的容器编排和EdgeX的设备管理,都是行业标准,避免“重复造轮子”;可扩展:支持从单边缘节点到 thousands of nodes 的规模,满足企业的增长需求;

AI算力网络与通信的博客 1343

上海市计算机学会月赛 2021年10月月赛丙组

上海市计算机学会月赛2021年10月月赛丙组 T1 运费计算 T2 阶乘的余数 T3 多边形的判定 T4 淘气合影 T5 黑白翻转棋

Dsmtyu《-这是一串密码哦 1213

RT-DETR改进策略【Conv和Transformer】| HiLo注意力机制 通过分离处理图像的高频和低频信息,高效处理图像特征

本文记录的是利用改进检测模型,针对目标检测中面临的多尺度特征融合效率与长距离依赖建模难题,HiLo注意力模块的引入旨在通过频率解耦策略优化高分辨率特征处理,将高频细节(如目标边缘)与低频语义(如场景结构)分离建模,提升目标检测精度。Fast Vision Transformers with HiLo AttentionHiLo注意力模块的提出源于对传统自注意力机制局限性的反思。传统多头自注意力(MSA)在处理高分辨率图像时存在以下问题:HiLo将注意力模块分为高频(Hi-Fi)和低频(Lo-Fi)两个分支,

Limiiiing的博客 814

32、生物信息学中的符号、缩写及相关概念解析

本文详细解析了生物信息学中常用的符号、缩写及相关概念,涵盖概率理论、函数表示、模型结构、图与集合、维度参数、神经网络、隐藏马尔可夫模型、双向架构、语法系统、系统发育树、微阵列分析以及核方法与支持向量机等多个领域。通过表格和mermaid流程图的形式,系统梳理了各类符号的定义与应用场景,并介绍了常见缩写的全称与意义。文章旨在帮助研究人员准确理解生物信息学中的基础术语,提升对基因表达分析、序列建模、机器学习等技术的理解与应用能力。

rrr55的博客 145

3173:练28.4 上课点名

总共有n个学生参加,学生们的学号分别为1∼n。老师登记所有到位的学生的学号。老师希望能够帮她写一段代码找出来找到那个没来的学生。这里我们可以将所有输入的数加起来,在遍历循环,减去已经出现的数,就可以得到结果。然后n−1行,每行一个整数,为到位的学生学号(保证不会有一个学生出现了两次)。第—行是n,为需要到位的学生个数。(1<n<106)。马上要上课了,老师发现有一个学生没有来。一个数,为没有到位的学弟的学号。

yp1102013的博客 2756

材料仿真软件:LAMMPS_(8).温度和压力控制

在 LAMMPS 中,温度和压力的控制是通过多种恒温器和恒压器实现的。Nose-Hoover 恒温器和恒压器因其准确性和广泛适用性而被经常使用,而 Berendsen 恒温器和恒压器则因其计算效率高而适用于初步仿真或粗粒化模型。温度重标和压力重标方法虽然简单,但在某些情况下可以快速调整系统的温度和压力。通过选择合适的控制方法,可以根据具体的需求和系统特性来设计和运行分子动力学仿真,从而获得准确和可靠的结果。在实际应用中,建议先进行初步的仿真以确定合适的控制参数,然后再进行细致的仿真以验证结果的稳定性。

kkchenjj的博客 1692

上海计算机学会10月月赛丙组T3对称合并题解

例如 1,2,2,11,2,2,1 以及 123,456,123123,456,123 都是对称的,但 121,212121,212 不是。数列 α1,α2,…,αnα1​,α2​,…,αn​ 的逆转定义为 αn,αn−1,…,α1αn​,αn−1​,…给定一个数列 A1,A2,…,ANA1​,A2​,…,AN​,请问至少需要进行几次合并操作,才能将这个数列变成对称?所谓合并操作就是在数列中选择两个相邻的数字,删除它们,然后将它们的和插入到删除的位置。内存限制: 256 Mb时间限制: 1000 ms。

venus60的专栏 523

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上海计算机学会10月份月赛丙组T2三键编辑题解

给定一个按键顺序,请输出最终输出的字符序列。

venus60的专栏 454

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上海计算机学会10月份月赛丙组T3对称合并题解

题解:直接模拟,从队列的两端分别从前往后,和从后往前,如果左右两端的值相等,则直接往后和往前继续遍历,如果左边的值比右边的小,则要把左边的相邻两个数合并后删除一下,继续和后面的进行比较,反之亦然。例如 1,2,2,11,2,2,1 以及 123,456,123123,456,123 都是对称的,但 121,212121,212 不是。数列 α1,α2,…,αnα1​,α2​,…,αn​ 的逆转定义为 αn,αn−1,…,α1αn​,αn−1​,…给定一个数列 A1,A2,…,ANA1​,A2​,…

venus60的专栏 240

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上海计算机学会2023年1月-12月月赛

上海计算机学会2023年1月-12月月赛

青少年趣味编程 1233

上海市计算机学会月赛题解(部分)

上海市计算机学会月赛题解(部分)

青少年趣味编程 852

上海计算机学会月赛 比赛题解目录(持续更新中)

上海计算机学会月赛 比赛题解目录

超哥聊信奥 1653

上海计算机学会10月月赛 乙组题解

上海计算机学会10月月赛 乙组题解

超哥聊信奥 567

上海市计算机学会竞赛平台乙组比赛目录及题解持续更新中

T2 消除交叉 T3 竞速溜冰 T4 多米诺骨牌。T2 放置拼块 T3 制作哒宝 T4 区间交集。T1 发红包 T2 图的三染色 T3 最大子集。T2 千层背包 T3 随处游荡 T4 打字。T2 赛车 T3 围三角 T4 退课。T3 树的匹配 T4 平分子集(三)T3 炼制合金 T4 数三角形(二)T3 降低均值 T4 加与乘(二)T3 子集和(三) T4 社交软件。T3 树的最长路 T4 最大频率。T3 字符填充 T4 看小说。

长春高老师编程 9677

上海计算机学会2021年10月月赛C++丙组T5黑白翻转棋

有一种叫做黑白翻转棋的游戏,棋盘由 n×m 个方格组成,每个方格上放置一枚棋子,每一枚棋子一面为黑,一面为白。一开始,棋子可能是黑色的,也可能是白色的。小爱可以按照任意顺序翻转任意数量的棋子,但游戏规则规定,选择翻动某一枚棋子时,与这个棋子的方格共享边界的其它棋子也必须被同时被翻转。小爱可能在一个步骤中,同时翻转五个棋子(棋子在中间)、四个棋子(棋子在边界上)或三个棋子(当棋子在角上)。翻转方案的前一行、前两行、前一行左移一位、前一行右移一位,及棋盘盘面的前一行异或后即下一行的结果。否则输出最少翻转次数。

长春高老师编程 921

上海计算机学会 2023年10月月赛 丙组T4 定价(贪心、排序)

上海计算机学会 2023年10月月赛 丙组T4 定价(贪心、排序)

超哥聊信奥 1725

上海计算机学会2025年10月月赛C++丙组T4 游戏

摘要:Alice和Bob在二维平面上轮流移动棋子,每次将x或y坐标增加k,且移动后需满足到原点的欧氏距离≤d。无法移动者输。通过数学分析,当最接近边界时,若先手能再走一步则获胜,否则后手胜。代码计算临界步数m并判断胜负,时间复杂度O(t)。示例展示了不同d、k下的胜负结果。

长春高老师编程 892

上海计算机学会2025年10月月赛C++丙组T3 对称合并

摘要 题目要求通过最少的合并操作使数列对称。合并操作定义为将相邻两数替换为它们的和。采用双指针法,从两端向中间遍历,比较左右和的大小:若相等则保留,否则合并较小的一侧并计数。时间复杂度为O(N),适用于大规模数据。例如输入"1 2 4 6 1"通过1次合并即可对称,而"1 4 2"需要2次合并。

长春高老师编程 824

上海计算机学会 2023年10月月赛 丙组T3 图像旋转(字符串、模拟)

上海计算机学会 2023年10月月赛 丙组T3 图像旋转(字符串、模拟)

超哥聊信奥 634
上一篇: 上海计算机学会9月月赛 乙组题解
下一篇: 上海计算机学会10月月赛 乙组题解
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值