蓝桥杯如何混分

2023-11-15


蓝桥杯

蓝桥杯是OI赛制,也就是说即使不会算法,也可以暴力求解,拿到分数。


一、如何暴力求解

可以在电脑的编译器上使用超过时间的循环暴力求法,得出最终的答案,在选择题甚至可以使用excel求解。
对于大题,由于是OI赛制,OI赛制不同于ACM赛制的点是,OI赛制可以不用全对,但ACM赛制一定要求全对。

二、举例说明

1.蓝桥杯真题

题目如下(示例):
给定一个长度为 n 的数组 A1,A2,⋅⋅⋅,An。

你可以从中选出两个数 Ai 和 Aj(i 不等于 j),然后将 Ai 和 Aj 一前一后拼成一个新的整数。

例如 12 和 345 可以拼成 12345 或 34512。

注意交换 Ai 和 Aj 的顺序总是被视为 2 种拼法,即便是 Ai=Aj 时。

请你计算有多少种拼法满足拼出的整数是 K 的倍数。

输入格式
第一行包含 2 个整数 n 和 K。

第二行包含 n 个整数 A1,A2,⋅⋅⋅,An。

输出格式
一个整数代表答案。

数据范围

1≤n≤105,
1≤K≤105,
1≤Ai≤109

输入样例:

4 2
1 2 3 4

输出样例:

6

我们可以发现,这题如果不会做,我们可以暴力n^2的时间复杂度,暴力出来。

2.暴力代码

代码如下(示例):

#include<bits/stdc++.h>
#define int long long
using namespace std;

const int N = 1e5 + 10;

int xy[N],num[N];
long long cnt ;
int n , k ;
long long wei(int x)
{
    int num = 1 ;
    while(x)
    {
        x /= 10;
        num *= 10;
    }
    return num % k;
}

signed main()
{
    cin >> n >> k ;
    
    for(int i = 1 ; i <= n ; i ++ )  cin >> xy[i] , num[i] = wei(xy[i]) , xy[i] %= k ;
    
    for(int i = 1 ; i <= n ; i ++ )
    {
        for(int j = 1 ; j <= n ; j ++ )
        {
            if(j == i) continue;
            if((xy[i] * num[j] + xy[j]) % k == 0 )
            {
                cnt ++;
            }
            //cout << i << "  " << xy[i] << "  " << j <<"  " << xy[j]<< "   " << (xy[i] * num[j] + xy[j])%k << endl;
        }
    }
    
    cout << cnt << endl;
    return 0;
}

这个代码时间复杂度是n2的,而题目要求1s(根据经验:1s差不多极限不TLE的运算次数是1e8),因此该题如果n2的时间复杂度的话,必然会TLE,拿不到满分,但是由于是OI赛制,则可以拿分。如果是ACM赛制,那么一分没有。
因此,我将其称之为——混分。在时间不够的情况下,可以这样混分。

3.正解思路 + 代码

空间换时间的方式:即增加空间复杂度以减少时间复杂度。
思考:
我们的核心在两重循环上,第一重循环是必须的,第二重循环我们需要思考一下如何优化,为何需要遍历全部变量呢?
我们需要的是,该数能互补(a1+a2 % k = 0 ,则称a1与a2互补)的数的个数。
又因为k<= 1e5,所以可以将作为数组索引(如果过大,可以考虑离散化)

首先我们考虑
(x[i] *10^( ln(y[j]) + 1 )+ y[j]) % K == 0
我们的核心就是优化这个式子,我们上面暴力的方法是通过遍历数组得到这个式子,接下来,我们考虑通过初始化数组的方式(即通过增大空间复杂度的方式)进行优化。

尝试1:

x[i]用数组来存其值
即
cntt[1-max(x[i]%K)]存整个数组中的值---x[i]%k----的个数 
( 0 <=max(x[i]%k) <= K - 1) 

例如:

K = 3 
N = 5
a[1-5] = 1 , 2 , 0 , 1 , 2 
则
cntt[0] = 1;
cntt[1] = 2;
cntt[2] = 2;

在我们枚举 j的时候,我们发现,即使找到了最后对应的cntt[i]的个数,但是并不能找到cntt[i]是否的个数里是否包含了j
(1)有同学可能会想到使用等于判断不就行了,但是题目要求序号不同,假设出现,序号不同,但值相同的两项。就违背了题目的意思了,因此不能这样直接用等于进行判断。
(2)有同学可能会想到使用vector循环

经过多次尝试和实验


总结

蓝桥杯全国软件和信息技术专业人才大赛是由中华人民共和国工业和信息化部人才交流中心主办,国信蓝桥教育科技(北京)股份有限公司承办的计算机类学科竞赛。截至2022年2月,蓝桥杯全国软件和信息技术专业人才大赛已举办12届。
蓝桥杯介绍:
大赛分为个人赛、团队赛和艺术设计赛三个部分。本博客仅针对个人赛做一些简单介绍,应该注意的事项,以及我个人赛后的总结。

竞赛项目及面向的对象

1.JAVA软件开发
对象:具有正式全日制学籍并且符合相关科目报名要求的研究生、本科及高职高专学生(以报名时状态为准),以个人为单位进行比赛。该专业方向设大学A组、大学B组、大学C组。

说明:985、211本科生只能报大学A组,所有院校研究生只能报大学A组,其它院校本科生可自行选择报大学A组或大学B组,高职高专院校可报大学C组或自行选择报任意组别。

2.C/C++程序设计
对象:具有正式全日制学籍并且符合相关科目报名要求的研究生、本科生及高职高专学生(以报名时状态为准) ,以个人为单位进行比赛。该专业方向设大学A组、大学B组、大学C组。

说明:985、211本科生只能报大学A组,所有院校研究生只能报大学A组,其它院校本科生可自行选择报大学A组或大学B组,高职高专院校可报大学C组或自行选择报任意组别。

3.嵌入式设计与开发
对象:具有正式学籍的在校全日制研究生、本科及高职高专学生(以报名时状态为准),以个人为单位进行比赛。该专业方向设大学组。

4.单片机设计与开发
对象:具有正式学籍的在校全日制本科及高职高专学生(以报名时状态为准),以个人为单位进行比赛。该专业方向设大学组。

5.青少年创意编程组
对象:6-17岁的中小学生。

大赛规模
蓝桥杯分为省赛和决赛,在省赛中拿到省一等奖的选手才能晋级国赛(决赛),决赛一般在北京举行。

省赛时间:每年的3月份下旬到4月份上旬左右

国赛时间:每年的5月份左右

比赛时长:四个小时

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝桥杯如何混分 的相关文章

  • WinForms:如何确定窗口是否不再活动(没有子窗口具有焦点)?

    我的应用程序使用多个窗口 我想隐藏一个特定窗口 以防应用程序失去焦点 当活动窗口不是应用程序窗口时 source https stackoverflow com questions 466354 how can i tell if a wi
  • asp.net 文本框文本模式数字,仅允许数字

    我只是想知道 ASP NET 中是否有一种方法只允许文本框中的数字textmode number 当我使用这个时
  • 使用具有现有访问令牌的 Google API .NET 客户端

    用例如下 移动应用程序正在通过 Google 对用户进行身份验证 并且在某些时候 我们需要将用户的视频发布到他的 YouTube 帐户 出于实际原因 实际发布应该由后端完成 已经存储在那里的大文件 由于用户已经通过应用程序的身份验证 因此应
  • C#动态支持吗?

    看完之后这个帖子 https stackoverflow com questions 2674906 when should one use dynamic keyword in c sharp 4 0k和链接 我还有 2 个问题 问题 1
  • 以编程方式检查页面是否需要基于 web.config 设置进行身份验证

    我想知道是否有一种方法可以检查页面是否需要基于 web config 设置进行身份验证 基本上如果有这样的节点
  • 如何创建可以像 UserControl 一样编辑的 TabPage 子类?

    我想创建一个包含一些控件的 TabPage 子类 并且我想通过设计器来控制这些控件的布局和属性 但是 如果我在设计器中打开子类 我将无法像在 UserControl 上那样定位它们 我不想创建一个带有 UserControl 实例的 Tab
  • 构造函数中显式关键字的使用

    我试图了解 C 中显式关键字的用法 并查看了这个问题C 中的explicit关键字是什么意思 https stackoverflow com questions 121162 但是 那里列出的示例 实际上是前两个答案 对于用法并不是很清楚
  • 显示异常时的自定义错误消息:从客户端检测到潜在危险的 Request.Form 值

    我在我的 Web 应用程序中使用 ASP NET 的登录控件 当发生此异常时 我想在标签上显示一种有趣的错误类型System Web HttpRequestValidationException A potentially dangerou
  • C++ 异步线程同时运行

    我是 C 11 中线程的新手 我有两个线程 我想让它们同时启动 我可以想到两种方法 如下 然而 似乎它们都没有按照我的预期工作 他们在启动另一个线程之前启动一个线程 任何提示将不胜感激 另一个问题是我正在研究线程队列 所以我会有两个消费者和
  • 从多个类访问串行端口

    我正在尝试使用串行端口在 arduino 和 C 程序之间进行通信 我对 C 编程有点陌生 该程序有多种用户控制形式 每一个都需要访问串口来发送数据 我需要做的就是从每个类的主窗体中写入串行端口 我了解如何设置和写入串行端口 这是我的 Fo
  • 如何从 C# 控制器重定向到外部 url

    我使用 C 控制器作为网络服务 在其中我想将用户重定向到外部网址 我该怎么做 Tried System Web HttpContext Current Response Redirect 但没有成功 使用控制器的重定向 http msdn
  • 如何重置捕获像素的值

    我正在尝试创建一个 C 函数 该函数返回屏幕截图位图中每四个像素的 R G 和 B 值 这是我的代码的一部分 for int ix 4 ix lt 1366 ix ix 4 x x 4 for int iy 3 iy lt 768 iy i
  • 获取 2 个数据集 c# 中的差异

    我正在编写一个简短的算法 它必须比较两个数据集 以便可以进一步处理两者之间的差异 我尝试通过合并这两个数据集并将结果更改放入新的数据集来实现此目标 我的方法如下所示 private DataSet ComputateDiff DataSet
  • 如何一步步遍历目录树?

    我发现了很多关于遍历目录树的示例 但我需要一些不同的东西 我需要一个带有某种方法的类 每次调用都会从目录返回一个文件 并逐渐遍历目录树 请问我该怎么做 我正在使用函数 FindFirstFile FindNextFile 和 FindClo
  • 将代码拆分为标头/源文件

    我从 Asio 的示例页面中获取了以下代码 class tcp connection public boost enable shared from this
  • 是否可以有一个 out ParameterExpression?

    我想定义一个 Lambda 表达式out范围 有可能做到吗 下面是我尝试过的 C Net 4 0 控制台应用程序的代码片段 正如您在 procedure25 中看到的 我可以使用 lambda 表达式来定义具有输出参数的委托 但是 当我想使
  • 运算符“==”不能应用于“int”和“string”类型的操作数

    我正在编写一个程序 我想到了一个数字 然后计算机猜测了它 我一边尝试一边测试它 但我不断收到不应该出现的错误 错误是主题标题 我使用 Int Parse 来转换我的字符串 但我不知道为什么会收到错误 我知道它说 不能与整数一起使用 但我在网
  • 使用 C# 从 DateTime 获取日期

    愚蠢的问题 给定日期时间中的日期 我知道它是星期二 例如我如何知道它的 tue 2 和 mon 1 等 Thanks 您正在寻找星期几 http msdn microsoft com en us library system datetim
  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没
  • 实例化 Microsoft.Office.Interop.Excel.Application 对象时出现错误:800700c1

    实例化 Microsoft Office Interop Excel Application 以从 winforms 应用程序生成 Excel 时 出现以下错误 这之前是有效的 但突然间它停止工作了 尽管代码和 Excel 版本没有变化 我

随机推荐

  • Spring Cloud RestTemplate调用IP或域名

    在SpringCloud的项目中 我们使用了自动配置的OAuth2RestTemplate RestTemplate 但是在使用这些restTemplate的时候 url必须是服务的名称 如果要调用真实的域名或者ip的url 会有错误 如下
  • 数据库:drop、truncate、delete三者删除的区别

    一 用法和区别 drop drop table 表名 删除内容和定义 并释放空间 执行drop语句 将使此表的结构一起删除 truncate 清空表中的数据 truncate table 表名 删除内容 释放空间但不删除定义 也就是保留表的
  • React与响应式系统

    响应式系统与React 1 React的历史与应用 React的历史 2010年Facebook在其php生态中引入了xhp框架 首次引入了组合式组件的思想 启发了后来的React的设计 2011年Jordan Walke创造了FaxJs
  • 服务器可以放置多少个网站

    服务器可以放置多少个网站 一 网站大小 能影响一个网站大小的因素是比较多的 例如网站的设计 网站里的内容大小 通常网站尺寸比较大 动态页面比较多的 例如视频网站和小说网站 通常对储存的要求也会比较高 所以网站大小必然还是比较大的 一台主机上
  • linux查看ip地址命令ipconfig命令不存在解决方法

    linux查看ip地址命令ipconfig命令不存在 在新版的Linux发行版中 ipconfig已经不行了 不能使用了 那么 Linux查看ip地址应该使用什么命令呢 如何在Linux命令行中查找系统的IP地址 对于许多Linux用户来说
  • SSM之Mybatis(二)Mapper映射文件

    介绍 Mapper映射文件 作用是用来配置SQL映射语句 根据不同的SQL语句性质 使用不同的标签 mapper文件中常用的标签有
  • 数据可视化库 matplotlib 入门 5——饼图

    Matplotlib 库使用入门5 饼图 pie 函数 绘制饼图示例 在前面关于 matploblib 的文章中 笔者分别介绍了 matplotlib 库的安装与配置 常用套路和绘图组件 画布和绘图域的创建 图素的设置 用 plot 函数绘
  • Springboot使用netty应用tcp协议

    介绍 Netty是由JBOSS提供的一个java开源框架 Netty提供异步的 事件驱动的网络应用程序框架和工具 用以快速开发高性能 高可靠性的网络服务器和客户端程序 也就是说 Netty 是一个基于NIO的客户 服务器端编程框架 使用Ne
  • sass中的占位符%,@extend,@mixin(@include)的编译区别和使用场景

    对于下面同一段css 它们的编译效率是不同的 1 使用 extend 基础类icon会出现在编译后的css文件中 即使它可能只是拿来被继承 而不是作为icon这个class单独使用 基础类icon icon transition backg
  • 因为乘法有一个更高的优先级比加法

    为了正确地评估表达式 如4 2 3 我们必须了解运营商做什么 以及正确的顺序 适用于他们 运算符在复合表达式中计算的顺序称为运算符优先级 使用正常的数学优先规则 在加法之前求解乘法的状态 我们知道上面的表达式应该以4 2 3 来计算 以产生
  • 仓山区工业机器人_重磅!富士康东南总部拟入仓山!或建全国第二家工业互联网学院...

    随着福州城市发展加速 众多知名企业纷纷落地 近日 有消息称 著名企业富士康拟来福州建设东南运营总部和研发中心 富士康拟在仓山建设东南运营总部 10月11日 福州投促局在官网发布消息称 富士康工业富联拟在仓山区落地东南运营总部和研发中心 并合
  • Windows命令行初步:更改配色、提示符以及编码方式

    文章目录 启动和退出 窗口标题和提示符 命令行颜色 更改编码 启动和退出 按下win R 调出运行窗口 输入cmd就可以进入命令行了 在Win10以前的系统种 如果在命令行中再输入一个cmd 就会再打开一个命令行 但最近的Win11版本中
  • Java解析XML的几种方法

    Java解析XML有几种方法 本文就讨论是怎么使用这四种方法来解析XML文件 并分析他们的优缺点以及应用场合 1 DOM Document Object Model 优点 1 允许应用程序对数据和结构做出更改 2 访问是双向的 可以在任何时
  • 2022年数维杯国际大学生数学建模挑战赛A题自动地震地平线跟踪解题全过程论文及程序

    2022年数维杯国际大学生数学建模挑战赛 A题 自动地震地平线跟踪 原题再现 随着我国经济社会发展 地质工作的重要性也日益提高 地震资料解释是地震勘探工程的一个重要阶段 可以明确油气勘探的地下构造特征 为油气勘探提供良好和有利的储层 准确的
  • spyglass CDC方法学

    CDC issues 亚稳态 spyglass CDC方法学流程 sdc2sgdc 黑盒子的clock用assume path约束 该goal会产生clockreset的约束文件 利用cdc top down也可以从soc顶层生成block
  • IDEA导入eclipse项目并部署tomcat运行Web项目同时配置打WAR包

    工作中点滴记录 本人比较熟悉常用eclipse开发工具 最近在项目中使用eclipse导入同事提供的项目出现文件上传OSS服务失败报找不到桶地址 但使用IDEA打包运行正常 原因未知 迫不得已只能改用IDEA开发 在使用IDEA导入ecli
  • python-Excel多个表格合并

    时间 2019 02 19 工具 python3 7 1 用到的模块 xlrd 负责读取数据 xlsxwriter 负责写入数据 glob 查找符合自己目的的文件 一 模块安装 pip 注意 这里我用的是pip模块来安装 部分python版
  • 算法设计技巧与分析 答案整理

    算法设计技巧与分析 沙特版 这书答案真难找啊 东拼西凑薅出这么些 https wenku baidu com view 279b9245561252d380eb6ea4 html https wenku baidu com view af5
  • 线性分类模型--感知机(perceptron)

    线性分类模型 感知机 perceptron 1 引言 分类问题 分类是监督学习的一个核心问题 在监督学习中 当输出变量Y取有限个离散值时 预测问题便成为分类问题 基本概念可以参考 机器学习方法概论1 监督学习从数据中学习一个分类模型或分类决
  • 蓝桥杯如何混分

    文章目录 蓝桥杯 一 如何暴力求解 二 举例说明 1 蓝桥杯真题 2 暴力代码 3 正解思路 代码 总结 蓝桥杯 蓝桥杯是OI赛制 也就是说即使不会算法 也可以暴力求解 拿到分数 一 如何暴力求解 可以在电脑的编译器上使用超过时间的循环暴力