自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 区间合并——贪心

803. 区间合并 - AcWing题库#include<iostream>#include<algorithm>using namespace std;const int N=100010;struct node{ int l,r; bool operator < (const node &w)const { return l<w.l; }}q[N];int main(){ int n

2022-03-12 21:09:37 75

原创 区间合并——贪心

#include<iostream>#include<algorithm>using namespace std;const int N=100010;struct node{ int l,r; bool operator < (const node &w)const { return l<w.l; }}q[N];int main(){ int n; scanf("%d",&...

2022-03-12 21:06:56 64

原创 区间和——离散化

AcWing 802. 区间和 - AcWing#include <iostream>#include <vector>#include <algorithm>using namespace std;typedef pair<int, int> PII;const int N = 300010;int n, m;int a[N], s[N];vector<int> alls;vector<PII.

2022-03-12 21:05:19 186

原创 数的范围——二分

789. 数的范围 - AcWing题库#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 100010;int a[N];int n,m;int main(){ cin>>n>>m; for(int i=0;i<n;i++) cin>>a[..

2022-03-12 21:03:38 163

原创 高精度加法

791. 高精度加法 - AcWing题库#include <iostream>#include <cstring>#include <algorithm>#include <vector>using namespace std;vector <int>c;vector<int>a,b;void f(vector<int>&a,vector<int>&b){ i..

2022-03-09 21:51:57 58

原创 bellman-ford求最短路算法

853. 有边数限制的最短路 - AcWing题库#include<iostream>#include<cstring>using namespace std;const int N=510,M=10010;int dist[N],p[N];int n,m,k;struct Node{ int a,b,w;}node[M];void bellman_ford(){ memset(dist,0x3f,sizeof dist); dist[

2022-03-09 21:49:45 106

原创 树与图的广度优先遍历—图中点的层次

847. 图中点的层次 - AcWing题库#include<iostream>#include<cstring>#include<queue>using namespace std;const int N=100010;int h[N], e[N], ne[N], idx;int d[N],m,n;void add(int a,int b){ e[idx]=b,ne[idx]=h[a],h[a]=idx++;}int bfs()...

2022-03-08 21:52:47 545

原创 有向图的拓扑排列

848. 有向图的拓扑序列 - AcWing题库#include<iostream>#include<cstring>using namespace std;const int N=100010;int h[N],idx,e[N],ne[N],d[N],m,n,q[N];void add(int a,int b){ e[idx]=b,ne[idx]=h[a],h[a]=idx++;}bool tpsort(){ int hh=0,tt=-1

2022-03-08 21:49:39 92

原创 Dijkstra求最短路 I

849. Dijkstra求最短路 I - AcWing题库#include<iostream>#include<cstring>using namespace std;const int N=510;int dist[N],g[N][N];bool st[N];int n,m;int dijkstra(){ memset(dist,0x3f,sizeof dist); dist[1]=0; for(int i=0;i<n;i+

2022-03-08 21:43:20 43

原创 最大乘积——贪心高精度

P1249 最大乘积 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)非常容易理解的0101背包做法。互不相同这个条件可以改为从1,2,……,n这n个数中选出一些数,使得它们的和为。但是,0101背包只能处理从aa个物品中选出总共bb空间的物品,使得它们的价值和最大,可是我们要求乘积呀?在数学里,对数有一个很好的性质:\ln a+\ln b=\ln(a\times b)lna+lnb=ln(a×b)假如我们要选出一些数使得它们的乘积最大,就等价于这些数的对数之和最大。

2022-03-07 23:56:20 175

原创 堆排序__

838. 堆排序 - AcWing题库#include<iostream>#include<algorithm>using namespace std;const int N = 100010;int h[N], mySize;int n, m;void down(int u){ int t = u; if (2 * u <= mySize && h[t] > h[2 * u]) t = ...

2022-03-06 12:39:34 604

原创 连通块中点的数量——并查集

837. 连通块中点的数量 - AcWing题库并查集模板#include<iostream>using namespace std;const int N=100010;int cnt[N],p[N];int find (int x){ if(x!=p[x])p[x]=find(p[x]); return p[x];}int main(){ int n,m; cin>>n>>m; for(int i=1;i&...

2022-03-06 12:37:17 125

原创 合并集合—并查集

题目描述如何理解find函数中的寻找根结点和路径压缩?解答原模板:int find (int x){ if(x != p[x]) p[x] = find(p[x]); return p[x];}可以把y总的模板拆分一下,会方便理解些int find (int x){ if(x != p[x]) { int t = find(p[x]); //寻找根结点,找到后回溯 p[x] = t; //路径压缩 } r...

2022-03-06 12:34:21 128

原创 数学知识-容斥原理

题目链接:890. 能被整除的数 - AcWing题库解题思路1-n中能整除p的个数为n/p;二进制的巧妙转化。如题目的样例2,3。则答案为10/2+10/3-10/(2*3)=7;#include<iostream>using namespace std;typedef long long ll;int p[20];int main(){ int n,m; cin>>n>>m; for(int i=0;i<m;i+

2022-03-02 23:19:13 135

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除