2021华科计算机考研复试机试 与 复试经验分享

2021考研上岸华科计算机专硕,分享机试试题与题解

题目

  • 输入一个长度为nnn的数组,先将其进行排序输出,然后对排序后的结果去重再次输出
    Sample Input:
    6
    3 2 3 6 5 6
    Sample Output:
    2 3 3 5 6 6
    2 3 5 6
  • 输入一个占323232比特位的十进制正整数,按下述规则输出加密后的十进制整数:
    设这个整数的二进制表示为xxxxppppxxxxeeeexxxxeeeexxxxeeeexxxx\ pppp\ xxxx\ eeee\ xxxx\ eeee\ xxxx\ eeeexxxx pppp xxxx eeee xxxx eeee xxxx eeee ,将其中标记为eee的均左移888位,标记为ppp的右移242424位,标记为xxx的位置不变,输出加密后的数的十进制表示
    Sample Input:
    1234
    Sample Output:
    262864
  • 输入两个整数aaa和nnn,要求从aaa中删除nnn个位置上的数后剩下的数按原来的相对顺序组成的新数最小,求这个数
    Sample Input:
    62354 2
    Sample Output:
    234

题解

  • 对于去重可以先使用C++sortC++\ sortC++ sort函数再使用uniqueuniqueunique函数,也可以直接排序后一遍扫描去重。代码:

    #include<algorithm>
    #include<iostream>using namespace std;
    int n,a[1000005];int main() {while(~scanf("%d",&n)) {for(int i=1;i<=n;i++) scanf("%d",&a[i]);sort(a+1,a+n+1);for(int i=1;i<=n;i++) printf("%d%c",a[i],i==n?'\n':' ');int k=1;for(int i=2;i<=n;i++) if(a[i]!=a[i-1]) a[++k]=a[i];for(int i=1;i<=k;i++) printf("%d%c",a[i],i==k?'\n':' ');}}
    
  • 因为eee部分都是整体左移888位,所以考虑先把三个部分(e,p,x)(e,p,x)(e,p,x)分开,然后再用移位操作即可。代码:
    #include<iostream>
    #include<algorithm>using namespace std;
    long long n;
    int main() {while(~scanf("%lld",&n)){long long e = (n & 0x000f0f0f) , p = (n & 0x0f000000) , x = n - e -p ;printf("%lld\n",(e << 8) + (p >> 24) + x);}
    }
    
  • 由于从aaa中去除nnn位,所以答案的数的长度一定是Len(a)–nLen(a) – nLen(a)–n, 按照贪心思维,要想让一个Len(a)–nLen(a) – nLen(a)–n位的数最小,那么一定是优先让最高位最小,在满足高位最优的情况下再去满足低位。所以考虑从aaa的高位到低位扫描,从中选出Len(a)–nLen(a) – nLen(a)–n个数,但是还有一个限制条件,就是由于要保持相对顺序,所以每次选出一个数后,要保证这个数后面剩余的数足够供选择以构成Len(a)–nLen(a) – nLen(a)–n位的数(有一点绕,简单说就是后面要留足够的数供选择)。举例来说,比如输入62351262351\ 262351 2,那么要取出5–2=35\ –\ 2\ =\ 35 – 2 = 3个数,如果给967819\ 6\ 7\ 8\ 19 6 7 8 1依次给以编号123451\ 2\ 3\ 4\ 51 2 3 4 5的话,那么第一个数必须在区间[1,3][1 , 3][1,3]内取一个最小数,留出两个数供后面选择,显然第一个数取666,第二个数在区间[3,4][3 , 4][3,4]内取(要从上次取的最小数后面一个位置开始找),显然取444,第三个数在区间[4,5][4 , 5][4,5]内取,显然取111。所以答案就是671671671。顺带提一下,考场上很多人的做法都是从数aaa中删除最大的nnn个数,显然这是错的,比如样例96578296578\ 296578 2,按照这种做法输出657657657,显然最小的应该是578578578,所以是错的。至于如何求出区间内最小的数,可以直接O(n2)O(n^2)O(n2)预处理O(1)O(1)O(1)查询,也可以使用STSTST表(O(nlogn)(O(nlog n)(O(nlogn)预处理,O(1)O(1)O(1)查询),当然也可以单调栈O(n)O(n)O(n)全部做出来。考场上第一种做法就够了,由于时间充足我是使用了STSTST表做了优化。当然还有一种最暴力的做法是直接递归枚举所有情况选一个最优的。代码:
    #include<iostream>
    #include<cstdio>
    using namespace std;char s[1005];
    int min_pos[1005][1005]; // min_pos[i][j]表示区间[i,j]的最小数的位置,如果有多个最小数,那么取最左边的那个数int main() {int m,n;while(~scanf("%s %d",s+1,&m)) {n = strlen(s+1);for(int i=1;i<=n;i++) {min_pos[i][i] = i;for(int j=i+1;j<=n;j++) {min_pos[i][j] = s[j] < s[min_pos[i][j-1]] ? j : min_pos[i][j-1];}}int pre_pos = 0;for(int i=1;i<=n-m;i++) printf("%c",s[pre_pos = min_pos[pre_pos+1][m+i]]);printf("\n");}
    }
    

一些关于复试的感悟

  • 机试
    这一部分拉不开太大的差距,但是如果你一点不准备的话一定会死得很惨,据我所知有一位初试415分的同学机试一题没做出来结果未被录取,所以建议跨考的同学在考研期间(初试),学累了的时候可以到牛客网上找一些简单的题目做一做(手动滑稽),科班的基础不好的也不要放松警惕。牛客官网有历年试题,可以去找一下做一做。
  • 笔试
    这一部分应该是复试最难的部分了,华科历年是四选二(汇编,数据库,算法,系统结构),也是最能拉分的部分了,建议多做准备
  • 综合面试 & 英语面试
    这两个部分的共同点就是都会根据你的自我介绍来,比如你说你是打竞赛的,那么综合面试里老师会问你比如为什么没保研,竞赛经历让你获得了什么,平时遇到问题怎么处理等等,在英语面试里老师会问你参加过哪些比赛,在队伍中担任什么工作等等。当然如果你说你做过什么什么项目,那么会问你一些实现细节,英语面试有的组就聊家常,有些组会让你翻译一些导师的论文的综述(我猜测是根据初试分数来?高分可能就松一点)。所以自我介绍要好好准备,引导老师提问,对可能提问的问题提前准备。

祝大家统统上岸!!

2021华科计算机考研复试机试 与 复试经验分享相关推荐

  1. 中科大C语言考试题目,中科大计算机考研2006-2012机试试题.pdf

    中科大计算机考研2006-2012机试试题.pdf 王道论坛( )友情分享!予人玫瑰 手留余香! 中科大计算机考研2012 复试机试试题 (感谢王道论坛 "林影清风"版主) 本次机 ...

  2. 中科大计算机机试题,中科大计算机考研2006-2012机试试题

    王道论坛(http://doc.xuehai.net)友情分享!予人玫瑰 手留余香! 中科大计算机考研2012复试机试试题 (感谢王道论坛"林影清风"版主) 本次机试两个半小时,共 ...

  3. 2021华科计算机考研分数线,2021华科考研分数线_中国研究生招生信息网官网

    2021华科考研分数线_中国研究生招生信息网官网由广东研究生考试网考试快讯栏目由提供,更多关于考研成绩查询时间,研招网,广东研究生考试快讯的内容,请关注广东研究生考试频道/广东人事考试网! 云南省20 ...

  4. 王道计算机考研j机试指南,王道论坛计算机考研机试指南 三 Hash的应用

    例2.5 统计同成绩学生人数 (九度教程第10题) 时间限制:1秒 **内存限制:32兆 ** 特殊判题:否 题目描述: 读入N名学生的成绩,将获得某一给定分数的学生人数输出. 输入: 测试输入包含若 ...

  5. 华科00年计算机考研复试机试

    [1]输入n, 求y1=1!+3!+...m!(m是小于等于n的最大奇数) y2=2!+4!+...p!(p是小于等于n的最大偶数) 参考代码: #include<stdio.h> int ...

  6. 华科计算机考研复试真题,华科计算机考研复试机试题(2000-2013)

    华科计算机考研复试机试题(2000-2013),c++实现,注本人参加过2014年华科上机考试,老师说机试时可以使用c语言,c++语言. 2000年 阶乘 #include #include #inc ...

  7. 2011年华科计算机考研复试机试题真题

    很好的资料哦,更多资料请访问王道论坛:www.cskaoyan.com 2011年华科计算机考研复试机试题真题:

  8. 华师大计算机在线作业,华东师范大学计算机考研复试机试习题

    华东师范大学计算机考研复试机试习题 华东师范大学计算机考研:计算机系.数据学院复试机试历年真题以及AC代码.历年学长总结得到.适用学院:计算机学院.数据学院.软件学院也可参考.sum/=10;prin ...

  9. 上海交大计算机考研复试,上海交大计算机考研复试机试

    上海交大 计算机考研 SJTU-CS 复试机试 (2005-2010) 题目 我自己在准备考研时曾做了下06,07,08,09年的题目,并且在博客中提供了一个参考的题解,10年的题目以及11年保研的题 ...

  10. 华科计算机考研复试真题,华科计算机考研复试机试题【含参考代码】

    华科计算机考研复试机试题[含参考代码] (32页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 29.9 积分 华科历年复试机试题汇总上机考试.一般网站上公 ...

最新文章

  1. python如何安装各类包_如何在Python中列出所有已安装的包及其版本?
  2. redis 的 HyperLogLog
  3. drawboard pdf拆分文件_电脑在线如何分割PDF页面?免费分割3M以内PDF文件页面的简单方法...
  4. 计网链路层mac地址和ip地址缺一不可
  5. gcnew 与 new 的区别
  6. 信息系统项目管理师:第8章:项目质量管理(2)-章节重点
  7. jQuery防止多次提交
  8. 二、uniapp项目(分段器的使用、scroll-view、视频下载、转发)
  9. 吴恩达深度学习5.3练习_Sequence Models_Neural machine translation with attention
  10. Ecplise + Xdebug 一波三折终于能单步调试了
  11. Incapsula CDN 入门指南
  12. Android Binder传递文件描述符原理分析
  13. 吴恩达-机器学习课后题07-PCA-主成分分析法
  14. 医院挂号小程序,预约挂号小程序,微信小程序医院预约挂号系统毕业设计作品
  15. android studio高德地图的显示于定位(附带逆地理编码围栏)
  16. 统计自然语言处理梳理二:句法分析
  17. 关于SQL中的触发器(数据库)
  18. Oracle索引基础
  19. Linux df命令的使用
  20. Web3.0与数字时尚,该如何落地?

热门文章

  1. Selenium2Library库文件的使用和简析
  2. 电子招标是未来的招投标趋势
  3. PuTTY怎么读,PuTTY怎么发音,PuTTY的发音
  4. 学习:通用软件滤波算法-前序
  5. ThinkPHP5-商城小程序-web技术栈|
  6. php物料编码生成器,物料编码生成器下载|
  7. bom管理软件,支持版本控制,bom比对
  8. XP框架开启debug模式_推荐一个兼容性强完美支持XP框架的安卓模拟器,一直在用!...
  9. MySQL的JDBC下载
  10. php截取字符串右边,如何从右边向左截取字符串