码蹄杯 2024 初赛第一场

在这里插入图片描述

MC0301

求个最大值

code:

#include<bits/stdc++.h>
#define int long long
#define endl '\n'

using namespace std;

int n;

void solve(){
    cin >> n;
    int mx = -1;
    for(int i = 0;i < n;i ++){
        int x; cin >> x;
        mx = max(mx,x);
    }
    cout << mx << endl;
}

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr),cout.tie(nullptr);
    int _ = 1; 
    while(_ --){
        solve();
    }
    return 0;
}

MC0302

sort一下

code:

#include<bits/stdc++.h>
#define int long long
#define endl '\n'

using namespace std;

int n;

void solve(){
    vector<int> a(3);
    for(int i = 0;i < 3;i ++) cin >> a[i];
    sort(a.begin(),a.end());
    for(int i = 0;i < 3;i ++) cout << a[i] << " "; 
}

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr),cout.tie(nullptr);
    int _ = 1; 
    while(_ --){
        solve();
    }
    return 0;
}

MC0303

看一下范围内有多少质数

code:

#include<bits/stdc++.h>
#define int long long
#define endl '\n'

using namespace std;

const int N = 1e5 + 7;
int n;
int st[N]; 

int get_prime(){
    int cnt = 0;
    for(int i = 2;i <= n;i ++){
        if(st[i]) continue;
        cnt ++;
        for(int j = i + i;j <= n;j += i) st[j] = 1; 
    }
    return cnt;
}

void solve(){
    cin >> n;
    cout << get_prime() << endl;
}

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr),cout.tie(nullptr);
    int _ = 1; 
    while(_ --){
        solve();
    }
    return 0;
}

MC0304

二分答案 然后check里去将每个 a i a_i ai减去二分的答案 看长度 f − n f-n fn的区间和
大于零更新 l 小于零更新 r

code:

#include<bits/stdc++.h>
#define int long long
#define endl '\n'

using namespace std;

const int N = 1e5 + 7;
int n,f;
int a[N];

int check(double x){
    vector<double> b(n + 1);
    for(int i = 1;i <= n;i ++) b[i] = a[i] - x;
    vector<double> pre(n + 1);
    for(int i = 1;i <= n;i ++) pre[i] = pre[i - 1] + b[i];
    double mn = 1e18;
    for(int i = f;i <= n;i ++){
        mn = min(mn,pre[i - f]);
        if(pre[i] - mn >= 0) return 1; 
    }
    return 0;
}

void solve(){
    cin >> n >> f;
    for(int i = 1;i <= n;i ++) cin >> a[i];
    double l = 1,r = 2000;
    while(r - l > 1e-6){
        double mid = (l + r) / 2;
        if(check(mid)) l = mid;
        else r = mid; 
    }
    cout << floor(r * 1000) << endl;
}

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr),cout.tie(nullptr);
    int _ = 1; 
    while(_ --){
        solve();
    }
    return 0;
}

MC0305

模拟一下排名

code:

#include<bits/stdc++.h>
#define int long long
#define endl '\n'

using namespace std;

const int N = 1e5 + 7;
int n;
int a[N];

void solve(){
    cin >> n;
    for(int i = 0;i < n;i ++) cin >> a[i];
    sort(a,a + n,greater<int>());
    map<int,int> mp;
    int pos = 1;
    for(int i = 0;i < n;i ++){
        if(!mp[a[i]]) mp[a[i]] = pos ++;
        else pos ++;
    }
    int x; cin >> x;
    cout << mp[x] << endl;
}

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr),cout.tie(nullptr);
    int _ = 1; 
    while(_ --){
        solve();
    }
    return 0;
}

MC0306

转化一下类型即可

code:

#include<bits/stdc++.h>
#define int long long
#define endl '\n'

using namespace std;

const int N = 1e5 + 7;
int n;
int a[N];

void solve(){
    char x; cin >> x;
    cout << (int)x << endl;
}

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr),cout.tie(nullptr);
    int _ = 1; 
    while(_ --){
        solve();
    }
    return 0;
}

MC0307

存一下路径跑一遍bfs即可

code:

#include<bits/stdc++.h>
#define int long long
#define endl '\n'

using namespace std;

const int N = 1e6 + 7;
vector<int> g[N];
int n,x,y;

int bfs(){
    queue<int> q;
    q.push(x);
    vector<int> st(n + 1);
    vector<int> d(n + 1,1e9);
    d[x] = 0;
    st[x] = 1;
    while(q.size()){
        int t = q.front();
        q.pop();
        for(auto root : g[t]){
            if(st[root]) continue;
            d[root] = min(d[t] + 1,d[root]);
            if(root == y) return d[y];
            q.push(root);
            st[root] = 1;  
        }
    }
    return -1;
}

void solve(){
    cin >> n >> x >> y;
    for(int i = 1;i <= n;i ++){
        int len; cin >> len;
        int u = i;
        int v1 = i + len,v2 = i - len;
        if(v1 <= n) g[u].push_back(v1);
        if(v2 >= 1) g[u].push_back(v2); 
    }
    cout << bfs();
}

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr),cout.tie(nullptr);
    int _ = 1; 
    while(_ --){
        solve();
    }
    return 0;
}

MC0308

统计一遍大写字符

code:

#include<bits/stdc++.h>
#define int long long
#define endl '\n'

using namespace std;

void solve(){
    string s; getline(cin,s);
    int ans = 0;
    for(int i = 0;i < s.size();i ++){
        if(s[i] >= 'A' && s[i] <= 'Z') ans ++;
    }
    cout << ans;
}

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr),cout.tie(nullptr);
    int _ = 1; 
    while(_ --){
        solve();
    }
    return 0;
}

MC0309

拆位统计每位的个数
然后分别算一下按位与 和 按位或的贡献

code:

#include<bits/stdc++.h>
#define int long long
#define endl '\n'

using namespace std;

const int N = 1e5 + 7;
int a[N];
int n;

void solve(){
    cin >> n;
    for(int i = 0;i < n;i ++) cin >> a[i];
    map<int,int> mp;
    int ans = 0;
    for(int i = 0;i < n;i ++) ans += a[i];
    for(int i = 0;i < 32;i ++){
        for(int j = 0;j < n;j ++){
            int cnt = a[j] >> i;
            if(cnt & 1) mp[i] ++;
        }
        ans += mp[i] * (n - 1 + n - mp[i]) / 2 * ((int)1 << i);
        if(mp[i] > 1) ans += mp[i] * (mp[i] - 1) / 2 * ((int)1 << i);
    }
    cout << ans << endl;
}

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr),cout.tie(nullptr);
    int _ = 1; 
    while(_ --){
        solve();
    }
    return 0;
}

MC0310

reverse一下

code:

#include<bits/stdc++.h>
#define int long long
#define endl '\n'

using namespace std;

const int N = 1e5 + 7;
int a[N];
int n;

void solve(){
    string s; cin >> s;
    reverse(s.begin(),s.end());
    cout << s;
}

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr),cout.tie(nullptr);
    int _ = 1; 
    while(_ --){
        solve();
    }
    return 0;
}

MC0311

模拟

code:

#include<bits/stdc++.h>
#define int long long
#define endl '\n'

using namespace std;

void solve(){
    map<int,int> mp;
    int space = 0;
    for(int i = 0;i < 8;i ++){
        int x; cin >> x;
        mp[x] ++;
        if(mp[x] == 3){
            space += 2;
            mp[x] = 0;
            mp[x * 10] ++;
        }
    }
    int n; cin >> n;
    for(int i = 0;i < n;i ++){
        int x; cin >> x;
        if(mp[x] == 2){
            mp[x] = 0;
            mp[x * 10] ++;
            space += 1;
            if(mp[x * 10] == 3){
                mp[x * 10] = 0;
                mp[x * 100] ++;
                space += 1;
                if(mp[x * 100] == 3){
                    mp[x * 100] = 0;
                    mp[x * 1000] ++;
                    space += 1;
                }
            }
        } else if(space){
            mp[x] ++;
            space --;
        }
    }
    int op; cin >> op;
    if(mp.rbegin()->first >= op) cout << "YES YES YES";
    else cout << "NO NO NO";
}

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr),cout.tie(nullptr);
    int _ = 1; 
    while(_ --){
        solve();
    }
    return 0;
}

MC0312

直接erase 或者 更新删除位置开始以后的数组的值为他之后的值复杂度也是可以的

code:

#include<bits/stdc++.h>
#define int long long
#define endl '\n'

using namespace std;

int n,m; 

void solve(){
    cin >> n;
    vector<int> a;
    for(int i = 1;i <= n;i ++){
        int x; cin >> x;
        a.push_back(x); 
    }
    cin >> m;
    for(int i = 1;i <= m;i ++){
        int pos; cin >> pos;
        a.erase(a.begin() + pos - 1);
    }
    for(auto x : a) cout << x << " ";
}

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr),cout.tie(nullptr);
    int _ = 1; 
    while(_ --){
        solve();
    }
    return 0;
}

MC0313

暴力枚举

code:

#include<bits/stdc++.h>
#define int long long
#define endl '\n'

using namespace std;

const int N = 1e5 + 7; 
int n,m; 
int a[N];

void solve(){
    cin >> n;
    for(int i = 1;i <= n;i ++) cin >> a[i];
    a[n + 1] = a[1],a[n + 2] = a[2],a[n + 3] = a[3];
    int pos = 0,sum = 0;
    int mx = -1;
    for(int i = 1;i <= n;i ++){
        sum = a[i] + a[i + 1] + a[i + 2] + a[i + 3];
        if(sum > mx) mx = sum,pos = i;
    }
    cout << mx << endl << pos << endl; 
}

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr),cout.tie(nullptr);
    int _ = 1; 
    while(_ --){
        solve();
    }
    return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JAVA流程控制break,continue,goto

1.break在任何循环语句的主体成分&#xff0c;均可用break控制循环的流程。break用于强行退出循环&#xff0c;不执行循环中剩余的语句。&#xff08;break语句也在switch语句中使用&#xff09; 如图&#xff1a;break语句强行退出循环&#xff0c;结果输出1~30便结束&#xf…

防火墙基础基础篇:NAT转发功能之——Easy IP方式详解

防火墙基础基础篇&#xff1a;NAT转发功能之——Easy IP方式详解 1. 概念 Easy IP 是一种简化版的动态NAPT&#xff08;Network Address and Port Translation&#xff09;技术。在Easy IP中&#xff0c;我们只使用一个公网IP地址&#xff0c;无需建立公有IP地址池。这个公网…

【数据库专家揭秘】MySql数据库设计黄金法则,让你的数据更稳定、更高效!

文章目录 引言一、明确需求&#xff0c;合理规划二、规范命名&#xff0c;提高可读性三、选择合适的数据类型四、优化表结构五、性能优化六、注重安全性总结 引言 在当今数字化时代&#xff0c;数据库已成为企业信息管理的核心。而在众多数据库系统中&#xff0c;MySql以其稳定…

jar包部署到服务器,修改jar包配置文件

jar包部署到服务器 打包项目1.jar包分离2.整体打包配置文件配置文件分离整体打包修改配置文件 打包项目 maven项目打包有两种&#xff0c;一是将自己的项目和依赖包分离&#xff0c;二是打包成一个jar包 1.jar包分离 需要在pom文件中引入依赖 <build><finalName&…

积鼎流体仿真软件VirtualFlow: 锂电池液冷散热数值计算

电池包在运作的时候会产生大量的热&#xff0c;热会在电池包内积累&#xff0c;随着车辆的使用&#xff0c;电池包内的部件会老化损伤&#xff0c;安全隐患极高&#xff0c;如何给电池包散热就显得非常重要。本文采用积鼎VirtualFlow对电芯、冷板以及冷却液进行散热仿真计算&am…

进程线程(一.2)

进程与线程&#xff08;一&#xff09; 并发编程并发与并行高并发 进程特征什么是进程&#xff1f;线程&#xff1f;进程与程序的区别进程与线程区别进程的五状态进程的种类 查看进程命令ps auxps axjpstreekill 进程的创建fork函数fork总结vfork函数fork与vfork区别 获取进程I…

30天变现5位数,涨粉2w,用AI做治愈系插图,太香了!(附工具教程)

大家好&#xff0c;我是设计师阿威 前段时间和一位朋友聊天&#xff0c;他说现在靠 AI 赚到钱&#xff0c;基本不可能&#xff01; 我竟然一时不知道说什么好。 虽然我并不认同他的说法&#xff0c;但也没有再说什么了。 因为人们往往会根据自己已有的认知体系&#xff0c;…

vivado BD_ADDR_SPACE、BD_CELL

描述 地址空间或bd_addr_space对象是一个分配的逻辑可寻址空间 主机接口上的内存&#xff0c;或连接到AXI主机的AXI接口端口上的内存 块设计外部。 Vivado Design Suite的IP集成商遵循行业标准IP-XACT数据 用于捕获内存需求和功能的格式。有些区块可以有一个 与多个主接口相关联…

电力电子功率模块在工程应用中测温NTC的使用

电力电子功率模块在工程应用中测温NTC的使用 1.概述2.什么是NTC3.模块内部NTC3.1 绝缘隔离措施3.2 NTC热量考虑 4.使用模拟方法测量NTC温度4.1 分压电阻大小 5.使用数字方法测量NTC温度 1.概述 最近做项目的时候突然被问到一个问题。做实验测温用的NTC到底怎么用&#xff1f;为…

【西瓜书】5.神经网络

1.概念 有监督学习正向传播&#xff1a;输入样本---输入层---各隐层---输出层反向传播&#xff1a;误差以某种形式在通过隐层向输入层逐层反转&#xff0c;并将误差分摊给各层的所有单元&#xff0c;以用于修正各层的权值激活函数&#xff1a;也叫阶跃函数&#xff0c;目的是引…

特征工程技巧——字符串编码成数字序列

这段时间在参加比赛&#xff0c;发现有一些比赛上公开的代码&#xff0c;其中的数据预处理步骤值得我们参考。 平常我们见到的都是数据预处理&#xff0c;现在我们来讲一下特征工程跟数据预处理的区别。 数据预处理是指对原始数据进行清洗、转换、缩放等操作&#xff0c;以便为…

深入理解序列化:概念、应用与技术

在计算机科学中&#xff0c;序列化&#xff08;Serialization&#xff09;是指将数据结构或对象状态转换为可存储或传输的格式的过程。这个过程允许将数据保存到文件、内存缓冲区&#xff0c;或通过网络传输至其他计算机环境&#xff0c;不受原始程序语言的限制。相对地&#x…

MySQL(三) - 基础操作

一、索引 由于我们在使用数据库的时候&#xff0c;大部分操作的都是查询操作&#xff0c;但是我们每一次进行查询都需要遍历一遍表中所有数据&#xff0c;这会花费O(n)的时间&#xff0c;因此数据引入了“索引” 也就是在底层使用了数据结构来进行优化查询的操作&#xff0c;但…

C++ Primer 第五版 第15章 面向对象程序设计

面向对象程序设计基于三个基本概念&#xff1a;数据抽象、继承和动态绑定。 继承和动态绑定对编写程序有两方面的影响&#xff1a;一是我们可以更容易地定义与其他类相似但不完全相同的新类&#xff1b;二是在使用这些彼此相似的类编写程序时&#xff0c;我们可以在一定程度上…

java面试题及答案2024,java2024最新面试题及答案(之一)

发现网上很多Java面试题都没有答案&#xff0c;所以花了很长时间搜集整理出来了这套Java面试题大全&#xff0c;希望对大家有帮助哈~ 本套Java面试题大全&#xff0c;全的不能再全&#xff0c;哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别&#xff1f; JDK&#xff1a;Ja…

day26-单元测试

1. 单元测试Junit 1.1 什么是单元测试&#xff1f;&#xff08;掌握&#xff09; 1.2 Junit的特点&#xff1f;&#xff08;掌握&#xff09; 1.3 基本用法&#xff1a;&#xff08;掌握&#xff09; 实际开发中单元测试的使用方式&#xff08;掌握&#xff09; public class …

开源利器AnythingLLM:你的私人ChatGPT构建利器,支持主流多种大模型

开源利器AnythingLLM&#xff1a;你的私人ChatGPT构建利器&#xff0c;支持主流多种大模型 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备…

阿里云服务器接入百度云防护后显示502原因

最近&#xff0c;发现很多使用了阿里云服务器的网站出现502的情况 经百度云防护技术排查发现阿里云机房对百度云防护的IP进行了拦截&#xff0c;原因近期可能是百度云防护的IP请求过于频繁&#xff0c;导致阿里云机房策略把百度云的IP当成了攻击IP。 解决办法是提交工单让阿里…

ProxySQL + MySQL MGR 实现读写分离实战

文章目录 前言1、ProxySQL 介绍1.1、ProxySQL 如何工作1.2、ProxySQL 工作原理 2、ProxySQL 安装与读写分离实战2.1、ProxySQL 安装2.2、读写分离配置2.3、读写分离实战2.4、SpringBoot 整合 前言 该文章实践之前&#xff0c;需要搭建MySQL MGR集群&#xff0c;关于 MySQL MGR…

企业高性能WEB服务器--nginx(持续更新参数)

目录 1、nginx介绍 2、nginx web服务 3、配置nginx服务 3.1、软件安装 3.2、介绍配置文件 3.2.1、mine.types文件 3.2.2、nginx.conf文件 worker_processes参数 events 块 worker_connections&#xff1a; -- 一个工作者可以处理的最大连接数 http 块 server块&#xff1a; 3.…