SMU Summer 2024 Contest Round 6

道闸不自动落杆故障排查:从传感器原理到控制器调试全解析 在工业自动化和物联网系统中,传感器与控制器构成的闭环控制是保障设备可靠运行的核心。其基本原理是通过传感器采集环境状态,控制器依据预设逻辑做出决策并驱动执行器动作。这一技术价值在于实现了无人值守下的安全、高效自动化,广泛应用于智能交通、安防和智能楼宇等领域。以停车场道闸系统为例,其自动落杆功能高度依赖地感线圈与防砸雷达的协同。地感线圈作为触发单元,负责感知车辆接近;而防砸雷达则作为持续监测的安全单元,通过微波探测防砸区域内是否有障碍物,其信号是控制器执行落杆决策的关键依据。当系统出现车辆通过后闸杆不落的典型故 阅读详情

SMU Summer 2024 Contest Round 6

2024.7.22 9:00————11:00

过题数2/7
补题数4/7

  • Many Formulas
  • Tak and Cards
  • Wall
  • Coloring Edges on Tree
  • Fault-tolerant Network
  • Nearest Excluded Points
  • Vacation Query

A - Many Formulas

题解:
给出一个包含只包含数字1到9的字符串s,长度最大为10,在这个字符串中任意位置加上‘+’得到的结果求和。
由于数字较小,2的九次方,直接二进制遍历即可,板子最好能熟悉一下。每次都得调试一段时间。
代码:

#include<bits/stdc++.h>

using namespace std;
#define int long long
string ss;
int s[12];
bool st[12];
int sum = 0;
int t;

void js() {
    int res = s[0];
    for (int p = 0; p < t-1;p++) {
        if(!st[p]) {
            res = res*10+s[p+1];
        } 
        else {
            sum += res;
            res = s[p+1];
        }
    }
    sum += res;
}//哦好像是这一段调试了一段时间,珍惜时间

signed main() {
    cin >> ss;
    t = ss.length();
    for (int i = 0; i < t; i++) {
        s[i] = ss[i] - '0';
    }
    for (int i = 0; i < (1 << t-1); i++) {
        memset(st,0,sizeof st);
        for (int j = 0; j < t-1; j++) {
            if(i >> j & 1) {
                st[j] = true;
            }
        }
        js();
    }
    cout << sum;
    return 0;
}

B - Tak and Cards

题解:
现在有n张卡片,给出一个数字a,可以取任意张卡片,使得平均值为a的方案有多少种。
一个比较典型的dp题,具体见注释。
代码:

#include<bits/stdc++.h>

using namespace std;
#define int long long
const int N = 55;
int n,a;
int x[N];
int dp[55][2600];
//取i个物品总值为j的方案数

signed main() {
    cin >> n >> a;
    for (int i = 1; i <= n; i++) {
        cin >> x[i];
    }
    memset(dp,0,sizeof dp);
    dp[0][0] = 1;
    //什么都不取也是一种情况
    int sum = 0;
    for (int i = 1; i <= n; i++) {
        sum+=x[i];
        //到当前位置的最大总值
        for (int j = i; j >= 1; j--) {
        //取j个
            for (int k = sum; k >= x[i]; k--) {
            //至少要取一个
                dp[j][k]+= dp[j-1][k-x[i]];
                //加上取了这个物品达到k的方案数
            }
        }
    }
    int ans = 0;
    for (int i = 1; i <= n; i++) {
        ans += dp[i][i*a];
        //平均数
    }
    cout << ans;
    return 0;
}

C - Wall

题解:
floyed算法,注意k在外面,之前写过不再赘述。
代码:

#include<bits/stdc++.h>

using namespace std;
#define int long long

int h,w;
int c[10][10];
int a[210][210];

signed main() {
    cin >> h >> w;
    for (int i = 0; i <= 9; i++) {
        for (int j = 0; j <= 9; j++) {
            cin >> c[i][j];
        }
    }
    
    for (int k = 0; k <= 9; k++) {
        for (int i = 0; i <= 9; i++) {
            for (int j = 0; j <= 9; j++) {
                c[i][j] = min(c[i][j],c[i][k] + c[k][j]);
            }
        }
    }
    
    int ans = 0;
    for (int i = 0; i < h; i++) {
        for (int j = 0; j < w; j++) {
            cin >> a[i][j];
            ans += c[a[i][j]][1];
        }
    }
    
    cout << ans;
    return 0;
    
}

D - Coloring Edges on Tree

题解:
一颗树有n个节点,有n-1条线连接任意俩个节点,现在给每条线涂色,要求每个节点的各个线段的颜色不同,问需要几个颜色,每条线涂什么颜色。
dfs实现,从连接线最多的节点向深度遍历,对它的所有线除了与父节点连的线以外涂色。
代码:

#include<bits/stdc++.h>

using namespace std;
#define int long long
const int N = 1e5+10;
int n;
int a[N],b[N];
int c[N];
vector<pair<int,int>>s[N];

void dfs(int x, int pre) {
    int col = 1;
    int t = -1;
    for (auto m: s[x]) {
        if(m.first == pre)t = m.second;
    }//记录一下父节点那条线的颜色
    for (auto q : s[x]) {
        if(t!= -1) {
            if(col == c[t])col++;
        }
        if(q.first == pre)continue;
        //找到父节点不用给它上色
        c[q.second] = col++;
        dfs(q.first,x);
        //继续往下找
    }
}

signed main() {
    cin >> n;
    for (int i = 1; i < n; i++) {
        cin >> a[i] >> b[i];
        s[b[i]].push_back({a[i],i});
        s[a[i]].push_back({b[i],i});
    }
    
    int ma = 0;
    int wz;
    for (int i = 1; i <= n; i++) {
        if(s[i].size() > ma){
            ma = s[i].size();
            wz = i;
        }
    }cout << ma << endl;
    //最小值其实就是最大节点的度
    
    dfs(wz,0);
    
    for (int i = 1; i < n; i++) {
        cout << c[i] << endl;
    }
    
    return 0;
}

使用 Python 爬虫获取中国证券市场公司公告数据 本文详细介绍了如何使用 Python 爬虫技术从中国证券市场(如巨潮资讯网)爬取公司公告数据。通过分析网页结构,编写爬虫脚本,抓取并存储公告信息,我们实现了从网页抓取数据的全过程。此外,本文还展示了如何应对反爬虫机制,并介绍了数据分析与可视化的基本方法。未来,我们可以通过机器学习等技术进一步挖掘公告中的潜在信息,例如,通过情感分析对公告内容进行情绪分类,或者预测某些公告类型对股市走势的影响等。希望本文能帮助你理解如何使用 Python 爬虫技术获取和处理证券市场的数据,并为你的数据分析项目提供帮助。 阅读详情

相关推荐

LPC2124定时器实现跑马灯

文章目录一、keil 4新建工程 一、keil 4新建工程 1、Create New Project,注意,最好添加进一个新建好的文件夹里,keil不会帮你新建。 2、添加设备类型:NXP目录下的LPC2124 3、选择启动文件Startu.s 4、new 一个file,保存命名为.c文件 5、添加进project里,右击,add 选中,添加 6、设置编译输出.hex文件 ...

qq_37937830的博客 5753

SMU Summer 2024 Contest Round 6补题情况

1234中1,4出现4次,2,3,12,34各2次,23,123,234各一次;因此发现规律,实际上从单个数字开始,头尾的两个数字出现的次数是1<<k(k=s.size()-2),中间的数字为k/2次,当数字每增加一位k就要除2,以此类推。将一个无向图变为有向图,然后查找每一个节点的度数,找出最大度,从最大度的结点开始bfs,每一个节点不能连接两个相同的颜色,且每一个节点在bfs的时候都要知道颜色是从1开始进行标记的。每一次枚举的时候,遇到1或者是最后一位的时候就进行断开,并将当前的数字进行加和。

2301_80357816的博客 1306

从机械到数字:EC11旋转编码器与ESP32的PWM控制艺术

本文详细解析了EC11旋转编码器与ESP32的PWM控制技术,探讨了如何将机械旋转动作转换为精确的数字信号控制。通过硬件连接、信号处理和软件优化等实践技巧,开发者可以构建高效的人机交互系统,适用于智能照明、电机控制等多种应用场景。

android的专栏 786

SMU Summer 2024 Contest Round 6 ABC题解

题意:给一个由数字组成的字符串,可在其中加任意个‘+’ 求所有情况之和思路:二进制枚举,有s个数字就有2^(s-1)种情况。

qq_39804992的博客 348

[附源码]计算机毕业设计Python财务管理系统(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程项目运行环境配置:Pychram社区版+py项目技术:django + python+ Vue 等等组成,B/S模式 +pychram管理等等。环境需要1.运行环境:最好是python3.7.7,我们在这个版本上开发的。其他版本理论上也可以。2.pycharm环境:pycharm都可以。推荐pycharm社区版;3.mysql环境:建议是用5.7版本均可。

巧灵计算机程序设计 1067

数据助力行业发展:BJTU-RAO转向架数据集介绍

BJTU-RAO转向架数据集是完全公开的,何研究人员皆可以通过后文的下载链接免费下载数据,且在标注数据来源的前提下,研究人员可以自由使用BJTU-RAO转向架数据集。因此,聚焦各类列车转向架传动系统在途安全保障新技术研究和新算法开发,实现牵引电机、驱动齿轮箱和轴箱等关键部件的实时状态监测与智能故障诊断,对保障列车安全可靠运行具有重要的现实意义。BJTU-RAO转向架数据集包含51种健康状态的样本,涵盖正常状态、部件级单一故障、部件级复合故障以及系统级关联复合故障,数据量达116GB。

2401_88870554的博客 3501

SMU Summer 2024 Contest Round 5

偏爱dp,方案数-封阻暴搜,建边跑最短路

qq_42643660的博客 1540

OmniParser V2 和 OmniTool 让 AI 来控制 Windows 设备

OmniParser V2 和 OmniTool 是由微软开发的一套工具,通过屏幕解析技术让 AI 能够理解和控制 Windows 设备。OmniParser V2 是一款数据解析工具,可以解读屏幕内容,并将内容传递给大模型OmniTool 则是一个运行 Windows Agent 的工具,提供 Windows 界面给 AI 操作。

简简单单Onlinezuozuo 2732

SMU Summer 2024 Contest Round 8

树的直径,中心点,调和级数(合理暴力),简单多重背包,简单容斥

qq_42643660的博客 1588

RT-DETR的AIF模块+YOLOv8:融合注意力与特征交互,打造实时检测的科研级进阶方案

从理解AIF模块“细粒度注意力+跨尺度交互”的核心设计,到亲手将其嵌入YOLOv8并验证在复杂场景的表现,再到基于此探索属于自己的科研与工程方向——这个过程能让你深刻理解“注意力机制与CNN融合”在实时检测中的核心价值。现在就开始行动,相信你会在实时目标检测的“智能进化”之路上,走出一条属于自己的技术路径。从实验对比图可见,集成AIF模块的YOLOv8,其mAP(平均精度)在多个阈值下均有提升,尤其是mAP50-95(高IoU阈值下的精度)提升更为显著,充分证明了AIF对细粒度特征的捕捉能力。

m0_64661770的博客 188

GEE:本地影像上传到GEE的Assets中,并输入机器学习算法中作为特征变量

当我们在 Google Earth Engine(GEE)中应用机器学习算法时,会输入一些影像作为特征变量数据,进一步根据这些特征影像去推理未知区域的数据。但是 GEE 平台上计算特征变量的 API 函数并不是非常全面,我们希望获得更多的特征用于分类。这个时候,我们可以将本地计算的特征影像上传到 GEE 中进行后续处理。本文记录了从本地上传特征数据到 GEE 的 Assets 中的教程,用于后续在 GEE 中分类或者回归使用。本文也可作为《》一文的补充。

养乐多的博客 1730

SMU Summer 2024 Contest Round 3

给出一个最长可达十八位数的数字n,去掉任意个数字后连接其它数字,组成的数字是三的倍数的话,输出最少需要删去的数字个数。英文题面真是看的我俩眼一抓瞎,本来以为是线性规划的,硬着头皮写了一个小时,后来下来发现是爆搜,一整个无语住了。其实当时ac了,但我的方法应该问题挺大,太暴力了,就看一下标准方法吧。一道dp题,比赛时看了一眼就知道不会做了,不过是道挺典型的,后来判断条件写了好久,wa了五六发吧。给出n个盘子,m种状况,k个人手里拿着球,可以放在c盘或d盘上,求最多可以满足多少种状况。

FS_tar的博客 621

华为OD机试真题 新系统2026-04-01 Python&JS 实现【勇攀数字高峰】

请你在给定的数字地形图中寻找登山路径,数字代表当前位置的海拔高度,要求从最低海拔出发,不断攀登,最终到达最高山峰。你需要寻找所有满足条件的登山路径。地图已经保证最低海拔和最高山峰都只有一个。

MISAYAONE的博客 849

SMU Summer 2024 Contest Round 7

如果有1又有0的话,这俩个数字无法变得一样,如果有1又有2的的话,无法通过每次将数组中最大元素的值减1作为x,使得所有数字变成1,因为2的减1无法作为x。Alice有s个数字1——n,每次Alice会给出一个区间[l,r]让Bob选一个数字s,选过的s不能再选,一直到没有能选的数字为止,不需要按照顺序输出每个区间所对应的s,每个区间有唯一答案s。有一串字符串S,给出q个操作,当t=1时,翻转字符串,当t=2时,f=1就在前面加上新的字符,2就在右边加上新的字符。这题挺莫名的,非得用二分写,你怎么不爬。

FS_tar的博客 526

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

SMU Summer 2024 Contest Round 1

分俩种情况考虑,抛掷数直接大于等于k,以及第一次并未大于等于k,后抛硬币的失败几率是2的n次方乘以它本身,用到log和pow函数,函数不熟悉以及注意小数单位即可。可以想到所有节点跟1个节点相连时,可以得到最大k是(i-1)*(i-2)/2,每俩个节点之间连上一条线,就会少一种情况,就可以得出代码。注意一个地方,不要遇到树就走,很多是思维问题,其实可以尝试的,联通块之类的同理,也会以dfs居多。第一道就做的这个,用了multiset,tle了,优先队列不太熟悉,加上时间不太够,没做出来。

FS_tar的博客 549

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

SMU Summer 2024 Contest Round 4

将最大的x个红苹果和最大的y个绿苹果都输入multiset,在给进去x+y(如果有的话)个可染色苹果,然后排序输出最大的x+y个和即可。英文题面,可以移动1到k内任意步数,每次移动必须到第p[i]位置,并会获得c[p[i]]价值,最多可以获得多少价值。当时写了个巨长的二进制枚举,四重循环中间套循环套字符数组,后来去看了看别人写的,还挺简洁的。思路比较清晰,用到前缀和思想,找出最大值,如果陷入循环,因为K比较大,可以直接相乘得出。给定三个数组a,b,c,各自包含n个数字,求有多少组的。代码简单难在思考难度。

FS_tar的博客 636

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SMU Summer 2024 Contest Round 2

本来想直接暴力k的,0——6,3的六次方有点太大了,可以循环每个即可,一个比较简单的模拟。N个产品,每个产品在T【i】时间持续D【i】秒经过打印机,可以接受打印,打印是一瞬间的事但打印完需要冷却一秒。n个长度为l【i】的单词,每个单词间隔一空,行首不用间隔,给定最多m行,求窗口最小宽度。对着这题目和题解得有将近四小时吧,看的还是很懵而且对着答案一直在改,给我改麻木了已经。给定长度为n的字符串s,q个询问,求在l到r的范围内有多少组俩个连续字符。给出数字k,每9个循环,中间镂空,具体输出见示例。

FS_tar的博客 701
上一篇: SMU Summer 2024 div2 2nd
下一篇: Codeforces Round 960 (Div. 2)
FS_tar
博客等级 码龄3年 534粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值