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

美国做调查的网站杭州关键词排名提升

美国做调查的网站,杭州关键词排名提升,做教育网站需要规划哪些内容,phpcms手机网站模板2021年第十二届蓝桥杯省赛B组C题解 关键词:蓝桥杯、省赛、题解、C、算法 一、个人见解 第十二届蓝桥杯省赛B组共有10道题目,包含5道填空题(T1-T5)和5道编程题(T6-T10),总分150分。比赛时长4小…

2021年第十二届蓝桥杯省赛B组C++题解

关键词:蓝桥杯、省赛、题解、C++、算法


一、个人见解

第十二届蓝桥杯省赛B组共有10道题目,包含5道填空题(T1-T5)和5道编程题(T6-T10),总分150分。比赛时长4小时,填空题需直接提交答案,编程题需通过代码实现。题目整体难度中等偏上,重点考察暴力枚举、数论、动态规划、图论等算法知识。以下为完整题目解析及优化后的代码实现。


二、题目解析与代码实现

A. 空间(填空题)

题目描述
小蓝用256MB内存开数组,数组元素为32位二进制整数。求最多能存储多少个这样的整数?

解题思路

  • 单位转换:1MB=1024KB,1KB=1024B,1B=8bit
  • 计算公式:256MB = 256 * 1024 * 1024 B,每个元素占4B(32位)
  • 答案:256 * 1024 * 1024 / 4 = 67108864

代码实现

#include <iostream>
using namespace std;
int main() {cout << 256 * 1024 * 1024 / 4 << endl; // 输出67108864return 0;
}

B. 卡片(填空题)

题目描述
小蓝有0-9的卡片各2021张,从1开始连续拼数,直到某数字卡片不足。求最大能拼到的数。

解题思路

  • 模拟消耗过程,1的卡片最先耗尽
  • 遍历每个数的每一位,统计卡片使用情况
  • 当某卡片数量为负时,返回前一个数

代码实现

#include <iostream>
using namespace std;
int main() {int cards[10] = {2021}; // 初始化卡片数量for (int i = 1; ; i++) {int num = i;while (num) {int digit = num % 10;if (--cards[digit] < 0) { // 卡片不足cout << i - 1 << endl; // 输出3181return 0;}num /= 10;}}return 0;
}

C. 直线(填空题)

题目描述
给定20×21的网格点,求这些点能确定的不同直线数量。

解题思路

  • 枚举所有两点组合,计算斜率k和截距b
  • 使用set<pair<double, double>>去重
  • 注意处理垂直和水平线(共20+21条)

优化代码

#include <iostream>
#include <set>
using namespace std;int main() {set<pair<double, double>> lines;// 处理非垂直/水平线for (int x1 = 0; x1 < 20; x1++) {for (int y1 = 0; y1 < 21; y1++) {for (int x2 = 0; x2 < 20; x2++) {if (x1 == x2) continue; // 跳过垂直线double k = 1.0 * (y2 - y1) / (x2 - x1);double b = (x2 * y1 - x1 * y2) * 1.0 / (x2 - x1);lines.insert({k, b});}}}cout << lines.size() + 20 + 21 << endl; // 40257return 0;
}

D. 货物摆放(填空题)

题目描述
给定n=2021041820210418,求满足n=L×W×H的排列方案数。

解题思路

  • 找出n的所有因数
  • 三重循环枚举因数组合,统计乘积等于n的方案数
  • 优化:先存储因数,减少重复计算

代码实现

#include <iostream>
#include <vector>
using namespace std;
typedef long long LL;int main() {LL n = 2021041820210418;vector<LL> factors;// 收集所有因数for (LL i = 1; i * i <= n; i++) {if (n % i == 0) {factors.push_back(i);if (i != n / i) factors.push_back(n / i);}}// 枚举因数组合int ans = 0;for (LL a : factors)for (LL b : factors)for (LL c : factors)if (a * b * c == n) ans++;cout << ans << endl; // 2430return 0;
}

E. 路径(填空题)

题目描述
2021个节点的图中,节点a与b(|a-b|≤21)有一条边,边权为LCM(a,b)。求节点1到2021的最短路径。

解题思路

  • Dijkstra算法求单源最短路径
  • 预处理邻接表,计算边权(最小公倍数)

优化代码

#include <iostream>
#include <cstring>
using namespace std;
const int N = 2025;
int g[N][N], dist[N];
bool vis[N];int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }
int lcm(int a, int b) { return a * b / gcd(a, b); }void dijkstra() {memset(dist, 0x3f, sizeof dist);dist[1] = 0;for (int i = 0; i < 2021; i++) {int t = -1;for (int j = 1; j <= 2021; j++)if (!vis[j] && (t == -1 || dist[j] < dist[t])) t = j;vis[t] = true;for (int j = max(1, t - 21); j <= min(2021, t + 21); j++)dist[j] = min(dist[j], dist[t] + lcm(t, j));}
}int main() {dijkstra();cout << dist[2021] << endl; // 10266837return 0;
}

三、总结

本届省赛B组题目难度适中,填空题侧重数学思维和暴力枚举,编程题涉及动态规划和数据结构优化。解题关键在于:

  1. 单位转换与公式推导(如A题)
  2. 模拟与边界处理(如B题)
  3. 集合去重与精度控制(如C题)
  4. 因数分解与组合优化(如D题)
  5. 图论算法应用(如E题)

官方资源

  • 题目链接:蓝桥杯题库
  • 报名入口:蓝桥杯官网
http://www.dtcms.com/wzjs/191030.html

相关文章:

  • 外贸用什么软件杭州百度优化
  • 网站建设 坚持实用原则百度提交入口网址
  • 电子商务网站建设训练总结小熊猫seo博客
  • 网站标题没有排名怎么在百度上投放广告
  • 建设企业网站制作公司成免费的crm
  • 阿里云cdn wordpress金华seo扣费
  • 怎么查询网站名注册公司网站建设全包
  • 常德网站建设网站线上推广平台报价
  • 电子商务网站建设技术解决方案阿里巴巴国际站关键词推广
  • 给公司建网站电商网站订烟平台
  • 网站推广现状贵阳网站优化公司
  • 视频网站前台怎么做合作seo公司
  • 你做的网站可视区域多少网站关键词推广工具
  • 电子东莞网站建设推广有什么好方法
  • 网站建设如何维护博客优化网站seo怎么写
  • 郑州做网站优化地址百度推广怎么赚钱
  • wordpress 邮件文章龙岗seo优化
  • 专业网页制作的公司seo关键词推广渠道
  • 公司网站公司简介宣传夸大受处罚沈阳seo关键词排名优化软件
  • 做网站要备案吗浙江疫情最新情况
  • 菜市场做建筑设计图库的网站设计商丘seo博客
  • 中国芗城区城乡建设局网站营销培训机构哪家最专业
  • 怎么制作网站应用搜索关键词排名优化服务
  • 如何制作网站图片竞价账户
  • web个人网页期末作业博客seo教程
  • 上海高端网站定制开发酒店营销推广方案
  • 新疆做网站的公司有哪些seo百度快速排名
  • 东莞专业做淘宝网站建设昆山优化外包
  • 淘宝网站网页图片怎么做的北京seo网站开发
  • 股票开户广州网站设计实力乐云seo