对于蓝桥你不得不知的应试技巧

简介: 本文适用于蓝桥杯算法比赛赛前使用

前言

蓝桥大赛在即,昨天又翻出了2年前写的博客新版骗分导论(最少骗到省级三等奖)——noip想着在修改一下,组成蓝桥的骗分导论,由于蓝桥和noip的比赛相似,是按测试点给分,所以有需要的也可以参考新版骗分导论,当然以前没有想到的,也会在新文中补充,话不多说,我们开始吧,为了300块为了取得更高的名次!!!

骗分导论,更新后给你了,拿不上奖,可别赖我!
在这里插入图片描述

合理使用考试外的电脑工具——简称外挂

别想多了,我可不敢给你作弊,这是合理使用外挂,由于蓝桥中有几个填空题,所谓填空题就是你只需要写出答案即可,我们可以使用类似于:

计算器,word,excel等其他工具

在这里插入图片描述

计算器

例如:

某星系深处发现了文明遗迹。
他们的计数也是用十进制。
他们的文明也有日历。日历只有天数,没有年、月的概念。
有趣的是,他们也使用了类似“星期”的概念,
只不过他们的一个星期包含了9天,
为了方便,这里分别记为: A,B,C…H,I
从一些资料上看到,
他们的23日是星期E
他们的190日是星期A
他们的343251日是星期I
令人兴奋的是,他们居然也预见了“世界末日”的那天,
当然是一个很大很大的数字
651764141421415346185
请你计算一下,这遥远的一天是该文明的星期几?
你需要提交的是一个大写字母,表示该文明的星期几,
不要填写任何多余的内容。

怎么写?聪明的我会用计算器,那么,彦祖应该比我聪明吧
在这里插入图片描述
7正好对应外形日历的G,答案就是G。

excel

又例如:

如果标题出现:第几天
2000年的1月1日,是那一年的第1天。
那么,2000年的5月4日,是那一年的第几天?
注意:需要提交的是一个整数,不要填写任何多余内容。

这怎么办,考过的计算机基础知识——excel不就排上用处了吗?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

常用的代码模板

不得不说,这个我在noip中没有提到过,但是在最近的刷题中,发现有很多题的简单小模板是一样的,记住几个模板会使考试中的效率大幅提升!!!

辗转相除法求最大公约数

闰年

bool rn(int year){
     if((year%400==0)||(year%4==0)&&(year%100!=0))
         return true;
     return false;
}

素数

#include <stdio.h>
int main() {
    int n;
    printf("请输入一个1-100之间的整数:\n");
    scanf("%d", &n);
 
 
    int m = 0;
    for (int i = 2; i < n; i++ ) {
        if(n % i  == 0) {
            m++;
        }
    }
    if (m == 0) {
        printf("%d是素数\n", n);
    } else {
        printf("%d不是素数\n", n);
    }
 
    return 0;
}

对于文中出现的第一个for循环,我们可以这样优化——

for(int i = 2; i < n / i ; i++)

我讲文章,必定是要知其所以然的,理由如下:

质数分解,试除法
for(int i=2;i<=sqrt(n);i++)
不推荐这样写,因为sqrt函数本身是十分慢的
for(int i=2;i<=n/i;i++)这样写,
那么为啥不能for(int i=2;i×i<=n;i++)
有可能i×i大于int的取值范围

排序——sort

一般情况下,在考试中我们尽量使用algorithm中的——sort

#include<iostream>
#include<algorithm>
using namespace std;
int main() {
    int a[10] = { 1,3,4,2,5,6,7,9,8,0 };
    sort(a, a + 10);
    for (int i = 0; i < 10; i++) {
        cout << a[i] << " ";
    }
    return 0;
}

关于sort的更深层次的解释,包括从大到小的排序,还请彦祖们,参考我的这篇博客——algorithm中的排序算法详解

函数库

这个看需求使用吧,常用的也就那么几个,详细还请参考我去年写过的——OI最全函数总结,对于蓝桥来说也是足够用了。

暴力

蓝桥杯在以前我听学长们说也被称之为暴力杯,为啥?和noip的得分类似啊,像这样
在这里插入图片描述
每个对应的节点有对应的分数,超时也有分!!!

万能钥匙——DFS

DFS是图论中的重要算法,但我们看来,图论神马的都是浮云,关键就是如何骗分。
在这里插入图片描述

≻DFS是万能的≺

这对于你的骗分是至关重要的。比如说,一些动态规划题,可以DFS;数学题,可以DFS;剪枝的题,更能DFS。下面以一道省选题为例,解释一下DFS骗分。

例题:NOIP2003,采药

题目描述 Description

辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”

如果你是辰辰,你能完成这个任务吗?

输入描述 Input Description

输入第一行有两个整数T(1<=T<=1000)和M(1<=M<=100),用一个空格隔开,T代表总共能够用来采药的时间,M代表山洞里的草药的数目。接下来的M行每行包括两个在1到100之间(包括1和100)的整数,分别表示采摘某株草药的时间和这株草药的价值。

输出描述 Output Description

输出包括一行,这一行只包含一个整数,表示在规定的时间内,可以采到的草药的最大总价值。

样例输入 Sample Input

70 3
71 100
69 1
1 2
样例输出 Sample Output

3
数据范围及提示 Data Size & Hint

对于30%的数据,M<=10;

对于全部的数据,M<=100。
void DFS(int d,int c)
{
if(d==n)
    {if(c>ans)ans=c; return;}
DFS(d+1,c+w[i]);
DFS(d+1,c);
}

打表

何为打表?对于有的题输入的数据小,对应的输出数据也就固定了,我们不会怎么办???我是来得分的,拿分才是目的,直接打印出输出数据就好了啊,记得当年奥赛队中有个同学,老师一出题,他就说,能不能打表!!!

例如:火柴棒等式

给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A、B、C是用火柴棍拼出的整数(若该数非零,则最高位不能是00)。用火柴棍拼数字0-9的对应如下所示:
0->6根1->2根2->5根3->5根
4->4根5->5根6->6根7->3根
8->7根9->6根

歪解:纯打表
我们只需定义一个答案数组

int ans[25]={0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,8,9,6,9,29,39,38,65,88,128};
scanf("%d",&a);

printf("%d",ans[a]);

完成了???请评论一下666
在这里插入图片描述

最后

博主,还是要告诉大家,骗分不是万能的,平时好好学,可以不用骗分拿到好成绩的,我们应该抵制这种行为(手动狗头保命

请大家给一个三连,作为回报,博主也给大家准备了一份蓝桥礼包——历年真题,感谢大家,每个三连就能拯救一个小博主!!!

链接: https://pan.baidu.com/s/1yg1gFL0TE_PEgHLIqlWwog?pwd=ymm1
提取码:ymm1

在这里插入图片描述

相关文章
|
Windows
写文章狗屁不通,怎么办?跪求高人指点!
写文章狗屁不通,怎么办?跪求高人指点!
195 0
写文章狗屁不通,怎么办?跪求高人指点!
|
机器学习/深度学习 算法
种类并查集(蓝桥侦探)
种类并查集(蓝桥侦探)
|
双11 C语言
【牛客刷题】/*开胃菜——简单四道编程题*/
【牛客刷题】/*开胃菜——简单四道编程题*/
203 0
|
安全 程序员 PHP
只有程序猿才能看懂的段子,不笑你拿小拳拳捶我!!!
只有程序猿才能看懂的段子,不笑你拿小拳拳捶我!!!
200 0
只有程序猿才能看懂的段子,不笑你拿小拳拳捶我!!!
师傅带徒弟 但是不能 教会徒弟饿死师傅!
  有两句古话:师傅带徒弟、教会徒弟饿死师傅。   这两句是不是有点矛盾呢?     先来看看师傅带徒弟。这个在以前是比较常见的。在工厂车间里,刚分配来的学生,一般都会找一个成手,手把手的来教他。
2891 0
|
Java 程序员 应用服务中间件
世界上现在没了程序员,会怎样?网友说:然后世界就凉了
我想问下,你们现在能离开电子产品?比如智能冰箱,微波炉,智能洗衣机,手机,电脑等等。 答案肯定是不行,现在一天得工作都是跟互联网有关。比如公司的管理系统,还有工作qq,微信。
895 0

相关实验场景

更多