当前位置: 首页 > news >正文

蓝桥杯双周赛 第 16 场 小白入门赛 解题报告 | 珂学家 | 七夕娱乐场


前言

在这里插入图片描述


题解

因为这场七夕节,所以出的特别友好。

整体还是偏思维。

T6 额外提供组合数学解,还是蛮有趣的。


A. 喜鹊罢工

题型: 签到

365 可以有多少个 7 组成 365可以有多少个7组成 365可以有多少个7组成

向上取整即可

#include <iostream>using namespace std;int main()
{cout << ((365 + 6) / 7) << endl;return 0;
}

B. 牛郎取名

思路: 模拟

对字符进行按序重排,考察字符串API知识点。

#include <bits/stdc++.h>using namespace std;int main()
{int n;string s;cin >> n >> s;string r;for (int i = 0; i < n; i++) {int p; cin >> p;r.push_back(s[p - 1]);}cout << r << endl;return 0;
}

C. 织女的考验

思路: 找规律

可以把字符串拍平为 26维的向量

那么两个字符串能否相等(彼此各删除1个字符),在于这2个向量 差异 要么为0,要么为2

d i f f = ∑ i = 0 i = 25 a b s ( v 1 ( i ) − v 2 ( i ) ) diff = \sum_{i=0}^{i=25} abs(v_1(i) - v_2(i)) diff=i=0i=25abs(v1(i)v2(i))

这样的时间复杂度为 O ( n + 26 ) O(n+26) O(n+26)

#include <bits/stdc++.h>using namespace std;int main()
{int t;cin >> t;while (t-- > 0) {string s1, s2;cin >> s1 >> s2;// 向量化vector<int> h1(26), h2(26);for (char c: s1) h1[c - 'a']++;for (char c: s2) h2[c - 'a']++;// 求向量差int diff = 0;for (int i = 0; i < 26; i++) {diff += abs(h1[i] - h2[i]);}if (diff == 0 || diff == 2) {cout << "YES\n";} else {cout << "NO\n";}}return 0;
}

当然这题,也可以大模拟,在构建26维向量后,枚举去掉的字符

然后对比是否相同


D. 仙男仙女

思路: 模拟

需要注意的是,给出的坐标并不是按序的,需要额外排序下。

然后模拟即可,即比对前一位/后一位的差值。

#include <bits/stdc++.h>using namespace std;int main()
{int n;cin >> n;vector<array<int, 2>> arr(n);for (int i = 0; i < n; i++) {cin >> arr[i][0];}for (int i = 0; i < n; i++) {cin >> arr[i][1];}sort(arr.begin(), arr.end());int res = 0;for (int i = 0; i < n; i++) {bool c1 = (i == 0 || arr[i][0] - arr[i - 1][0] > arr[i][1]);bool c2 = (i == n - 1 || arr[i + 1][0] - arr[i][0] > arr[i][1]);if (c1 && c2) {res++;}}cout << res << endl;return 0;
}

E. 牛郎的微信群

思路: 思维题

  • 距离为1,就是节点的度
  • 距离为2, 就是节点u的相邻节点度总和 - 节点u的度

那这样求解,会不会遇到复杂度问题,比如菊花图等

不会,因为它是一个树结构,并不是一个完全图形态

它的枚举量为 O ( V ∗ 2 ) , V 为边数 {O(V * 2) , V为边数} O(V2),V为边数

#include <bits/stdc++.h>
using namespace std;int main()
{int n;cin >> n;vector<vector<int>> g(n);for (int i = 0; i < n - 1; i++) {int u, v;cin >> u >> v;u--; v--;g[u].push_back(v);g[v].push_back(u);}vector<int> res(n);for (int i = 0; i < n; i++) {for (int v: g[i]) {res[i] += g[v].size();}res[i] -= g[i].size();}for (int i = 0; i < n; i++) {cout << res[i] << " \n"[i == n - 1];}return 0;
}

F. 久别重逢

方法一:前缀和优化的DP

令dp[j] 为 以j结尾的方案数

d p [ j ] = ∑ i = 0 i = j − k d p [ i ] dp[j] = \sum_{i=0}^{i=j-k} dp[i] dp[j]=i=0i=jkdp[i]

公式转移代价为k,但是 n , k ≤ 1 0 5 n, k \le 10^5 n,k105, 所以必须加以优化

这边可以简单地使用前缀和优化,因为只有一侧有限制,控制右侧边界即可。

如果两侧有限制,则需要额外引入双端队列。

#include <bits/stdc++.h>
using namespace std;const int64_t mod = (int64_t)1e9 + 7;int main()
{int n, k;cin >> n >> k;int64_t res = 1;int64_t acc = 0;vector<int64_t> dp(n + 1);dp[0] = 1;for (int i = k; i <= n; i++) {acc = (acc + dp[i - k]) % mod;dp[i] = acc;res = (res + dp[i]) % mod;}cout << res << endl;return 0;
}

题外话:

方法二:组合数学

其实我一开始想到的是,枚举步数x,然后采用组合数学的方式来计算.

利用插板法,固定步数为x,接下来枚举y, y ∈ [ 0 , ( n − k x ) ] y \in [0, (n-kx)] y[0,(nkx)]

∑ y = 0 y = n − k x C ( y + x − 1 , y − 1 ) = C ( n − k x + x , x ) = C ( n − ( k − 1 ) ∗ x , x ) \sum_{y=0}^{y=n-kx} C(y+x-1, y-1) = C(n-kx+x, x) = C(n - (k-1)*x, x) y=0y=nkxC(y+x1,y1)=C(nkx+x,x)=C(n(k1)x,x)

然后在枚举x

最终结果为

∑ x = 0 x = n / k C ( n − ( k − 1 ) ∗ x , x ) \sum_{x=0}^{x=n/k} C(n - (k-1)*x, x) x=0x=n/kC(n(k1)x,x)

#include <bits/stdc++.h>
using namespace std;int64_t ksm(int64_t b, int64_t v, int64_t mod) {int64_t r = 1l;while (v > 0) {if (v % 2 == 1) r = r * b % mod;b = b * b % mod;v /= 2;}return r;
}int main()
{int n, k;cin >> n >> k;// 组合数计算const int64_t mod = (int64_t)1e9 + 7;vector<int64_t> fac(n + 1);vector<int64_t> inv(n + 1);fac[0] = 1;for (int i = 1; i <= n; i++) {fac[i] = fac[i - 1] * i % mod;}inv[n] = ksm(fac[n], mod - 2, mod);for (int i = n - 1; i >= 0; i--) {inv[i] = inv[i + 1] * (i + 1) % mod;}int64_t res = 0;    for (int i = 0; i * k <= n; i++) {int r = n - i * k;// C(r+i, i)res += fac[r + i] * inv[i] % mod * inv[r] % mod;res %= mod;}cout << res << endl;return 0;
}

写在最后

在这里插入图片描述

相关文章:

蓝桥杯双周赛 第 16 场 小白入门赛 解题报告 | 珂学家 | 七夕娱乐场

前言 题解 因为这场七夕节&#xff0c;所以出的特别友好。 整体还是偏思维。 T6 额外提供组合数学解&#xff0c;还是蛮有趣的。 A. 喜鹊罢工 题型: 签到 365 可以有多少个 7 组成 365可以有多少个7组成 365可以有多少个7组成 向上取整即可 #include <iostream>usi…...

[C++] 深入理解面向对象编程特性 : 继承

文章目录 继承的概念与定义继承的定义定义格式不同继承方式与继承的基类中访问限定符间的影响C中的继承和访问控制总结父类的private成员在子类中的访问限制protected成员的使用场景成员访问方式总结继承方式的默认值实际应用中的继承方式 示例代码 OOP中类之间的关系“is a” …...

汇昌联信科技做拼多多电商怎么引流?

在互联网经济高速发展的今天&#xff0c;电商平台如雨后春笋般涌现&#xff0c;其中拼多多以其独特的社交电商模式迅速崛起。对于汇昌联信科技而言&#xff0c;如何在拼多多平台上有效引流&#xff0c;成为提升销量和品牌知名度的关键。本文将深入探讨汇昌联信科技在拼多多电商…...

公网ip和私网ip的区别

1.接入方式不同\n公网IP以公网连接Internet上的非保留地址&#xff0c;私网IP则是局域网上的IP&#xff0c;通过NAT才能够与公网进行通信。 2.特点不同\n公网IP由国际互联网络信息中心InterNIC负责,将IP地址分配给注册并向InterNIC提出申请的机构或组织。私网IP则是为节省可分…...

【开发踩坑】windows查看jvm gc信息

windows查看jvm gc信息 EZ 找出java进程PID 控制面板----搜索任务管理器---- 任务管理器----搜索 java----详细信息 这里PID是4856 cmd jstat gc面板 reference&#xff1a; jstat命令...

时间序列预测 | CEEMDAN+CNN+Transformer多变量时间序列预测(Python)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 时间序列预测 | CEEMDANCNNTransformer多变量时间序列预测&#xff08;Python&#xff09; 时间序列预测 创新点 多尺度特征提取&#xff1a;CEEMDAN将复杂的时间序列分解成多个IMFs&#xff0c;使得CNN和Transforme…...

vue3--实现vue2插件JSONPathPicker的路径获取功能

背景 最近在进行vue2项目升级为vue3。 在项目中需要获取json某些字段的路径&#xff0c;vue2中使用JSONPathPicker &#xff0c;但是该插件不支持vue3&#xff0c;vue3中也没有相应的模块有该功能。 实现目标&#xff1a; 原vue2中JSONPathPicker实现的功能&#xff1a; 查…...

SuccBI+低代码文档中心 — 可视化分析(仪表板)(上)

有关仪表板的设计器&#xff1a; 查询设置 由于仪表板的设计器是所见即所得的&#xff0c;可以将当前制作的内容和数据的查询结果实时展示在界面中&#xff0c;当引入到仪表板的模型数据量较大时&#xff0c;为了提高设计器界面的查询性能&#xff0c;提供了以下两种方法&…...

P3156 【深基15.例1】询问学号

昨天我发布了关于数据结构线性表的学习知识&#xff08;【数据结构】顺序表-CSDN博客&#xff09;。所谓“纸上得来终觉浅”&#xff0c;光看不练可不行&#xff0c;下面我们来看一下顺序表的习题。 题目链接 【深基15.例1】询问学号 - 洛谷 题目解读 题目描述了一个场景&…...

详解Xilinx FPGA高速串行收发器GTX/GTP(5)--详解8B10B编解码

目录 1、8B/10B编码是什么? 2、8B/10B编码的规则 3、两个例子 4、GTX的8B/10B编码 5、Verilog实现 文章总目录点这里:《FPGA接口与协议》专栏的说明与导航 1、8B/10B编码是什么? 简单来说,8B/10B编码就是将原本是8bits的数据,按照一定的规则扩展编码到10b…...

python 画多盘的写放大曲线方法

在服务器测试中我们经常会遇见客户要求画出每个SSD的WAF曲线&#xff0c;也就是写放大&#xff0c;通常的做法就是我们每隔10分钟记录一下每个SSD的host写入量和nand写入量&#xff0c;下面我们介绍一下python处理多盘的WAF的做法 如图所示 假设这是一个记录多盘的写入量信息的…...

计算机网络TCP/UDP知识点

这是一些在学习过程中关于计算机网络八股文的一些知识点记录&#xff1a; TCP/UDP TCP怎么保证可靠性 1.序列号&#xff0c;确认应答&#xff0c;超时重传 数据到达接收方&#xff0c;接收方需要发出一个确认应答&#xff0c;表示已经收到该数据段&#xff0c;并且确认序号…...

JavaScript 文档元素获取

目录 通过id获取文档元素 任务描述 相关知识 什么是DOM 文档元素 节点树 通过id获取文档元素 编程要求 通过类名获取文档元素 任务描述 相关知识 通过类名获取文档元素 编程要求 通过标签名获取文档元素 任务描述 相关知识 通过标签的名字获取文档元素 获取标…...

docker pull实现断点续传

问题背景 在使用Docker拉取DockerHub的镜像时&#xff0c;经常会出现网络不稳定的问题&#xff0c;这就导致拉取到一半的镜像会重新拉取&#xff0c;浪费时间。例如下面这种情况&#xff1a; 第二次拉取 这是一个网络中断的场景&#xff0c;第二次重新拉取的时候&#xff0c;同…...

无字母数字webshell之命令执行

源码 题目限制&#xff1a; webshell长度不超过35位除了不包含字母数字&#xff0c;还不能包含$和_ 这里使用php5来解决 可以围绕以下两点展开&#xff1a; shell下可以利用.来执行任意脚本Linux文件名支持用glob通配符代替 .或者叫period&#xff0c;它的作用和source一样…...

华为OD笔试

机试总分400。三道题目。100&#xff0b;100&#xff0b;200 华为od考试时间为150分钟&#xff0c;共有三道编程题&#xff0c;分数分别为100、100和200。如果你是目标院校&#xff08;查看目标院校请戳&#xff09;的话&#xff0c;及格线是160分&#xff0c;非目标院校则不确…...

HAProxy理论+实验

目录 一、基于cookie的会话保持 1、配置选项 2、配置示例 3、验证cookie信息 二、IP透传 1、layer4 与 layer7 &#xff08;1&#xff09;四层:IPPORT转发 &#xff08;2&#xff09;七层:协议内容交换 三、haproxy的ACL应用 1、ACL配置选项 &#xff08;1&#xf…...

Spring Boot ⽇志

1. ⽇志概述 为什么要学习⽇志 ⽇志对我们来说并不陌⽣, 从JavaSE部分, 我们就在使⽤ System.out.print 来打印⽇志了. 通过打 印⽇志来发现和定位问题, 或者根据⽇志来分析程序的运⾏过程. 在Spring的学习中, 也经常根据控制台 的⽇志来分析和定位问题. 随着项⽬的复杂…...

最详细!教你学习haproxy七层代理

一、工作原理 &#xff08;1&#xff09;包括 监听端口&#xff1a;HAProxy 会在指定的端口上监听客户端的请求。 例如&#xff0c;它可以监听常见的 HTTP 和 HTTPS 端口&#xff0c;等待客户端连接。请求接收&#xff1a;当客户端发起请求时&#xff0c;HAProxy 接收到请求。…...

ElementUI 事件回调函数传参技巧与自定义参数应用

ElementUI 事件回调函数传参技巧与自定义参数应用 在使用elementUI时&#xff0c;事件回调函数传递参数是一个常见的需求。根据搜索结果&#xff0c;我们可以了解到两种主要的方法来传递自定义参数&#xff1a; 使用回调函数&#xff1a;当elementUI组件触发事件时&#xff0c…...

Unity Il2CppDumper原理与实战:解析元数据与二进制对齐

1. 这不是“破解工具”&#xff0c;而是Unity开发者该懂的二进制真相课 你刚在Unity Asset Store下载了一个功能惊艳的插件&#xff0c;却在打包iOS后发现部分逻辑失效&#xff1b;或者接手一个没有源码的旧项目&#xff0c;只有一堆 .dll 和 .so 文件&#xff0c;连主入口…...

古戏台构件声学特性的时域有限差分方法【附模型】

✨ 长期致力于时域有限差分法、窑洞、戏台、八字墙、共形技术研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;曲面共形网格快速生成算法&#xff1a; …...

AI智能体到底强在哪?为什么大家开始从“养龙虾”转向“养马”

那么AI智能体的核心能力是什么&#xff1f; 1、理解需求 它能分析你的真实意图&#xff0c;而不是只看表面的文字&#xff0c;比如让它整理这个月的消费情况&#xff0c;它明白之后&#xff0c;会读取账单&#xff0c;做分类统计&#xff0c;生成总结&#xff0c;最后输出图表。…...

从Gamma函数到泊松分布:一个概率论中的含参量积分实用案例解析

Gamma函数与泊松分布&#xff1a;概率论中的数学之美 在数据科学和机器学习的实践中&#xff0c;概率分布构成了建模的基石。当我们深入探究这些分布背后的数学原理时&#xff0c;Gamma函数以其优雅的性质和广泛的应用脱颖而出。它不仅连接了离散与连续概率世界&#xff0c;更在…...

Java数组工具类实战:设计不可实例化的静态工具类

实现一个工具类 MathUtils&#xff0c;满足以下要求&#xff1a; 1. 所有方法均为静态&#xff0c;且该类不能从外部实例化&#xff08;提示&#xff1a;使用私有构造器&#xff09;。 2. 提供三个静态方法&#xff1a;- maxArray(int[] arr)&#xff1a;返回较大值&#xff1b…...

为什么92%的团队用DeepSeek生成方案仍需人工重写?揭秘缺失的2个元认知层与1套校验协议

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;为什么92%的团队用DeepSeek生成方案仍需人工重写&#xff1f;揭秘缺失的2个元认知层与1套校验协议 当团队将DeepSeek-R1或DeepSeek-VL模型用于技术方案生成时&#xff0c;表面看响应迅速、逻辑连贯&…...

翻译 GDB 官方文档

翻译 GDB 官方文档项目地址官方文档地址下载源码包编译html运行翻译程序项目地址 https://github.com/shootercheng/gdb-translate.git 项目结构 $ tree -L 1 . ├── cmd ├── go.mod ├── input ├── internal ├── LICENSE ├── output ├── README.md ├─…...

长期使用Token Plan套餐在项目开发中的成本观察

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 长期使用Token Plan套餐在项目开发中的成本观察 在AI驱动的项目开发中&#xff0c;成本控制与预算管理是团队负责人必须面对的现实…...

论文写作效率翻倍?okbiye 毕业论文 AI 功能全解析:从需求到终稿的规范路径

okbiye-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPT毕业论文 - Okbiye智能写作https://www.okbiye.com/ai/bylw 一、从界面看本质&#xff1a;okbiye 毕业论文 AI 写作的设计逻辑 打开 okbiye 的毕业论文 AI 写作页面&#xff0c;首先能感受到的是清晰的…...

差分隐私GDP机制紧密度量化:从隐私剖面到∆度量的实践指南

1. 差分隐私GDP机制&#xff1a;从理论到实践&#xff0c;如何量化隐私保护紧密度在差分隐私&#xff08;Differential Privacy, DP&#xff09;的实际部署中&#xff0c;尤其是在机器学习的隐私保护训练&#xff08;如DP-SGD&#xff09;场景里&#xff0c;我们常常面临一个核…...