蓝桥杯 第三场 小白入门赛
召唤神坤
- 有意思🤔(ikun)。
- 虽然是第一题但也要配得上神坤的身份。
思路1
- 枚举分母,选择一个数据结构来选出分母两侧最大的两个数做分子。
- 2s常数大些也无碍。
- 我选择好写的ST表
思路2
- 写两个 d p dp dp 分别表示 1 1 1 到 i i i 的最大值, i i i 到 n n n 的最大值。再枚举。
- 这个不放码了看的别人的思路。
signed main() {int T = 1;
// T = read();while (T--) {int n = read();vector<int> a(n + 1), logn(n + 1);vector<vector<int>> f(n + 1, vector<int>(30));for (int i = 1; i <= n; ++i) f[i][0] = a[i] = read();logn[0] = -1;for (int i = 1; i <= n; ++i) logn[i] = logn[i >> 1] + 1;for (int j = 1; j <= logn[n]; ++j) {for (int i = 1; i + (1 << j) - 1 <= n; ++i) {f[i][j] = max(f[i][j - 1], f[i + (1 << (j - 1))][j - 1]);}}int ans = 0;for (int i = 2; i < n; ++i) {int l = 1, r = i - 1, s = logn[r - l + 1];int wi = max(f[l][s], f[r - (1 << s) + 1][s]);l = i + 1, r = n, s = logn[r - l + 1];int wk = max(f[l][s], f[r - (1 << s) + 1][s]);ans = max(ans, (wi + wk) / a[i]);}write(ans);}return 0;
}
聪明的交换策略
分析
- 依据题意就是要么 0 0 0 左 1 1 1 右,要么 1 1 1 左 0 0 0 右。
- 考虑 0 0 0 左还是 0 0 0 右即可。考虑 1 1 1 也行一样的。
signed main() {int T = 1;
// T = read();while (T--) {int n = read();string s; cin >> s;vector<int> pos;for (int i = 0; i < s.size(); ++i) {if (s[i] ^ '1') pos.push_back(i);}int ans = 1e17, tmp1 = 0, tmp2 = 0;for (int i = 0; i < pos.size(); ++i) tmp1 += pos[i] - i;ans = min(ans, tmp1);for (int i = pos.size() - 1, j = n - 1; i >= 0; --i, --j) tmp2 += j - pos[i];ans = min(ans, tmp2);write(ans);}return 0;
}
怪兽突击
ps:总觉得codeforces做过。。
思路
- 枚举每个 i i i (当然要小于等于 k k k )。
signed main() {int T = 1;
// T = read();while (T--) {int n = read(), k = read();vector<int> a(n + 1), b(n + 1);for (int i = 1; i <= n; ++i) a[i] = read();for (int i = 1; i <= n; ++i) b[i] = read();priority_queue<int, vector<int>, greater<int>> pq;int ans = 1e17, cnt = 0;for (int i = 1; i <= n && i <= k; ++i) {cnt += a[i];pq.push(a[i] + b[i]);ans = min(ans, cnt + (k - i) * pq.top());}write(ans);}return 0;
}
蓝桥快打
思路
- 根据 A , C A,C A,C 可以得出攻击次数的范围, B ≤ n ⋅ x B\leq n\cdot x B≤n⋅x 。
signed main() {int T = 1;T = read();while (T--) {int a = read(), b = read(), c = read();int r = a / c + (a % c > 0);writeln(b / r + (b % r > 0));}return 0;
}
奇怪的段
思路
- d p dp dp
- 方程: d p i = m a x ( d p i − 1 , j , d p i − 1 , j − 1 ) + a i ⋅ p j dp_i=max(dp_{i-1,j},dp_{i-1,j-1})+a_i\cdot p_j dpi=max(dpi−1,j,dpi−1,j−1)+ai⋅pj 。
- 注意有负数
signed main() {int T = 1;
// T = read();while (T--) {int n = read(), k = read();vector<int> a(n + 1), p(k + 1);vector<vector<int>> dp(n + 1, vector<int>(201, -1e15));dp[0][0] = 0;for (int i = 1; i <= n; ++i) a[i] = read();for (int i = 1; i <= k; ++i) p[i] = read();for (int i = 1; i <= n; ++i) {for (int j = 1; j <= k; ++j) {dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - 1]) + a[i] * p[j];}}write(dp[n][k]);}return 0;
}
小蓝的反击
ps:是个区间求解问题,涉及基础数论。
思路
- 枚举每一个 i i i ,找到最小位置 j j j 满足 A ∣ ∏ k = i j 1 a k , B ∣ ∏ k = i j 2 a k A| \prod_{k=i}^{j_1}a_k,\;B|\prod_{k=i}^{j_2}a_k A∣∏k=ij1ak,B∣∏k=ij2ak 。
- 如果 j 1 j_1 j1 不存在那么往后再也不能整除 A A A 了。如果 j 2 j_2 j2 不存在,那么从 j 1 j_1 j1 到 n n n 都能整出 A A A 。都存在只有 j 2 > j 1 j_2 >j_1 j2>j1 才对答案有贡献。
- 对 A , B A,B A,B 质因数分解记录因子和各因子数量。
- 对 A , B A,B A,B 每一个因子做前缀和。
- 二分枚举区间询问是否存在(该有的因子和数量都要满足)。
ps:前缀和那儿显然是个二维的,试想质因数分解有可能出现因数很大的情况,第二维是因数大小会 M E L MEL MEL ,所以第二维应该为数量,而数量最多是10(前十个质数相乘已经 > 1 0 9 >10^9 >109 )。看题解有个 d p dp dp 的,巨,我不会。
signed main() {auto getFactor = [&] (int v) {vector<pii> vec;for (int i = 2; i <= v / i; ++i) {if (!(v % i)) {vec.push_back({i, 0});while (!(v % i)) v /= i, ++vec.back().second;}}if (v ^ 1) vec.push_back({v, 1});return vec;};int T = 1;
// T = read();while (T--) {int n = read(), a = read(), b = read();auto vec1 = getFactor(a), vec2 = getFactor(b);vector<vector<int>> prefa(n + 1, vector<int>(10)), prefb(n + 1, vector<int>(10));for (int i = 1; i <= n; ++i) {int u = read();for (int j = 0; j < vec1.size(); ++j) {int tmp = u, v = vec1[j].first;while (!(tmp % v)) {++prefa[i][j];tmp /= v;}prefa[i][j] += prefa[i - 1][j];}for (int j = 0; j < vec2.size(); ++j) {int tmp = u, v = vec2[j].first;while (!(tmp % v)) {++prefb[i][j];tmp /= v;}prefb[i][j] += prefb[i - 1][j];}}auto find = [&] (int i, int j, int cnt, int op) {int l = i, r = n, tmp = op? prefb[i - 1][j]: prefa[i - 1][j];int ans = -1;while (l <= r) {int mid = (l + r) >> 1, v = op? prefb[mid][j]: prefa[mid][j];if (v - tmp >= cnt) ans = mid, r = mid - 1;else l = mid + 1;}return ans;};long long int ans = 0;for (int i = 1; i <= n; ++i) {int pos1 = i;for (int j = 0; j < vec1.size(); ++j) {int pos = find(i, j, vec1[j].second, 0);if (pos ^ -1) pos1 = max(pos1, pos);else {pos1 = -1;break;}}if (pos1 == -1) break;int pos2 = i;for (int j = 0; j < vec2.size(); ++j) {int pos = find(i, j, vec2[j].second, 1);if (pos ^ -1) pos2 = max(pos2, pos);else {pos2 = -1;break;}}if (pos2 == -1) ans += (n - pos1 + 1) * 1ll;else if (pos2 > pos1) ans += (pos2 - pos1) * 1ll;}// write(ans);cout << ans;}return 0;
}
相关文章:
蓝桥杯 第三场 小白入门赛
召唤神坤 有意思🤔(ikun)。虽然是第一题但也要配得上神坤的身份。 思路1 枚举分母,选择一个数据结构来选出分母两侧最大的两个数做分子。2s常数大些也无碍。我选择好写的ST表 思路2 写两个 d p dp dp 分别表示 1 1 1 到 i…...

网络安全等级保护测评规划与设计
笔者单位网络结构日益复杂,应用不断增多,使信息系统面临更多的风险。同时,网络攻防技术发展迅速,攻击的技术门槛随着自动化攻击工具的应用也在不断降低,勒索病毒等未知威胁也开始泛滥。基于此,笔者单位拟进…...
Error: Cannot find module ‘vue-template-compiler‘ 问题解决
启动Vuepress项目时报了如下错误:Error: Cannot find module vue-template-compiler Error: Cannot find module vue-template-compiler Require stack: - /usr/local/lib/node_modules/vuepress/node_modules/vue-loader/lib/compiler.js - /usr/local/lib/node_…...
华为认证云计算专家(HCIE-Cloud Computing)--练习题
华为认证云计算专家(HCIE-Cloud Computing)–练习题 1.(判断题)华为云stack支持鲲鹏架构,业务可从X86过渡到鲲鹏。 正确答案:正确 2.(判断题)业务上云以后,安全方面由云服务商负责,客户自己不需要做任何防…...

【MATLAB】【数字信号处理】产生系统的单位冲激响应h(t)与H(z)零极点分布
一、实验目的与要求 产生h(t) 与H(z) 零极点分布 二、实验仪器 微机,仿真软件MATLAB 2022a 三、实验内容与测试结果 1.已知描述连续系统的微分方程为y(t)5y(t)6y(t)2x(t)8x(t) ,计算系统的单位冲激响应h(t) 程序如下: clear all; ts0;…...
实验五:动态路由配置
实验五:动态路由配置 1.RIP 配置 【实验名称】 RIP 路由协议配置 【实验目的】掌握路由器 RIP 路由协议的基本配置 【实验设备】路由器( 2 台)、计算机( 2 台)、配置电缆( 1 根)、 V…...

苍穹外卖学习----出错记录
1.微信开发者工具遇到的问题: 1.1appid消失报错: {errMsg: login:fail 系统错误,错误码:41002,appid missing [20240112 16:44:02][undefined]} 1.2解决方式: appid可在微信开发者官网 登录账号后在开发栏 找到 复制后按以下步骤粘贴即…...

如何实现图片压缩
文章目录 1、canvas实现图片压缩2、其他 1、canvas实现图片压缩 canvas 实现图片压缩,主要是使用 canvas 的drawImage 方法 具体思路 拿到用户上传的文件转成base64创建一个 Image,主要是获取到这个图片的宽度和高度创建一个 2D 的画布,画布…...

机器学习算法实战案例:时间序列数据最全的预处理方法总结
文章目录 1 缺失值处理1.1 统计缺失值1.2 删除缺失值1.3 指定值填充1.4 均值/中位数/众数填充1.5 前后项填充 2 异常值处理2.1 3σ原则分析2.2 箱型图分析 3 重复值处理3.1 重复值计数3.2 drop_duplicates重复值处理 3 数据归一化/标准化3.1 0-1标准化3.2 Z-score标准化 技术交…...

MongoDB高级集群架构设计
两地三中心集群架构设计 容灾级别 RPO & RTO RPO(Recovery Point Objective):即数据恢复点目标,主要指的是业务系统所能容忍的数据丢失量。RTO(Recovery Time Objective):即恢复时间目标&…...
C++中JSON与string格式互转
1、JSON-》string 操作步骤: 1、在C中新建一个json对象并赋值,然后将其转给char *data。 2、在使用 #include <json.h> 头文件时,通常是使用第三方库 jsoncpp。由于它不是标准库的一部分,所以需要从官网http://jsoncpp.sou…...
2023一带一路暨金砖国家技能发展与技术创新大赛 【企业信息系统安全赛项】国内赛竞赛样题
2023一带一路暨金砖国家技能发展与技术创新大赛 【企业信息系统安全赛项】国内赛竞赛样题 2023一带一路暨金砖国家技能发展与技术创新大赛 【企业信息系统安全赛项】国内赛竞赛样题第一阶段: CTF 夺旗项目1. CTF 夺旗任务一 命令注入任务二 SQL 注入 项目2. 序列化漏…...

【BBuf的CUDA笔记】十二,LayerNorm/RMSNorm的重计算实现
带注释版本的实现被写到了这里:https://github.com/BBuf/how-to-optim-algorithm-in-cuda/tree/master/apex 由于有很多个人理解,读者可配合当前文章谨慎理解。 0x0. 背景 我也是偶然在知乎的一个问题下看到这个问题,大概就是说在使用apex的…...

安装Mac提示安装无法继续,因为安装器已损坏
目录 事件起因报错原因 事件起因 有两台电脑,由于电脑1下载镜像文件很快,于是我先用电脑1下载这个大文件,然后安装openresty,电脑2用http链接下载这个大文件。电脑2安装中途就报安装无法继续,因为安装器已损坏。 报错原因 不知…...

脚本编程游戏引擎会遇到哪些问题
在游戏开发中,脚本编程已经成为了一种非常常见的方式,用来实现游戏逻辑和功能。但是脚本编程游戏引擎也可能会面临一些挑战和问题。下面简单的探讨一下都会遇到哪些问题,并且该如果做。 性能问题 脚本语言通常需要运行时解释执行࿰…...

什么软件可以做报表?
数据报表,是商业领域中不可或缺的一部分,它通过表格、图表等形式,将复杂的数据进行整理、分析并呈现出来,帮助用户更好地理解数据的趋势和关系。数据报表不仅展示了业务现状和趋势,还支持多种数据分析和挖掘功能&#…...

数据结构学习 jz39 数组中出现次数超过一半的数字
关键词:排序 摩尔投票法 摩尔投票法没学过所以没有想到,其他的都自己想。 题目:库存管理 II 方法一: 思路: 排序然后取中间值。因为超过一半所以必定在中间值是我们要的结果。 复杂度计算: 时间复杂度…...

基于Linux的Flappy bird游戏开发
项目介绍 主要是使用C语言实现,开启C项目之旅。 复习巩固C语言、培养做项目的思维。 功能: 按下空格键小鸟上升,不按下落; 显示小鸟需要穿过的管道; 小鸟自动向右飞行;(管道自动左移和创建&a…...

排序算法6---快速排序(非递归)(C)
回顾递归的快速排序,都是先找到key中间值,然后递归左区间,右区间。 那么是否可以实现非递归的快排呢?答案是对的,这里需要借助数据结构的栈。将右区间左区间压栈(后进先出),然后取出…...
【Verilog】期末复习——设计带异步清零且高电平有效的4位循环移位寄存器
系列文章 数值(整数,实数,字符串)与数据类型(wire、reg、mem、parameter) 运算符 数据流建模 行为级建模 结构化建模 组合电路的设计和时序电路的设计 有限状态机的定义和分类 期末复习——数字逻辑电路分…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...

TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...