每日机试20210628

==感觉时间真的是不够了,呜呜呜,裂开都不够的

尽管在等通知的同时,自己很焦急(头都快炸了),还是要把该做的做好

今天没刷几道题目,感觉就是练练手,重新捡起来之前断掉的机试训练。

aa,还需要提醒的是,哈工深好像有笔试题目,自己要把简单的专业课给过一遍,计算之类的,能学多少是多少吧

/=\ 感觉机器学习数据挖掘之类的学习起来好有意思!!gg

在这里列一下我之后机试的计划

  • 贪心算法(背包问题==我想起来之前参加pat时候遇到的问题)
  • 动态规划
  • KMP
  • 大整数运算(一般作为签到题)
  • 二分算法
  • 之后就是针对院校进行机试

加油!今天的收获

  1. 万能头文件

    1
    #include<bits/stdc++.h>
  2. 关于memset和fill的用法

    -> 柳神的blog

    数组

1
2
3
4
5
6
7
8
9
10
11
12
//关于二维数组的初始化

int dp[1000][1000];
//memset(str_ptr, val , len ); //好像只能初始化为0或者1
memset(dp[0],0,sizeof(dp)/sizeof(int)); //只能初始化为0

//fill(str_ptr,end_ptr, val)
fill(dp[0],dp[0]+1000*1000,4);

//一维数组
int dp[1000];
fill(dp,dp+1000,4);

​ vector

1
2
3
fill(v.begin(), v.end(), 要填入的内容);
vector<int> v{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
fill(v.begin(), v.end(), -1);
  1. C/C++关于字符串的读取

题目:[日期差值]

这里需要判断闰年: 年份能够被100整除,同时被400整除; 能被4整除,但是不能被100整除

1
2
3
4
5
6
bool isRui(long long y1){
if((y1%400==0 &&y1%100==0) || (y1%4==0 && y1%100!=0)){
return true;
}
return false;
}
1
2
3
4
5
6
7
8
9
//利用char数组
char date1[20],date2[20];
scanf("%s", date1);
scanf("%s", date2); //按照空格换行符作为分隔符

//c++ string类,好象是不需要括头文件的,不知道为什么我之前写的是一直出错了 gg
string s1,s2;
cin>>s1>>s2;
cout<<s1<<" "<<s2;
  1. 动态规划经典题型的复习

    ==自己最开始忘记设置dp数组的边界,调试了好久

    最大连续子序列和

    LIS最长不下降子序列

    LCS最长公共子序列

    最长回文子串**可以多刷

  2. 分块思想

    如何维护一个栈,可以在线取出其中第K大的元素

  3. 开坑线段树