
算法与数据结构
文章平均质量分 78
开始系统的学习算法与数据结构
普通网友
这个作者很懒,什么都没留下…
展开
-
贪心Day6
目录区间问题Huffman树排序不等式绝对值不等式推公式给定 NN 个闭区间 [ai,bi][ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。输出选择的点的最小数量。位于区间端点上的点也算作区间内。输入格式第一行包含整数 NN,表示区间数。接下来 NN 行,每行包含两个整数 ai,biai,bi,表示一个区间的两个端点。输出格式输出一个整数,表示所需的点的最小数量。数据范围1≤N≤1051≤N≤105,−109≤ai≤bi≤109−109≤ai≤bi≤109输入样例:输原创 2022-07-08 19:55:28 · 182 阅读 · 4 评论 -
动态规划模板题Day5
目录背包问题线性DP区间DP计数类DP数位统计DP状态压缩DP树形DP记忆化搜索有 NN 件物品和一个容量是 VV 的背包。每件物品只能使用一次。第 ii 件物品的体积是 vivi,价值是 wiwi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,VN,V,用空格隔开,分别表示物品数量和背包容积。接下来有 NN 行,每行两个整数 vi,wivi,wi,用空格隔开,分别表示第 ii 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数原创 2022-07-08 18:01:16 · 456 阅读 · 0 评论 -
数论Day4
目录质数约数欧拉函数快速幂扩展欧几里得算法中国剩余定理高斯消元求组合数容斥原理博弈论给定一个正整数 nn,请你求出 1∼n1∼n 中质数的个数。输入格式共一行,包含整数 nn。输出格式共一行,包含一个整数,表示 1∼n1∼n 中质数的个数。数据范围1≤n≤1061≤n≤106输入样例:输出样例:给定 nn 个正整数 aiai,对于每个整数 aiai,请你按照从小到大的顺序输出它的所有约数。输入格式第一行包含整数 nn。接下来 nn 行,每行包含一个整数 aiai。输出格式输出共 nn 行,原创 2022-07-08 17:04:55 · 792 阅读 · 0 评论 -
搜索与图论模板题(必备)Day3
给定一个整数 nn,将数字 1∼n1∼n 排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式共一行,包含一个整数 nn。输出格式按字典序输出所有排列方案,每个方案占一行。数据范围1≤n≤71≤n≤7输入样例:输出样例:n−n−皇后问题是指将 nn 个皇后放在 n×nn×n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。现在给定整数 nn,请你输出所有的满足条件的棋子摆法。输入格式共一行,包含整数 nn。输出格式原创 2022-07-07 12:04:59 · 418 阅读 · 0 评论 -
数据结构模板题(必备)Day2
实现一个单链表,链表初始为空,支持三种操作:现在要对该链表进行 MM 次操作,进行完所有操作后,从头到尾输出整个链表。注意:题目中第 kk 个插入的数并不是指当前链表的第 kk 个数。例如操作过程中一共插入了 nn 个数,则按照插入的时间顺序,这 nn 个数依次为:第 11 个插入的数,第 22 个插入的数,…第 nn 个插入的数。输入格式第一行包含整数 MM,表示操作次数。接下来 MM 行,每行包含一个操作命令,操作命令可能为以下几种:输出格式共一行,将整个链表从头到尾输出。数据范围1≤M≤1000001原创 2022-07-07 10:16:47 · 449 阅读 · 0 评论 -
基础算法模板题(必备)Day1
目录十大排序 快速排序归并排序二分高精度前缀和和差分双指针算法位运算离散化区间合并真的太卷了,我到现在模板都还不会呢给定你一个长度为 nn 的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 nn。第二行包含 nn 个整数(所有整数均在 1∼1091∼109 范围内),表示整个数列。输出格式输出共一行,包含 nn 个整数,表示排好序的数列。数据范围1≤n≤1000001≤n≤100000输入样例:输出样例: 第k个原创 2022-07-06 12:04:59 · 391 阅读 · 0 评论 -
stl初识vector容器
#include<bits/stdc++.h>#include<vector>#include<algorithm>using namespace std;void MyPrintf(int val){ cout<<val<<endl;}void test01(){ //创建vector容器对象,并且通过模板参数指定容器中存放的数据类型 vector<int>v; //向容器中放数据 v.push_back.原创 2022-03-06 15:17:13 · 133 阅读 · 2 评论 -
STL容器从入门到精通的底层详解
初始化vector#include<bits/stdc++.h>using namespace std;int n;int main(){ cin>>n; vector<int>vec(n+1); for(int i=1;i<=n;i++) cout<<vec[i]<<' '; return 0;} #include<bits/stdc++.h>using namespace std;in原创 2022-04-04 21:43:19 · 790 阅读 · 3 评论 -
算法合集3.13
bfs#include<bits/stdc++.h>using namespace std;int a[100][100],v[100][100];struct point{ int x; int y; int step;};queue<point>r;int dx[4]={0,0,-1,1};int dy[4]={1,-1,0,0};int main(){ int n,m,startx,starty,p,q; scanf("%d%d",&n,原创 2022-03-13 21:40:00 · 309 阅读 · 0 评论 -
深度优先搜索(DFS)和广度优先搜索(BFS)
深度优先搜索深度优先搜索即遍历枚举每一种情况,可以用栈进行储存或者递归,这边暂时只会递归;#include<bits/stdc++.h>using namespace std;const int N=1e2+10;int mp[N][N],vis[N][N];bool fg=false;int dx[4]={0,0,-1,1}; int dy[4]={-1,1,0,0}; int n; int sx,sy,ex,ey;// bool check(int nx.原创 2022-03-13 18:43:50 · 701 阅读 · 7 评论