• coding笔记:高精度加减乘除

    高精度算数主要思想 如何存储大数?使用数组(vector) 怎么存储?低位在前,高位在后 之所以这样是因为进位容易,不需要将数组整体向后移动一位 模拟人工算数流程 加法12345678910111213vector<int> hi...
  • C++基础

    c++基础变量和基本类型变量初始值 初始化不是赋值: 列表初始化 c++11新标准 默认初始化 分离式编译 将程序分割为若干文件,每个文件可独立编译。 如果要在多个文件里使用同一个变量,就必须将声明和定义分离。此时,变量的定义必须出现...
  • C++ 面向对象

    C++ 面向对象拷贝控制 类可以在创建此类型对象时做什么,类在控制该类型对象拷贝、赋值、移动或销毁时做什么。类通过一些特殊的成员函数进行这些拷贝控制操作:拷贝构造函数、移动构造函数、拷贝赋值运算符、移动赋值运算符以及析构函数。 难点是首先认识到什...
  • coding笔记:二分算法

    二分算法整数二分 整数二分因为涉及+1,-1,所以为了防止死循环,需要考虑边界情况。 当我们定义一个性质,该性质可以将数据二分时(即存在边界时),二分算法是可以将该边界找出来的。 主要思想 假设在整个区间内部是可以找到答案的,我们对整个区间不断进行...
  • coding笔记:AcWing 1299 五指山

    coding笔记:AcWing 1299 五指山Content大圣在佛祖的手掌中。 我们假设佛祖的手掌是一个圆圈,圆圈的长为 n,逆时针记为:0,1,2,…,n−1,而大圣每次飞的距离为 d。 现在大圣所在的位置记为 x,而大圣想去的地方在 y。 要...
  • coding笔记: acwing 1303 斐波那契前 n 项和

    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...
  • coding笔记: acwing 3305 作物杂交

    Acwing 3305 作物杂交Content作物杂交是作物栽培中重要的一步。 已知有 N 种作物 (编号 1 至 N),第 i 种作物从播种到成熟的时间为 Ti。 作物之间两两可以进行杂交,杂交时间取两种中时间较长的一方。 如作物 A 种植时间为 ...
  • coding笔记: acwing二刷

    acwing二刷基础算法 快速排序 AcWing 785. 快速排序给定你一个长度为 n的整数数列。 请你使用快速排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式输入共两行,第一行包含整数 n。 第二行包含n个整数(所有...
  • coding笔记:Acwing知识点总结

    Acwing 知识点总结 在这个总结里主要讲算法模板和思路,具体的题目代码见刷题.md 第一讲 基础算法排序快排主要思想 快排属于分治算法,分治算法都有三步: 分成子问题 递归处理子问题 子问题合并 寻找一个哨兵,将小于这个哨兵的元素放于其左边...
  • coding笔记: 动态规划

    动态规划基础理解动态规划的思考方式 从集合的角度理解DP问题 状态表示 f(i,j)(存的是所有选法的集合的最大值),考虑清楚需要几维来表示我们的问题 集合:每一个状态都是表明一个集合,在背包问题里表示所有选法的集合 条件: 只考虑前i个物品...