学习笔记
QwQ
+0呐~
这个作者很懒,什么都没留下…
展开
-
POJ-3061【尺取算法】
目录题意解题思路代码参考思路:传送门题意链接:POJ-3061给长度为n的数组和一个整数m,求总和不小于m的连续子序列的最小长度解题思路过程大致分为四步:初始化左右端点,即先找到一个满足条件的序列。在满足条件的基础上不断扩大右端点。如果第二步无法满足条件则终止,否则更新结果。扩大左端点,并且回到第二步。举个例子:n = 10,m = 155 1 3 5 10 7 4 9 2 8则ans=2代码#include<stdio.h>#include&l原创 2020-07-29 16:45:57 · 708 阅读 · 0 评论 -
最长上升子序列 (LIS) 模板【DP 、二分+贪心】
目录什么是最长上升子序列1281:最长上升子序列DP解法代码二分+贪心 解法代码使用二分查找函数代码什么是最长上升子序列最长上升子序列(Longest Increasing Subsequence),简称LIS,也有些情况求的是最长非降序子序列,二者区别就是序列中是否可以有相等的数。一个数的序列bi,当b1<b2<…<bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1,a2,…,aN),我们可以得到一些上升的子序列(ai1,ai2,…,aiK),这里1≤i1<i2&原创 2020-07-26 18:21:09 · 203 阅读 · 0 评论 -
线性筛
目录参考视频素数筛[P3383 【模板】线性筛素数](https://www.luogu.com.cn/problem/P3383)朴素筛埃氏筛-Eratosthenes 筛法 (埃拉托斯特尼筛法)Euler 筛法 (欧拉筛法)线性筛求欧拉函数预备知识代码线性筛求莫比乌斯函数参考视频NWUACM集训队算法教学-线性筛线性筛线性筛是用来求特定函数f(x)的一种方法素数筛P3383 【模板】线性筛素数问题:求小于等于 n 有多少个素数分别是什么朴素筛暴力枚举int is_prim原创 2020-07-21 23:10:39 · 127 阅读 · 0 评论 -
网络流——最小费用最大流MCMF【EK+SFPA Dinic+SPFA 模板】
什么是最小费用最大流一个网络,每个边除了流量,还有一个单位费用,这条边的费用相当于它的单位费用乘上它的流量,我们要保持最大流的同时,还要保持边权最小,这就是最小费用最大流问题。在一个网络流图中,最大流量只有一个,但是获得最大流的方案可能有很多种,每种不同的方案所经过的边不同因此费用也就不同,所以需要用到最短路算法。总增广的费用=最短路费用*总流量求MCMF中的SFPA算法就是把EK中的bfs改成spfa,这样在求最大流的过程中最小费用流也求出来了。P3381 【模板】最小费用最大流#incl原创 2020-07-19 15:46:29 · 547 阅读 · 0 评论 -
网络流之最大流(入门)【FF+EK+Dinic+ISAP】
目录参考视频链接基础知识FF算法EK算法Dinic算法ISAP算法参考视频链接网上关于网络流讲解的视频很少,大多数质量也不是很高,感觉我推荐的这个up主讲解的是最好的(除了音量比较小一点),文章中有一些讲的比较不清楚的地方视频中都讲解得很清楚【网络流模型】基础知识篇【网络流模型】FF算法【网络流模型】EK算法【网络流模型】Dinic算法【网络流模型】ISAP算法基础知识网络:具有一个出度为0的点s和一个入度为0的点t的有向图,每一条边上有权值源点:出度为0的点s汇点:入度为0的点原创 2020-07-19 10:17:57 · 286 阅读 · 0 评论 -
单调优先队列【模板、入门】
目录视频链接单调优先队列模板题[P1886 滑动窗口](https://www.luogu.com.cn/problem/P1886)题意解题思路代码视频链接单调优先队列队列始终满足从队首开始,优先级递减,进队时间越靠后越晚。新元素进队时,将前面优先级低于自己的直接踢出队。模板题P1886 滑动窗口题意有一个长为 n 的序列 a,以及一个大小为 k 的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。3. 范围:1≤k≤n≤1064. 输入原创 2020-07-13 23:31:43 · 182 阅读 · 0 评论 -
二分查找函数用法
二分查找函数lower_bound(起始地址,结束地址,要查找的数值)返回第一个大于等于所要查找的元素的地址适合求一个数组里比该数小的个数upper_bound(起始地址,结束地址,要查找的数值)返回第一个大于所要查找的元素的地址适合求一个数组里比该个数大的个数代码#include<stdio.h>#include<algorithm>using namespace std; int main(){ int n,x,a[100]; scanf("%d原创 2020-07-13 17:36:42 · 464 阅读 · 0 评论 -
后缀数组(入门) Suffix array【基数排序+倍增】
目录参考的相关链接模板题 [P3809 【模板】后缀排序](https://www.luogu.com.cn/problem/P3809)代码参考的相关链接后缀数组的构建思想视频:Suffix array简介和构建基数排序的思想及代码解释视频:排序算法详解(七)基数排序倍增思想后缀数组:这个和这个模板题 P3809 【模板】后缀排序代码#include<stdio.h>#include<string.h>#include<algorithm>us原创 2020-07-15 20:22:31 · 491 阅读 · 1 评论