第 17 场小白入门赛蓝桥杯

news2024/10/5 7:09:11

第 17 场小白入门赛

2 北伐军费

发现每次选大的更优,所以可以排序之后,先手取右边,后手取左边。

实际发现,对于 A − B A-B AB 的结果来说,后手对于这个式子的贡献是 − − a i --a_i ai ,也就是 a i a_i ai ,实际答案就是数组之和。

void solve(){
    cin >> n;
    for(int i = 1; i <= n; i ++) cin >> a[i]; 
    cout << accumulate(a + 1, a + n + 1, 0LL) << '\n';
}

4 三顾茅庐

找规律,对于 x ≤ y x\leq y xy 的情况 2 2 2 次一循环。

对于 x > y x>y x>y 的情况, x x x 每次回减 y y y 直到用完 k k k 次机会或者 x < = y x<=y x<=y 了,实际就是取模的过程。

void solve(){
    int x, y, k;
    cin >> x >> y >> k;
    if(!y){
        cout << x << '\n';
        return ;
    }
    if(x <= y){
        cout << ((k & 1) ? y - x : x) << '\n';
    }
    else{
        int t = (x / y);
        if(k > t){
            k -= t;
            x %= y;
            cout << ((k & 1) ? y - x : x) << '\n';
        }
        else{
            cout << x - k * y << '\n';
        }
    }
}

3 挑选武将

思路比较简单,将每个城池出现几个武将排序,从前往后枚举,只要当前选过的加上剩余的 ≥ k \geq k k 即可。

蓝桥的 oj 比较垃圾,会 RE 只会返回 WA,非常不智能。

void solve(){
    cin >> n >> k;
    for(int i = 1; i <= n; i ++){
        cin >> x;
        a[x] ++;
    }
    vector<int> vc;
    for(int i = 1; i <= 100000; i ++){
        if(a[i]) vc.push_back(a[i]);
    } 
    sort(vc.begin(), vc.end());
    vector<int> sum(vc.size());
    sum[0] = vc[0];
    for(int i = 1; i < vc.size(); i ++) sum[i] = vc[i] + sum[i - 1];
    auto ask = [&] (int l, int r){
        if(l > r) return 0LL;
        if(!l) return sum[r];
        return sum[r] - sum[l - 1];
    };
    int res = 0;
    for(int i = 0; i < vc.size() && (i + 1) <= k; i ++){
        if((i + 1) + ask(i + 1, vc.size() - 1) >= k) res = i + 1;
    }
    cout << res << '\n';
}

5 逆天改命

给你一个长度为 n n n 的数组 b b b ,你有一个 ∀ a i = 0 \forall a_i=0 ai=0 的数组 a a a

可以执行以下两种操作 :

1,选取 [l, r] 区间,这个区间必须存在 a i = 0 a_i=0 ai=0 ,令所有数 + 1

2,选取 [l, r] 区间,这个区间不存在 a i = 0 a_i=0 ai=0 , 令所有数 - 1

很有意思的一道题目。

发现对于数组操作的过程中,一定不可能让最小值 ≥ 2 \geq 2 2

因为最后一个 0 0 0 ,只能被选一次。

只要有 01 01 01 ,就能构造。

void solve(){
    int n, x, fg = 0;
    cin >> n;
    while(n --){
        cin >> x;
        fg |= (x == 0 || x == 1);
    }
    cout << (fg ? "YES" : "NO") << '\n';
}

6 智算士气

m = p 1 c 1 × p 2 c 2 × ⋯ × p i c i m=p_1^{c_1}\times p_2^{c_2}\times \cdots \times p_i ^{c_i} m=p1c1×p2c2××pici

对于每一位,至少存在一个数为 p i c i p_i^{c_i} pici ,正难则反,第 i i i 位共有 ( c i + 1 ) n − c i n (c_i+1)^n-c_i^n (ci+1)ncin 种方案,考虑所有位,答案为 ∏ i ( c i + 1 ) n − c i n \prod _i (c_i+1)^n-c_i^n i(ci+1)ncin

map<int, int> pm;

void solve(){ 
    cin >> n >> m;

    for(int i = 2; i <= m / i; i ++){
        while(m % i == 0){
            pm[i] ++;
            m /= i;
        }
    }   
    if(m > 1) pm[m] ++;
    int res = 1;
    for(auto [x, y] : pm){ 
        res *= ksm(y + 1, n, mod) - ksm(y, n, mod);
        res %= mod;
        if(res < 0) res += mod;
    }
    cout << res;
}

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

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

相关文章

VRRP协议个人理解+报文示例+典型配置-RFC2338/RFC3768/RFC5798/RFC9568

个人认为&#xff0c;理解报文就理解了协议。通过报文中的字段可以理解协议在交互过程中相关传递的信息&#xff0c;更加便于理解协议。 因此本文将在VRRP协议报文的基础上进行介绍。 VRRP协议发展 关于VRRPv2基本原理&#xff0c;可重点参考2004年发布的RFC3768-Virtual Ro…

【python实操】python小程序之函数的方法和赋值的区别

引言 python小程序之函数的方法和赋值 文章目录 引言一、函数的方法和赋值1.1 题目1.2 代码1.2.1 append方法1.2.2 赋值 1.3 代码解释1.3.1 append方法1.3.2 赋值 二、思考2.1 append方法和赋值的区别2.1.1 append方法2.1.2 赋值操作2.1.3 总结 一、函数的方法和赋值 1.1 题目…

通过freepbx搭建小型电话系统的过程

领导说公司的客服电话需要实现语音导航和非工作时间自动接听播放语音提示的功能。任务自然落到了伟大的程序员的头上&#xff0c;本着为公司节约成本原则遂百度了一番&#xff0c;找到了asterisk 和freeswitch两个比较流行的电话系统。经过对比和考虑公司的情况选择了asterisk系…

STM32 通用定时器

一、概述 STM32内部集成了多个定时/计数器&#xff0c;根据型号不同&#xff0c;STM32系列芯片最多包含8个定时/计数器。其中&#xff0c;TIM6、TIM7为基本定时器&#xff0c;TIM2~TIM5为通用定时器&#xff0c;TIM1、TIM8为高级控制定时器。 1.定时器的类型 基本定时器通用定…

C/C++ 中的未定义行为(Undefined Behavior, UB)

0. 简介 在 C/C 编程中&#xff0c;理解未定义行为&#xff08;UB&#xff09;及其相关概念至关重要。本文将对未定义行为进行详细解析&#xff0c;并通过实例展示其影响与处理方法。 1. 概念辨析 在 C/C 中&#xff0c;未定义行为容易与以下两个概念混淆&#xff1a; 1.1 …

【Spring】Spring MVC的项目准备和连接建立

文章目录 1. 什么是 Spring Web MVC1.1 MVC 定义1.2 什么是 Spring MVC 2. 学习 Spring MVC2.1 项目准备2.2 建立连接 1. 什么是 Spring Web MVC Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架&#xff0c;从已开是就包含在 Spring 框架中。它的正式名称“Spring We…

【pytorch】张量求导

笔者看到了这篇文章&#xff0c;可以很好的解释张量的求导问题&#xff1a; 看到了上面这张图&#xff0c;可以说很好的表示了前向和反向的过程了。 补充几个细节 之前看李沐的d2l&#xff0c;一直不懂为什么矩阵计算时的一些奇奇怪怪的规定&#xff0c;比如为什么一个行向量…

github项目——gpt-pilot自动创建应用

今天扯一扯在github上看到的一个项目gpt-pilot&#xff0c;声称“首个AI程序员”。本来打算玩一下&#xff0c;结果需要配置大语言模型的API&#xff0c;并且只支持OpenAI和claude&#xff08;Qwen呢&#xff09;。有没有玩过的老哥说一下好不好用&#xff01;&#xff01;(对了…

【Postman】接口测试工具使用

干就完啦 Postman发送get请求案例1&#xff1a; Postman发送post请求案例2 Postman发送其他请求 学习目标&#xff1a;能够使用Postman发送get/post/put/delete请求并获取响应结果 Postman发送get请求 首先postman是一款接口调试工具&#xff0c;支持win&#xff0c;mac以及l…

Python | Leetcode Python题解之第456题132模式

题目&#xff1a; 题解&#xff1a; class Solution:def find132pattern(self, nums: List[int]) -> bool:candidate_i, candidate_j [-nums[0]], [-nums[0]]for v in nums[1:]:idx_i bisect.bisect_right(candidate_i, -v)idx_j bisect.bisect_left(candidate_j, -v)if…

Pandas -----------------------基础知识(六)

目录 数据类型 查看类型 类型转换 无法转换的值返回NaN 无法转换的值返回原值 datetime类型 datetime类型数据列作为df索引 Python中的timedelta类型 Pandas中的timedelta类型 pd.to_timedelta函数转换timedelta类型 timedelta类型数据作为df索引 分组groupby 分箱…

开发环境简单介绍

目录 开发环境keil的安装和使用 keil的介绍 keil的安装 keil的简单使用 STC-ISP的安装 STC-ISP简单介绍 开发环境测试 总结 开发环境keil的安装和使用 keil的介绍 Keil uVision5是一个集成开发环境&#xff08;IDE&#xff09;&#xff0c;用于对嵌入式系统中的微控制器…

vue-scrollto实现页面组件锚点定位

文章目录 前言背景操作指南安装及配置步骤vue组件中使用 参考文章 前言 博主介绍&#xff1a;✌目前全网粉丝3W&#xff0c;csdn博客专家、Java领域优质创作者&#xff0c;博客之星、阿里云平台优质作者、专注于Java后端技术领域。 涵盖技术内容&#xff1a;Java后端、大数据…

Java | Leetcode Java题解之第454题四数相加II

题目&#xff1a; 题解&#xff1a; class Solution {public int fourSumCount(int[] A, int[] B, int[] C, int[] D) {Map<Integer, Integer> countAB new HashMap<Integer, Integer>();for (int u : A) {for (int v : B) {countAB.put(u v, countAB.getOrDefa…

多模态—文字生成图片

DALL-E是一个用于文字生成图片的模型&#xff0c;这也是一个很好思路的模型。该模型的训练分为两个阶段&#xff1a; 第一阶段&#xff1a;图片经过编码器编码为图片向量&#xff0c;当然我们应该注意这个过程存在无损压缩&#xff08;图片假设200*200&#xff0c;如果用one-h…

VBA中类的解读及应用第十六讲:让文本框在激活时改变颜色(中)

《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程&#xff0c;目前已经是第一版修订了。这套教程定位于最高级&#xff0c;是学完初级&#xff0c;中级后的教程。 类&#xff0c;是非常抽象的&#xff0c;更具研究的价值。随着我们学习、应用VBA的深入&#xff0…

数据链路层(以太网简介)

一.以太网数据帧结构&#xff1a; 目的地址&#xff0c;源地址&#xff0c;类型这三个被称为帧头&#xff0c;数据则被称为载荷&#xff0c;CRC则被称为帧尾&#xff08;校验和&#xff09; 二.数据帧结构分析 1.目的地址和源地址 i.地址解释 这两个地址指的是mac地址&#x…

【AIGC】2022-NIPS-视频扩散模型

2022-NIPS-Video Diffusion Models 视频扩散模型摘要1. 引言2. 背景3. 视频扩散模型3.1. 重建引导采样以改进条件生成 4. 实验4.1. 无条件视频建模4.2. 视频预测4.3. 文本条件视频生成4.3.1 视频与图像建模的联合训练4.3.2 无分类器指导的效果4.3.3 更长序列的自回归视频扩展 5…

数通 2

一 网络层 数据传输中最大支持1518字节&#xff0c;所以超过这个一次传不过去&#xff0c;就要分开传&#xff0c;就像快递标记1/2, 2/2 。说明你有两包 下图例子解释了 identification 用于标识一台设备发送的数据 片偏移&#xff0c;就是 你 好 吗 三个分片谁先到达不一定&…

C语言 | Leetcode C语言题解之第457题环形数组是否存在循环

题目&#xff1a; 题解&#xff1a; int next(int* nums, int numsSize, int cur) {return ((cur nums[cur]) % numsSize numsSize) % numsSize; // 保证返回值在 [0,n) 中 }bool circularArrayLoop(int* nums, int numsSize) {for (int i 0; i < numsSize; i) {if (!n…