-
高精度算数主要思想
如何存储大数?使用数组(vector)
怎么存储?低位在前,高位在后
之所以这样是因为进位容易,不需要将数组整体向后移动一位
模拟人工算数流程
加法12345678910111213vector<int> hi...
-
c++基础变量和基本类型变量初始值
初始化不是赋值:
列表初始化
c++11新标准
默认初始化
分离式编译
将程序分割为若干文件,每个文件可独立编译。
如果要在多个文件里使用同一个变量,就必须将声明和定义分离。此时,变量的定义必须出现...
-
C++ 面向对象拷贝控制
类可以在创建此类型对象时做什么,类在控制该类型对象拷贝、赋值、移动或销毁时做什么。类通过一些特殊的成员函数进行这些拷贝控制操作:拷贝构造函数、移动构造函数、拷贝赋值运算符、移动赋值运算符以及析构函数。
难点是首先认识到什...
-
二分算法整数二分
整数二分因为涉及+1,-1,所以为了防止死循环,需要考虑边界情况。
当我们定义一个性质,该性质可以将数据二分时(即存在边界时),二分算法是可以将该边界找出来的。
主要思想
假设在整个区间内部是可以找到答案的,我们对整个区间不断进行...
-
coding笔记:AcWing 1299 五指山Content大圣在佛祖的手掌中。
我们假设佛祖的手掌是一个圆圈,圆圈的长为 n,逆时针记为:0,1,2,…,n−1,而大圣每次飞的距离为 d。
现在大圣所在的位置记为 x,而大圣想去的地方在 y。
要...
-
Acwing 1303 斐波那契前 n 项和Content大家都知道 Fibonacci 数列吧,f1=1,f2=1,f3=2,f4=3,…,fn=fn−1+fn−2。现在问题很简单,输入 n 和 m,求 fn的前 n 项和 Sn mod m。
In...
-
Acwing 3305 作物杂交Content作物杂交是作物栽培中重要的一步。
已知有 N 种作物 (编号 1 至 N),第 i 种作物从播种到成熟的时间为 Ti。
作物之间两两可以进行杂交,杂交时间取两种中时间较长的一方。
如作物 A 种植时间为 ...
-
acwing二刷基础算法
快速排序
AcWing 785. 快速排序给定你一个长度为 n的整数数列。
请你使用快速排序对这个数列按照从小到大进行排序。
并将排好序的数列按顺序输出。
输入格式输入共两行,第一行包含整数 n。
第二行包含n个整数(所有...
-
Acwing 知识点总结
在这个总结里主要讲算法模板和思路,具体的题目代码见刷题.md
第一讲 基础算法排序快排主要思想
快排属于分治算法,分治算法都有三步:
分成子问题
递归处理子问题
子问题合并
寻找一个哨兵,将小于这个哨兵的元素放于其左边...
-
动态规划基础理解动态规划的思考方式
从集合的角度理解DP问题
状态表示 f(i,j)(存的是所有选法的集合的最大值),考虑清楚需要几维来表示我们的问题
集合:每一个状态都是表明一个集合,在背包问题里表示所有选法的集合
条件:
只考虑前i个物品...