随笔分类 -  机试笔记

摘要:一.枚举 例题一 百鸡问题 #include<bits/stdc++.h> using namespace std; int main(){ int n; while (cin>>n) { for (int i = 0; i <= 100; i++) { for (int j = 0; j <= 1 阅读全文
posted @ 2020-04-19 10:22 不二良 阅读(140) 评论(0) 推荐(0)
摘要:1.对于长度为6位的一个01串,每一位都可能是0或1,一共有64种可能。它的前几个是:000000000001000010000011000100请按从小到大的顺序输出这64种01串。 模拟二进制加法 #include <bits/stdc++.h> using namespace std; voi 阅读全文
posted @ 2020-04-18 21:40 不二良 阅读(193) 评论(0) 推荐(0)
摘要:二叉树的遍历只要掌握好模板的就可以了,二叉树的构建在实现的时候传递参数时要考虑好指针的使用 例题 输入一个前序遍历的数列,建立二叉树,并中序遍历 #include <bits/stdc++.h> #include <string> using namespace std; typedef struc 阅读全文
posted @ 2020-04-11 22:48 不二良 阅读(145) 评论(0) 推荐(0)
摘要:C++中栈可以 用stack<类型名> s来定义一个栈,使用push和pop来进栈和出栈,使用empty()来判断栈是否为空 栈的应用 括号匹配 在算术表达式中,除了加、减、乘、除等运算外,往往还有括号。包括有大括号{},中括号[],小括号(),尖括号<>等。 对于每一对括号,必须先左边括号,然后右 阅读全文
posted @ 2020-04-09 19:58 不二良 阅读(201) 评论(0) 推荐(0)
摘要:1.同模余定理 定义 所谓的同余,顾名思义,就是许多的数被一个数d去除,有相同的余数。d数学上的称谓为模。如a=6,b=1,d=5,则我们说a和b是模d同余的。因为他们都有相同的余数1。 应用 (a+b)%c=(a%c+b%c)%c;--1 (a-b)%c=(a%c-b%c)%c;--2 (a*b) 阅读全文
posted @ 2020-04-05 20:23 不二良 阅读(192) 评论(0) 推荐(0)
摘要:查找的问题一般可能会想到排序+二分查找,或者顺序查找,但是在机试中很容易出错,所以比较推荐用C++的map,虽然它实现的是哈希表的功能,但是它的实现确实红黑树,所以平均时间复杂度为nlogn 第一类查找问题即静态查找,有一组数据,在这数据中找某一个值,当然值不会简简单单的给个整数,他可能是个结构体。 阅读全文
posted @ 2020-04-02 13:50 不二良 阅读(179) 评论(0) 推荐(0)
摘要:一.使用sort来进行排序,它的时间复杂度是nlogn,所以能在1s内处理大概30w的数据 cmp(typename x,typename y)中是可以对x,y进行更改的,并不会影响到数组中的数,这也极大增加了cmp的适用性。 题型一.成绩排序(要求稳定) 输入任意(用户,成绩)序列,可以获得成绩从 阅读全文
posted @ 2020-03-30 20:59 不二良 阅读(240) 评论(0) 推荐(0)
摘要:字符串相关基础知识 默认在c++环境下,加入头文件#include <cstring>,如果要使用c的char str[]来表示字符串,输入一串字符串可以使用gets(),但不可以使用c++的getline 可以使用sort(str,str+strlen())来进行字符串排序。 也可以使用strin 阅读全文
posted @ 2020-03-29 13:22 不二良 阅读(189) 评论(0) 推荐(0)
摘要:1.求反序数 #include <iostream> using namespace std; int main() { int n; cin >> n; int ans = 0; while(n>0){ ans = ans*10+n%10; n/=10; } return 0; } 2.十进制转x 阅读全文
posted @ 2020-03-28 11:59 不二良 阅读(145) 评论(0) 推荐(0)
摘要:企业发放的奖金根据利润提成。利润低于或等于100000元的,奖金可提10%;利润高于100000元,低于200000元(100000<I≤200000)时,低于100000元的部分按10%提成,高于100000元的部分,可提成 7.5%;200000<I≤400000时,低于200000元部分仍按上 阅读全文
posted @ 2020-03-28 11:05 不二良 阅读(158) 评论(0) 推荐(0)
摘要:一输入输出注意问题 1.scanf遇到空格会结束,所以读入一行字符串时可以使用getline(cin,str)或者gets(str),gets会把回车读入 2.在scanf和gets之间加入getchar()来消除'\n' 3.进制转换: %x十六进制小写,%X十六进制大写 %o 八进制 4.%2d 阅读全文
posted @ 2020-03-28 10:18 不二良 阅读(119) 评论(0) 推荐(0)