摘要:归并排序模板 mergeSort是归并排序,merge负责将两组数组合并 需要注意的是,在新的数组往a里面赋值的过程中,不一定是从0开始赋值的嗷。因为在归并中两个数组占位连续的,真实的起始位置是l1(因为中途变了,要有一个变量标记) while里面别忘了l1,l2++ #include<stdio.
阅读全文
|
01 2020 档案
摘要:归并排序模板 mergeSort是归并排序,merge负责将两组数组合并 需要注意的是,在新的数组往a里面赋值的过程中,不一定是从0开始赋值的嗷。因为在归并中两个数组占位连续的,真实的起始位置是l1(因为中途变了,要有一个变量标记) while里面别忘了l1,l2++ #include<stdio.
阅读全文
摘要:快速幂(所有可能溢出的地方都要mod) 递归写法 几点注意事项:1、temp在里面要先算出来一半再temp*temp,不然两次进循环复杂度增加 2、%m不要忘了写 #include<stdio.h> #include<iostream> #include<string.h> using namesp
阅读全文
摘要:二分法 binarySearch找的是出现在a数组中的,数值等于num的数的下标。(有多个的时候是随机的输出了一个) lowerbound找的是在a数组中出现的第一个,数值大于等于num的数的下标 upperbound找的是a数组中出现的第一个,数值大于num的数的下标 找具体的某个数,是使用mid
阅读全文
摘要:PAT B1023 组个最小数 非常简单的贪心,注意输入数据范围,保证了有非零数字,但是同时最多可以有50个数,longlong也会爆,一定要直接输出 其实ans数组可以不用,输出就行 #include<stdio.h> #include<iostream> #include<string.h> u
阅读全文
摘要:PAT B1020 月饼 题目是典型贪心,注意题目描述正数,可能是double,不要想当然或者只看样例 另外注意 double的读取是%lf,输出是%f,如果两位小数%.2f %lld是对longlong的(longlong的输入输出是%lld或者%l64d,输入输出同) #include<stdi
阅读全文
摘要:全排列 题目本身没有难度 注意在函数循环里面,是走1-n,不是1-x。可执行的范围是1-n #include<stdio.h> #include<iostream> #include<string.h> using namespace std; int countnum=0; int ans[100
阅读全文
摘要:递归回溯八皇后复习 注意反向斜线不能使用abs,1和-1对应的是不一样的线 具体操作 找边界,在边界停止回溯 在判断可以走这一步后完成这一步标记,并进入下一循环 下一循环结束以后(即函数表达式后面),把前面标记的东西改回来 #include<stdio.h> #include<iostream> #
阅读全文
摘要:PAT A1025 PAT Ranking 给定一组id和对应的得分及考场,给他们排序,要本场排名和最终排名,并按照要求格式输出结果 题目链接 https://pintia.cn/problem-sets/994805342720868352/problems/994805474338127872
阅读全文
摘要:Num 11 盛最多水的容器 如果要比上一个状态大,一定要宽度更大或者高度更高满足至少一个 从两个边界向里面走,从宽度最大开始 那么如果要更新出更大的面积,一定是有更高的高度,因此每次要动小边向里,找更高的高度(因为min(height[left],height[right])动大边是没用的) 可以
阅读全文
摘要:期末考试结束了 Num 8 字符串转整数(atoi) 题目本身没有难点:几个容易理解错的点 --32是不合法的(正负号只能有一个) +32合法(可以添加+) word123是不合法的(只要第一个非空不是数字或者正负号就不行) 我犯错的样例:2147483648 刚开始看到一个思路是用 ans和INT
阅读全文
|