Acwing算法
僵尸PiKaPi
这个作者很懒,什么都没留下…
展开
-
设计模式——单例模式
单例模式:保证类的实例化对象仅有一个,并且提供一个访问他的全局访问点。应用场景:表示文件系统的类,一个操作系统一定是只有一个文件系统,因此文件系统的类的实例有且仅有一个。打印机打印程序的实例,一台计算机可以连接好几台打印机,但是计算机上的打印程序只有一个,就可以通过单例模式来避免两个打印作业同时输出到打印机。实现方式:单例模式可以通过全局或者静态变量的形式实现,这样比较简单,但是这样会影响封装性,难以保证别的代码不会对全局变量造成影响。默认的构造函数、拷贝构造函数、赋值构造函数声明为私有的原创 2021-09-03 12:43:11 · 195 阅读 · 0 评论 -
Acwing 838. 堆排序
Acwing838. 堆排序输入一个长度为 n 的整数数列,从小到大输出前 m 小的数。输入格式第一行包含整数 n 和 m。第二行包含 n 个整数,表示整数数列。输出格式共一行,包含 m 个整数,表示整数数列中前 m 小的数。数据范围1≤m≤n≤105,1≤数列中元素≤109示例:输入样例:5 34 5 1 3 2输出样例:1 2 3模板题:堆排序 //如何手写一个堆?完全二叉树 5个操作//1. 插入一个数 heap[ ++ size原创 2021-09-02 16:02:58 · 174 阅读 · 0 评论 -
AcWing 2. 01背包问题
AcWing 2. 01背包问题有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<v原创 2021-07-05 20:59:22 · 93 阅读 · 0 评论 -
Acwing 789. 数的范围【二分查找模板题】
Acwing 789. 数的范围【二分查找模板题】给定一个按照升序排列的长度为 n 的整数数组,以及 q 个查询。对于每个查询,返回一个元素 k 的起始位置和终止位置(位置从 0开始计数)。如果数组中不存在该元素,则返回 -1 -1。输入格式第一行包含整数 n 和 q,表示数组长度和询问个数。第二行包含 n 个整数(均在 1∼10000 范围内),表示完整数组。接下来 q行,每行包含一个整数 k,表示一个询问元素。输出格式共 q 行,每行包含两个整数,表示所求元素的起始位置和终止原创 2021-06-16 17:40:52 · 274 阅读 · 1 评论 -
Acwing 787. 归并排序
Acwing 787. 归并排序给定你一个长度为 n 的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000示例:输入样例:53 1 2 4 5输出样例:1 2 3 4 5模板题:归并排序 归并排序:主要思想是分治第一步:原创 2021-06-15 21:40:16 · 112 阅读 · 0 评论 -
Acwing 758. 快速排序
Acwing 758.快速排序给定你一个长度为 n 的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000示例:输入样例:53 1 2 4 5输出样例:1 2 3 4 5模板题:快速排序 快速排序:主要思想是分治第一步:原创 2021-06-15 17:34:49 · 203 阅读 · 0 评论