Codeforces Round 1013 (Div. 3)(部分题解A-E)

STM32 ADC+DMA实战:手把手教你驱动XGZP6847A压力传感器(附完整代码) 本文详细介绍了如何使用STM32的ADC和DMA外设驱动XGZP6847A压力传感器,包括硬件连接、ADC配置、DMA高效传输实现以及数据处理与校准方法。通过实战案例和完整代码,帮助开发者快速掌握高精度压力数据采集技术,适用于工业控制和医疗设备等领域。 阅读详情
AI摘要

本文给出 Codeforces Round 1013 (Div. 3) 中 A - E 题的解题思路。A 题用 map 存日期数字判断;B 题用大根堆和贪心算法求最多块数;C 题通过观察法得出偶数无解;D 题用贪心和二分枚举求最小桌长;E 题打表找规律,枚举 a 值并二分找素数倍。

A. Olympiad Date

思路:这道题只需要满足日期出现的数字个数大于需要的个数就行,拿map存一下再判断一下即可。

void solve()
{
    int n, m, k;
    cin >> n;
    map<int, int> mp;
    vector<int> a(n+1);
    for (int i=1; i<=n; i++){
        cin >> a[i];
    }
    for (int i=1; i<=n; i++){
        mp[a[i]]++;
        if (mp[2] >= 2 && mp[0] >= 3 && mp[1] >= 1 && mp[3] >= 1 && mp[5] >= 1){
            cout << i << endl;
            return;
        }
    }
    cout << 0 << endl;
}

B. Team Training

思路:首先要把题意理解清楚,可以任意划分块,但要保证每块的团队价值大于等于x,并要求最多的块数,所以我们贪心的想肯定大于等于x的会自己贡献1,其余只能靠个数来影响贡献,因为会以每一块的最小的值来乘个数,所以我使用了一个大根堆方便查询,用ans记录每一块里的个数,当满足条件num++,并且ans设为0.

void solve()
{
    int n, m, k, x;
    cin >> n >> x;
    map<int, int> mp;
    vector<int> a(n+1);
    for (int i=1; i<=n; i++){
        cin >> a[i];
    }
    int num = 0;
    priority_queue<int> pq;
    for (int i = 1; i <= n; i++){
        if (a[i] >= x){
            num++;
        }
        else {
            pq.push(a[i]);
        }
    }
    int ans = 0;
    while (!pq.empty()){
        int t = pq.top();
        pq.pop();
        ans++;
        if (t*ans >= x){
            num++;
            ans = 0;
            continue;
        }
    }
    cout << num << endl;
}

C. Combination Lock

思路:首先还是得把题意理解清楚,第一层是顺序得从1到n,而第二层就是你要求出的序列。

然后就是观察法,对于样例2,一种可以的解为1 3 5 2 4,观察每次是哪个值是成立的关键,这里可以看出是先奇数,再偶数,所以我们可以退出偶数是肯定没有解的,因为这里会有要有奇偶之间的转换,而偶数不能达成这条件。

void solve()
{
    int n, m, k;
    cin >> n;
    if (n%2==0){
        cout << -1;
    }
    else {
        for (int i =1; i<=n; i+=2){
            cout << i << " ";
        }
        for (int i =2; i<=n; i+=2){
            cout << i << " ";
        }
    }
    cout << endl;
}

D. Place of the Olympiad

思路:这道题很明显的就是贪心,要让最长的桌最小,肯定n行就要尽可能地去均分这k个桌子,而我们就是要对该后的最长来讨论(也就是上取整后的值),这里要让其在m长下尽可能得小,我们二分枚举最小的桌长,就是让每一段之间有一个空位,这里满足m除以x+1的下取整在加上最后一段大于等于k。

void solve()
{
    int n, m, k;
    cin >> n >> m >> k;
    int l=0, r = 1e9+10;
    int num = (k+n-1)/n;                                   
    auto check = [&](int x)->bool
    {
        int res = 0;
        if (x >= num) return true;
        else {
            int ch = m/(x+1);
            res = ch*x+m-ch*(x+1);
        }
        return res >= num;
    };
    while (l+1 < r){
        int mid = (l+r)/2;
        if (check(mid)){
            r = mid;
        }
        else l = mid;
    }
    cout << r << endl;
}

 E. Interesting Ratio

思路:这道题被题面吓到了,以为是数论题,结果只需要打表看出规律就行了。

首先是我的打表函数:

bool isnp[MAXN];
vector<int>prime;
map<int, bool> mp;
void init(int n)
{
    for (int i = 2; i<=n; i++)
    {
        if (!isnp[i])
        {
            prime.push_back(i);
            mp[i] = 1;
        }
        for (int p:prime)
        {
            if (p*i>n) break;
            isnp[p*i] = true;
            if (i%p == 0) break;//最小质因子
        }
    }
}
int gcd(int a, int b){
    if (b == 0) return a;
    return gcd(b, a % b);
}
int lcm(int a, int b){
    return a / gcd(a, b) * b;
}
void solve()
{
    int n, m, k;
    cin >> n;
    int num = 0;

    vector<array<int, 2>> ans;
    for (int i=1; i<n; i++){
        for (int j = i+1; j<=n; j++){
            int res = lcm(i, j)/gcd(i, j);
            if (mp[res]) {
                num++;
                ans.push_back({i, j});
            }
        }
    }
    for (auto x:ans){
        cout << x[0] << " " << x[1] << endl;
    }
    cout << num << endl;
    cout << "========================" << endl;
}

得到的数据为(a,b):

// 1 2
// 1 3
// 1 5
// 2 4
// 4
// ========================
// 1 2
// 1 3
// 1 5
// 1 7
// 2 4
// 2 6
// 2 10
// 3 6
// 3 9
// 4 8
// 5 10
// 11
// ========================
// 1 2
// 1 3
// 1 5
// 1 7
// 1 11
// 1 13
// 1 17
// 1 19
// 1 23
// 1 29
// 1 31
// 2 4
// 2 6
// 2 10
// 2 14
// 2 22
// 2 26
// 2 34
// 3 6
// 3 9
// 3 15
// 3 21
// 3 33
// 4 8
// 4 12
// 4 20
// 4 28
// 5 10
// 5 15
// 5 25
// 6 12
// 6 18
// 6 30
// 7 14
// 7 21
// 8 16
// 8 24
// 9 18
// 9 27
// 10 20
// 10 30
// 11 22
// 11 33
// 12 24
// 13 26
// 14 28
// 15 30
// 16 32
// 17 34
// 49
// ========================

即b是a倍数,并且是素数倍,所以我们只要枚举a的值其最小的组合的二倍要小于等于n,再二分地去找其有几个素数倍是小于等于n的。

const int N = 1e8+10;
const int MAXN = 1e8+10;


bool isnp[MAXN];
vector<int>prime;
void init(int n)
{
    for (int i = 2; i<=n; i++)
    {
        if (!isnp[i])
        {
            prime.push_back(i);
        }
        for (int p:prime)
        {
            if (p*i>n) break;
            isnp[p*i] = true;
            if (i%p == 0) break;//最小质因子
        }
    }
}
void solve()
{
    int n, m, k;
    cin >> n;
    int num = 0;
    for (int i = 1; i*2<=n; i++){
        int l = -1, r = prime.size()+1;
        while (l+1 < r){
            int mid = (l+r)/2;
            if (i*prime[mid] <= n){
                l = mid;
            }
            else {
                r = mid;
            }
        }
        // cout << l+1 << endl;
        num += (l+1);
    }
    cout << num << endl;
}

signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    init(N);
    int t = 1;
    cin >> t;
    while (t--)
    {
        solve();
    }
    
    return 0;
}

AI辅助决策支持系统架构设计避坑:5个常见技术选型误区及正确方案 AI辅助决策支持系统(AI-DSS)是指通过人工智能技术(机器学习、自然语言处理、知识图谱等)赋能传统决策支持系统,帮助决策者在复杂业务场景中(如供应链优化、风险控制、医疗诊断、金融投资等)提升决策效率和准确性的系统。与传统BI工具不同,AI-DSS不仅能"展示数据",还能基于数据生成"决策建议"甚至"自动执行决策"。技术选型是AI-DSS架构设计的核心环节,涉及数据处理引擎、模型框架、算力资源、集成接口等关键组件的选择。效果不达标:模型预测精度低、决策建议不可用;成本失控:算力资源浪费、维护成本高企。 阅读详情

相关推荐

中科蓝讯Downloader配置实战:从软硬开关机到ANC降噪的完整指南

本文提供了中科蓝讯Downloader工具的详细配置实战指南。内容涵盖从基础的软硬开关机选择与配置,到核心的EQ音效调试、触摸按键与入耳检测优化,以及高阶的ANC降噪与电源管理设置。旨在帮助开发者快速掌握关键配置项,高效完成蓝牙耳机产品的功能调试与优化。

s4t5u6v7的博客 508

Codeforces Round 1013 (Div. 3)

从一个格子到另一格子的距离小于d时可以直接进行移动,移动不能向下,只能在同层及上层。n*m个桌子,k名参与者每个人可以选择一个桌子,使得每行最大的连续的桌子数量最小。首先是最开始的第n层,我们从每个可以攀爬的格子都可以视为一条路,我们把方案定为1。逆序排序后,记录当前团队人数*当前人的能力值,大于x则直接组队并归零新团队人数。存在一个n*m的垂直的山,每层可以看做一个格子,每格中X为可以攀爬的点。,学生之间可以任意组成团队,团队的实力为团队数量*团队最小能力者。AC code: (含打表)

maisui12138的博客 1198

DRV8870电机驱动芯片原理与嵌入式多平台驱动开发

H桥电机驱动芯片是直流电机控制的核心硬件模块,其通过双MOSFET拓扑实现方向与速度的精确调控。工作原理基于电荷泵自举驱动、集成电流检测及多重硬件保护机制,技术价值体现在高集成度、宽压适配(4.5V–45V)与强鲁棒性。典型应用场景涵盖智能机器人执行器、工业自动化设备及电池供电移动终端。本文围绕DRV8870这一主流驱动芯片,深入解析其PH/EN与Dual PWM双控制模式、nFAULT故障响应机制,并结合Arduino/ESP32/STM32三大平台,提供可复用的跨MCU驱动库设计范式与FreeRTOS实

weixin_32251525的博客 657

Codeforces Round 1013 (Div. 3)A-F

然后当前层可以向上一层转还可以向同一层进行转移这时候2.发现同一层转移的时候并不符合dp转移的规则。答案是具有单调性的,因为每一行都一样,可以按照最大的椅子放,看看最多的数量是不是> k来check。发现无论是同层转移或者是向上一层转移,都是连续的一段,我们可以用差分的思想进行转移。奇数的情况,直接第一个出现的是1,第二个出现的是二进行构造。1.首先考虑基本的dp转移,就是dp[i,j]的合法方案数。当前层的出点向当前上一层的入点转移。当前层的入点向当前前层的出点转移。

qdzwx26的博客 387

别再手动更新Excel了!用Jira看板管理你的个人项目(附保姆级配置流程)

本文详细介绍了如何利用Jira看板替代Excel进行个人项目管理,提供从注册到配置的保姆级教程。通过极简看板模式、自动化规则和数据分析功能,帮助用户实现任务可视化、协作高效化和提醒自动化,大幅提升个人工作效率。特别适合需要管理复杂个人项目的用户。

weixin_42699679的博客 229

当兵心理测试软件,当兵心理测试题及答案

心理测试是一种比较先进的测试方法,它是指通过一系列手段,将人的某些心理特征数量化,来衡量个体心理因素水平和个体心理差异差异的一种科学测量方法。小编为你整理了当兵心理测试题及答案,希望对你有所参考帮助。征兵心理测试题(1代表是2代表否)1、我的胃口很好。12、我早上起来的时候,多半觉得睡眠充足,头脑清醒13、我喜欢看报纸上的犯罪新闻。14、有时我常感到困难重重,无法克服。25、我时常遇见一些所谓的专...

weixin_42128393的博客 1万+

Codeforces Round 1013

Codeforces Round 1013

青少年趣味编程 864

(四) OpenClaw-Skill技能全面了解和自定义技能

OpenClaw Skills是提升AI代理功能性的关键模块。本文系统介绍了Skills的核心概念、获取渠道和创建方法。Skills作为标准化指令集合,能让OpenClaw从单纯理解升级为实际执行任务,相比传统System Prompt具有模块化、可复用等优势。用户可通过Clawhub官方商店、GitHub社区等渠道获取5700+现成技能,或按需开发自定义Skill。文章详细演示了创建"Hello World"示例技能的完整流程,包括编写Python脚本、配置SKILL.md文件、部署。

直到世界的尽头 8295

Codeforces Round 1013(Div.3)(A-F)

题意:从a1​开始,抽到哪能使这些数字组成日期思路:拿个map记录下数量就行。

johnstones55的博客 783

基于DRU-HVDC的构网型海上风电场环流机理仿真复现

本文介绍了基于DRU-HVDC的构网型海上风电场环流机理仿真模型的构建方法。主要内容包括: 完整的Simulink模型结构,包含主模型文件GFM_DRU_Main.slx和配置脚本GFM_DRU_Setup.m 系统参数设置,包括基础频率(20Hz)、电压基准值(690V)、功率基准值(2MVA)等 四种仿真场景配置:电压不平衡、相位不平衡、阻抗不平衡和频率不平衡 风力发电机(WT)子系统的详细构建步骤,包含电压源、输出阻抗和测量模块 变压器和DRU整流器的参数设置 该模型可用于研究构网型风电场的环流机理。

huanghm88的专栏 262

C#上位机面试必问30题:机器视觉+工业通信+性能优化(含答案解析)

工业通信:围绕“稳定性”展开,重点答异常处理、断线重连、资源释放;机器视觉:围绕“精度+速度”展开,重点答预处理、ROI、参数优化;性能优化:围绕“UI不卡、内存不泄、效率不低”展开,重点答异步、限流、资源复用;面试加分项:结合实际项目案例(如“我在XX项目中用信号量解决了多设备并发卡顿问题”)。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1509

Codeforces Round 966 (Div. 3)A-E

Codeforces Round 966 (Div. 3)A-E题解

2301_79744317的博客 1792

Python 控制 Keysight N9010B/N9020/N9030 频谱仪

为什么要实现频谱仪的控制呢?起因是因为我司RF的同事们需要对通信模块进行GSM的带内杂散进行测试,由于该测试的频点涉及900多个,所以急需开发一款自动化测试工具。该工具需同时实现对无线通讯仪和频谱仪的控制,这篇文章主要介绍一下频谱仪的控制!做通信的应该对频谱仪都不陌生,不过我之前做的都是软件相关行业,所以我对频谱仪其实还是很陌生的;不过好在我的同时们都很热心,加上仪器的文档,一段时间下来,也算是熟悉了一些。

xgh1951的博客 1万+

Codeforces Round 1013 题解

题目要求找到一堆数中凑成 2025 03 01 这个日期的数字。只需要开个数组记录每个数字的个数即可,显然 0至少需要3个,1至少需要1个,2至少需要2个,3至少需要1个,5至少需要1个。枚举计数每个元素,发现所需序列输出长度即可。

Nqg11的博客 871

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

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

OV9734 DATASHEET,完整规格书

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

Codeforces Round 1013 (Div. 3)(A-F)

赛时被C题卡了一个小时,导致F题没时间了(怒了)

Vcoistnt的博客 663

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Round 1013(Div.3)DEF

定义合法路径需要满足:只经过黑色格子,起点在最后一行终点在第一行,每行至少经过一个格子至多经过两个格子,路径上相邻两个格子距离不超过。题解:二分连续格子的最大值,显然放连续的格子是最优的,check的时候我们贪心的放最大连续格子,能放就放,注意后面的空格还能再放。内的所有质数筛出来,然后再用埃氏筛,把每个数的质数约数的个数求出来即可,递推一遍就可以得到。个黑格子,且同一行连续黑格子数的最大值最小。的时候维护一下本层的前缀和即可。的网格黑白染色,使得恰好有。题解:显然,对于每个数。是质数的无序对个数。

surtr1的博客 924

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Codeforces Round 1013(div.3) ABCDE

有一个很明显的单调性:如果每一行都取最大摆放方式,随着长度的增加,每一行所能覆盖的格子数也会增加,因为空格的少了。,那么我们转化为(a*a*b)/(a*a)为质数,即m为质数,两个数分别为a与a*b,均小于n。手推发现偶数是不行的,通过样例得知可以先输出奇数后输出偶数。于是从大到小排序,维护长度和最右端的值,超过x就加入答案。根据质因数分解定理,将题意简化为:如果两个数所。贪心,肯定是越大用的长度越少。为1的话,这两个数是有趣的比。小于n使用对素数筛二分。考虑二分答案(模板)当然也可以打表找规律。

2301_79917474的博客 403

Codeforces Round 1013 (Div. 3)(B~F)

先选大的,因为这样每组使用的人最少。

2301_77680189的博客 317

(补题)Codeforces Round 1013 (Div. 3)(A~E)

给n个数字,按顺序问到第几个位置,其之前的数字组成 01032025。

2401_87306066的博客 427

Igor and Mountain ( Codeforces Round 1013 (Div. 3) )

The visitors of the IT Campus “NEIMARK” are not only strong programmers but also physically robust individuals! Some practice swimming, some rowing, and some rock climbing! Master Igor is a prominent figure in the local rock climbing community. One day, h

BoBoo文睡不醒 629

Codeforces Round 975 (Div. 1) C. Tree Pruning

删节点有两个case,case1:直接将所有长链删到某一长度;case2:存在若干短链需要全删,其它长链删到某一长度。显然我们不能简单推导保留链的长度是多少,因此从1到n枚举深度,维护每个节点的maxDeep,预处理树上前后缀即可。本题也可以采用重链剖分+维护更新来做,实现比较复杂,暂不讨论。

qq_36789020的博客 1427

解题报告 —— cf1013div3

赛时四题,不解释,自己看。

xiaoyu524的博客 265

Codeforces Round #500 (Div. 2) [based on EJOI]

Codeforces Round #500 (Div. 2) [based on EJOI] https://codeforces.com/contest/1013 A 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define lson l,mid,rt<<1 4 #define rso...

weixin_30677475的博客 109

Educational Codeforces Round 5

Educational Codeforces Round 5 D. Longest k-Good Segment Description The arrayawithnintegers is given. Let's call the sequence of one or more consecutive elements inasegment. Also let's c...

weixin_30532759的博客 155

Codeforces Round #500 (Div. 2) [based on EJOI]--E. Hills

题目链接:http://codeforces.com/contest/1013/problem/E 题意:给你n座山,你需要在山上造房子,房子只能造在比两边的山都要高的山上(如果两边有山的话),你需要造[n/2](向上取整)座房子,你可以叫挖掘机在任意一座山上一小时铲低一米,输出造第i座房子的最短时间。 思路:一开始我想用优先队列搞一搞,因为当n为奇数的时候造房子的山就确定了,(只能在1,3,...

dhydye的博客 951
上一篇: Maven安装与环境配置
下一篇: Logisim实验--计组(保姆级教程)-8位可控加减法电路设计-CLA182四位先行进位电路设计-4位快速加法器设计-16位快速加法器设计-32位快速加法器设计
wirepuller_king
博客等级 码龄3年 9295粉丝 54原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wirepuller_king

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值