三角形计数(递推)
题目名称:三角形计数 题目描述 n 等分边长为 n的三角形的每条边,将对应的等分点连接起来(连接线分别平行于三角形三条边),求共有多少个头朝上的三角形? #include <iostream> using namespac...
最长上升子序列:详细题解+动画演示(动态规划和二分查找)
原题链接 题目描述: 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。 说明: 可能会...
最长上升子序列——线性DP(C++)
AcWing 895. 最长上升子序列 给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一行包含整数N。 第二行包含N个整数,表示完整序列。 输出格式 输出一个整数,表示最大长度。 数据范围 1≤N≤...
放苹果(递归、动态规划、python)
描述 把m个同样的苹果放在n个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法? 注意:如果有7个苹果和3个盘子,(5,1,1)和(1,5,1)被视为是同一种分法。 数据范围:0 <= m <= 10 ,1 &l...
Python算法-动态规划算法应用
背包问题是动态规划算法的经典问题,本节将用背包问题介绍完整的动态规划算法如何解决问题。 1 问题描述 有n件物品,它们有各自的重量和价值,现有给定容量的背包,如何让背包里装入的物品具有最大的价值,如图4所示,装包条件是一种商品只能装一...
洛谷 p1177 题解 排序模板
排序模板题。 我写了插入排序,冒泡排序,选择排序,归并排序,快速排序,桶排序。 ** 具体算法看注释**。 #include<bits/stdc++.h> using namespace std; int a[200001...
快速排序与 sort 自定义排序 以洛谷p117[模板]排序为例
快速排序是 OI 中常用的算法。这篇题解/笔记将会详细地讲解快速排序的原理、实现过程,也会拓展 STL sort 函数的使用和快排复杂度及其证明。 快速排序的原理 快速排序如何用 C++ 实现? 我们以洛谷 P1177 【模板】排序为...
printf为什么不能输出二进制?
printf能不能输出二进制,毫无疑问,不能。 C语言中,可以用printf 输出八进制、十进制、十六进制,但就是二进制没有得到支持。 至于原因,有很多种说法,有说二进制太长,输出太占地方,也有说当初在实验室发明C语言的时候,用不到二...
C++ 输入输出(cin & cout)加速/效率优化
一、cin 和 cout 效率低下的原因 在做算法题的时候,最近遇到很奇怪的问题:命名算法的复杂度不是很高,粗略计算是能通过的,但总是显示超时,检查算法也没问题,当把输入输出换成 scanf 和 printf 后就莫名其妙地能...