当前位置:   article > 正文

蓝桥杯攻略!省一经验+考试全流程+技巧分享_蓝桥杯考试流程

蓝桥杯考试流程

我对整体参赛流程还是比较熟悉了,给大家留下一点值得参考的东西~。

这篇纯纯经验和技巧分享,请放心食用~

目录

考试流程:

考试代码怎么提交:

考试拿分特别注意事项:

小技巧:

考完结束做什么:

 (附加)常用算法模版


首先给大家做个参考:

    这次蓝桥杯4月8号考的,成绩是4月23号出的,大概考完两个星期出成绩,给大家做个参考。


考试流程:

考前一星期打印准考证,自己的考场和机位号是这个时候就知道了,都写在了准考证上

下面是参赛选手须知:

比较重要的几点:        

  • 草稿纸会发,不用担心。考试结束记得将草稿纸上交,不能带出考场。
  • 中途上厕所看考场管的严不严,严格流程是先和监考老师说,监考老师上报,等对面系统同意,你才能去。并且每个考场只能有一个人去厕所,如果你前面有人去了还没回来,你只能等他回来之后才能去。
  • 可以提前交卷,只需要和老师说一声就ok
  • 不能外接usb,也就是说U盘不能带。不能拷代码也不能从u盘安装你喜欢的编译器。没有侥幸机会的,考场的电脑系统已经被设置usb禁用了。考试结束后我试着插下u盘,想把我写的代码拷走,结果在直接显示禁止访问该设备,在“我的电脑”那里也显示无法读取,这个有想带U盘的同学注意一下


考试代码怎么提交:

    编程题:编程题的话直接复制你的代码,交到对应的题目下就好了。考试系统每道编程题都有提交按钮,你点一下就会弹出个类似于文本框的东西,把代码复制进去,再点下提交按钮就可以了。

    填空题 :直接写答案。比如你算出来是235,直接在对应题目那里写235,,不要写print,不要写其他东西,提交那里只有一个类似评论的文本框,不能运行的,直接写答案就可以了。


考试拿分特别注意事项:

(为了避免本来能拿满分的题最后只得个四五分的情况,请提交代码前一定要考虑以下几点)

 1、题目只有0个或1个输入时的情况,是否需要特殊处理(比如动态规划要注意只有1个的情况,因为没有上一个可以为它计算。)

2、初值确保赋0或赋值,不然生成的随机数可能会使整个代码挂掉

3、考虑题目是否涉及负数

4、考虑题目是否会有进位问题

5、用数据大小的边界值计算时间复杂度,1s的限时,运行次数大概是10的8次方 

下图是官方的关于各种数据类型的取值范围,计算时不要溢出了: 


 小技巧:

    可以使用万能头文件#include<bits/stdc++.h>

    填空题只需要填答案,所以过程是怎么做出来的都可以,日期类可以首先考虑用表格excel做,像什么求过了多少天,求是星期几,用excel做很方便。也可以暴力枚举,毕竟系统只要结果。

    如果不会做了想暴力枚举的话,每题1s的限时,也就是运行次数大概是10的8次方。所以暴力枚举两个for嵌套,每个for最多可以运行10000次,三个for嵌套,每个for最多可以运行464次,大家做题的时候根据题目给的数据范围,可以估算一下暴力的话会不会超时。

    求最大最小值时,min要设为INT_MAX(INT_MAX是int的最大值,2147483647,10位数)记不住写999999999也行,不要搞反了,不要把min设置成0,不然输入的数据永远比0大,min永远是0不会更新,max也是同样的道理,设置成-INT_MAX或者-999999999。

     可以重复提交同一道题目,系统会保留最后一次内容。也就是说最后时间不多的时候,你觉得你现在这道题样例已经可以过了,就算不完善也先把代码提交一下,然后再继续完善修改,大不了等完善好了再提交就是了。因为这样万一时间到了你还在修改没提交,那之前提交的不完善的代码也有可能有个保底的几分,这样总比没交好。 


考完结束做什么:

    时间到了系统会自动收卷,不用担心。时间到了之后,把草稿纸交到监考老师那,你就可以去干饭啦~

    对了,考试总时长为4个小时,从9点考到下午1点,最好带点吃的。我带的是巧克力,雀巢咖啡,两个巧克力派,还有一瓶矿泉水,给大家参考参考,大家看着带吧。


总结:

平时不要太在意在群里看见别人刷了几百道题了,那个数字并不是很重要。如果把一道题真的弄懂了,那么相应的那个知识点相应的一系列题目你自然就会了。

再说了,难道因为自己刷的题没别人多就不学啦?

所以保持好心态,你就会发现又AC一道题的时候有多快乐啦~

希望可以帮到你们~加油加油!


附上我平时的做真题网站:编程题库 - C语言网

 可以评测代码,并且有题解,免费的。

 蓝桥杯官网pdf形式真题(也是免费的):蓝桥杯大赛历届真题_蓝桥杯 - 蓝桥云课

 

欢迎点赞,收藏,评论,你的鼓励就是我创作的最大动力!(๑╹◡╹)ノ"""


 (附加)常用算法模版

判断n是否为素数 :
  1. bool is_prime(int n) {
  2. if (n <= 1) return false;
  3. for (int i = 2; i <= sqrt(n); i++) {
  4. if (n % i == 0) return false;
  5. }
  6. return true;
  7. }
 求最大公约数
  1. int gcb(int a,int b){
  2.    return b==0 ? a:gcb(b,a%b);
  3. }
最长递增子序列
  1. for ( j=1; j<len; j++ )
  2. for ( i=0; i<j; i++ )
  3. if ( a[j]>a[i] && dp[j]<dp[i]+1 )
  4. dp[j] = dp[i]+1;
 X的二进制长度
  1. int BitLength(int x)
  2. {
  3. int d = 0;
  4. while (x > 0) {
  5. x >>= 1;
  6. d++;
  7. }
  8. return d;
  9. }
质因数分解
  1. int reduce(int prime[],int pn,int n,int rest[])
  2. {
  3. int i,k=0;
  4. for(i=0;i<pn;i++)
  5. {
  6. if (n==1) break;
  7. if (prime[i]*prime[i]>n) {rest[k++]=n;break;}
  8. while(n%prime[i]==0)
  9. {
  10. n/=prime[i];
  11. rest[k++]=prime[i];
  12. }
  13. }
  14. return k;
  15. }
任意进制转换
  1. void conversion(char s[],char s2[],long d1,long d2)
  2. {
  3. long i,j,t,num;
  4. char c;
  5. num=0;
  6. for (i=0;s[i]!='\0';i++)
  7. {
  8. if (s[i]<='9'&&s[i]>='0') t=s[i]-'0'; else t=s[i]-'A'+10;
  9. num=num*d1+t;
  10. }
  11. i=0;
  12. while(1)
  13. {
  14. t=num%d2;
  15. if (t<=9) s2[i]=t+'0'; else s2[i]=t+'A'-10;
  16. num/=d2;
  17. if (num==0) break;
  18. i++;
  19. }
  20. for (j=0;j<i/2;j++)
  21. {c=s2[j];s2[j]=s[i-j];s2[i-j]=c;}
  22. s2[i+1]='\0';
  23. }
大数加法
  1. string solve(string s, string t) {
  2. // write code here
  3. if(s.size()<t.size())
  4. {
  5. string temp=s;
  6. s=t;
  7. t=temp;
  8. }
  9. int len1=s.size();
  10. int len2=t.size();
  11. int num1,num2,flag=0,sum;
  12. while(len1>0)
  13. {
  14. num1=s[len1-1]-'0';
  15. if(len2>0)
  16. num2=t[len2-1]-'0';
  17. else
  18. num2=0;
  19. sum=num1+num2+flag;
  20. s[len1-1]=sum%10+'0';
  21. flag=sum/10;
  22. len1--;
  23. len2--;
  24. }
  25. if(flag==1)
  26. s="1"+s;
  27. return s;
  28. }
字符串查找
  1. int strfind(char str[],char key[])
  2. {
  3. int l1,l2,i,j,flag;
  4. l1=strlen(str);
  5. l2=strlen(key);
  6. for (i=0;i<=l1-l2;i++)
  7. {
  8. flag=1;
  9. for (j=0;j<l2;j++)
  10. if (str[i+j]!=key[j]) {flag=0;break;}
  11. if (flag) return i;
  12. }
  13. return -1;
  14. }
背包问题
  1. 给你n个价值的东西及背包容量c,然后知道n个东西的价值v[i]以及重量w[i]
  2. 求在背包容量范围为内可以装的最多的价值。
  3. #include<iostream>
  4. #include<stdlib.h>
  5. #include<math.h>
  6. #include<stdio.h>
  7. #include<algorithm>
  8. #include<string.h>
  9. #include<math.h>
  10. using namespace std;
  11. int w[1005],v[1005],dp[1005];
  12. int main()
  13. {
  14. int i,j,tcase,n,c;
  15. scanf("%d",&tcase);
  16. while(tcase--)
  17. {
  18. scanf("%d%d",&n,&c);
  19. for(i=0;i<n;i++)
  20. {
  21. scanf("%d",&v[i]);
  22. }
  23. for(i=0;i<n;i++)
  24. {
  25. scanf("%d",&w[i]);
  26. }
  27. memset(dp,0,sizeof(dp));
  28. for(i=0;i<n;i++)
  29. {
  30. for(j=c;j>=w[i];j--)
  31. {
  32. dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
  33. }
  34. }
  35. printf("%d\n",dp[c]);
  36. }
  37. return 0;
  38. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/392763
推荐阅读
相关标签
  

闽ICP备14008679号