算法笔记
Marlborohi
这个作者很懒,什么都没留下…
展开
-
整数二分如何避免边界问题 —— AcWing789.数的范围
二分原理整数的二分问题中最关键的是mid值的选取问题,有两种选取方式:1) right + left >> 1;2) right + left + 1 >> 1;那么这两种二分方式有什么区别呢? 以二分一个数组中的元素为例:1) 数组中的元素是奇数个:无分别,都是选取中间元素2) 数组中的元素是偶数个,前者的mid选取前半部分最后一个元素,后者选取后半部分第一个元素。若是ture在右半边范围内,则用L+R >> 1若是true在左半边范围内,则用L+R原创 2020-11-30 19:52:39 · 287 阅读 · 0 评论 -
归并排序--AcWing787,788
算法思想找分割点:找将数组分为左右两个区间的标记元素,一般取数组中间的元素。递归:对左右两各区间的数组元素分别进行归并排序,使之有序。将排好序的左右两个数组进行归并 使用temp数组来存储排好序的元素将temp数组中的元素写回到原数组中算法题目给定你一个长度为n的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1~10^9范围内),表示整个数列。输出格式输出共一行,原创 2020-11-18 20:33:29 · 230 阅读 · 0 评论 -
动态规划基础题目——AcWing 2 01背包问题
算法思想动态规划:算法题目有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,wi≤1000原创 2020-11-18 11:31:45 · 166 阅读 · 0 评论 -
快速排序及acwing快排模板
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2020-11-18 10:40:49 · 358 阅读 · 0 评论