学习笔记-1-递归&分治
递归 概念 递归,在数学和计算机科学中是指在函数的定义中使用函数自身的方法,在计算机科学中还额外指一种通过重复将问题分解为同类的子问题而解决问题的方法。 本质 递归的实质就是直接或间接调用自身函数,将原问题转化为性质相同规模不同的子问题。 递归代码最重要的两个特征:结束条件和自我调用。自我调用是在解决子问题,而结束条件定义了最简子问题的答案。 主要格式 int func(传入数值) { if ...
CF1833B Restore the Weather 题解
题意简述 给定两个长度为 n 的数组 a,b。 重排数组 b,使得 |a_i-b_i| 的值尽可能小且 |a_i - b_i|\le k。 保证有解。 分析 因为这道题是保证有解的,所以在 |a_i - b_i| 的值最小的情况下,|a_i - b_i|\le k 这个条件是不必要的。可得本题做法为怎样重排 b 数组,保证 |a_i - b_i| 的值尽可能小。显然,通过简要...