自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 周练3,题解

非男非女思路 :输入处理时先把女生标记为-1,那么女生和男生配对和就是0 ,那么利用前缀和就好找到一个连续的和为0 的长区间了#include<iostream>using namespace std;const int N = 100010;int n;int s[N];int main() { int max = 0; cin >> n; for (int i = 1; i <= n; i++) { sc

2021-04-11 12:55:01 217

原创 最小生成树

两种方式Prim (稠密图)Kruskal(疏密图)Prim (稠密图)S:当前已经在联通块中的所有点的集合1. dist[i] = INF2. for n 次 t<-S外离S最近的点 利用t更新S外点到S的距离 st[t] = truen次迭代之后所有点都已加入到S中Dijkstra算法是更新到起始点的距离,Prim是更新到集合S的距离所以Dijkstra算法迭代n-1次, Prim迭代n次;#include <iostream>#includ

2021-02-25 17:51:05 1132 2

原创 最短路问题(初步实现)

最短路的思维图朴素Dijkstra O(n^2)dijkstra堆优化版 O(mlogn)Floyd求最短路一个一个来;朴素Dijkstra O(n^2)主要用在稠密图(用邻接矩阵来存)思路:1.先初始化距离 dist[1] =0 ;dist[i] = 0x3f3f3f3f;定义一个集合S 来存已经确定最短距离的点;2.for(int i=1;i<=n;i++) t 是不在S中,距离最短的点; 把t存入S 再用t来更新其他点的距离;例题链接:https://www.ac

2021-02-25 15:08:17 235

原创 哈希表两种基础方法

下面展示一些 内联代码片。//开放寻址法#include<iostream>#include<cstring>using namespace std;const int N =200003;//多开2~3倍int h[N],null = 0x3f3f3f3f;int find(int x){ int k = (x%N + N )% N; while(h[k] != null && h[k] != x){

2021-02-24 17:49:27 144

原创 找比大于等于i 的第一个质数

下面展示一些 内联代码片。// A code blockvar foo = 'bar';int main(){ for(int i =100000;;i++){ bool flag = true; for(int j =2;j*j <=i ;j++){ if(i%j== 0){ flag = false ; break; }

2021-02-24 17:22:32 274

原创 并查集基础版

基础版。条件:给定一个包含n个点(编号为1~n)的无向图,初始时图中没有边。现在要进行m个操作,操作共有三种:“C a b”,在点a和点b之间连一条边,a和b可能相等;“Q1 a b”,询问点a和点b是否在同一个连通块中,a和b可能相等;“Q2 a”,询问点a所在连通块中点的数量;输入格式第一行输入整数n和m。接下来m行,每行包含一个操作指令,指令为“C a b”,“Q1 a b”或“Q2 a”中的一种。输出格式对于每个询问指令”Q1 a b”,如果a和b在同一个连通块中,则输

2021-02-23 20:03:38 104

原创 并查集(牛客网2021寒假3 糖果)

下面展示一些 内联代码片。哎会超时#include<iostream>#include<cstring> using namespace std; const int MAX = 1000000+5; int max(int a,int b){ return a>b ? a : b;} int father[MAX]; int people[MAX]; int rankw[MAX]; int a[MAX];int res[MAX

2021-02-05 19:27:02 100

原创 2021牛客网寒假训练1(题解)(更新中)(接下来的题目完全是知识盲区了,等2天,明天还有第二场)

下面展示一些 题解`。括号#include<bits/stdc++.h>using namespace std;int main(){ cin.tie(0); ios::sync_with_stdio(0); int k,i; cin>>k; if (k == 0) {//非空 cout << ")(" << endl; } else {//

2021-02-02 22:16:26 116

原创 KMP字符串

下面展示一些 内联代码片。#include<iostream>using namespace std;const int N =100100,M=1000010;int n,m;char p[N],s[M];int ne[M];//if(ne[M]==j) 表示以M为终点前j个位子长的和1~j-1一样int main(){ cin.tie(0); ios::sync_with_stdio(0); cin&g

2021-02-02 17:50:40 83

原创 154.滑动窗口(单调队列)

下面展示一些 内联代码片。题目见acwing154#include<iostream>//单调队列using namespace std;const int N =1e+6 +10;int n,k;int a[N],q[N];int main(){ cin.tie(0); ios::sync_with_stdio(0); cin>>n>>k; for(int i=0;i&lt

2021-02-02 15:10:03 79

原创 830.单调栈

下面展示一些 内联代码片。注意理解用双指针理解栈;再想优化;#include<iostream>using namespace std;const int N =100010;int stk[N],tt;int main(){ cin.tie(0);//cin省时间 ios::sync_with_stdio(0);//闪屏省时间 int n; cin>>n; for(int i=

2021-02-02 12:03:13 76

原创 6378.删除数组中的元素(用数组模拟链表 链表)

这题如果用数组模拟链表,一定要用双链表!!!先看看用单链表会出现什么问题下面展示一些 内联代码片。单链表的删除//删除第k点的下一个点void remove(int k){ ne[k] =ne [ne[k]];}比如链表是:2->1->3->3->5->70 1 2 3 4 5(节点)如果删除元素3先remove(1);此时会出现 1号节点指向3号节点,2号节点指向3号节点下一步 remove(2)此时会出现 2号节点指

2021-01-30 19:00:00 625

原创 用数组来模拟单链表和双链表(有注释)

单链表下面展示一些 内联代码片。来自acwing,826号题#include<iostream>using namespace std;const int N =100010;// head 表示头结点的下标// e[i] 表示节点i的值// ne[i] 表示节点i的next指针是多少// idx 存储当前已经用到了哪个点int head ,e[N] ,ne[N] ,idx;//初始化void inti(){ head =-1; idx=0

2021-01-29 18:08:01 109

原创 反转单词 ,单词只有一个空格

下面展示一些 内联代码片。// A code blockvar foo = 'bar';#include<iostream>#include<algorithm>#include<cstring>using namespace std;string m;int main(){ string a[300],b; int i=0; while(cin>>b) { int q=b.size();

2021-01-27 15:44:58 96

原创 字符串的最大跨距

字符串的最大跨距 这题教了我对字符串的输入,以及指针的应用,部分是看过他人的题解后想出来的,上代码。下面展示一些 内联代码片。有三个字符串S,S1,S2,其中,S长度不超过300,S1和S2的长度不超过10。想检测S1和S2是否同时在S中出现,且S1位于S2的左边,并在S中互不交叉(即,S1的右边界点在S2的左边界点的左侧)。计算满足上述条件的最大跨距(即,最大间隔距离:最右边的S2的起始点与最左边的S1的终止点之间的字符数目)。如果没有满足条件的S1,S2存在,则输出-1。 例如,S = "a

2021-01-27 15:18:37 429

原创 022:角谷猜想(不超时)

下面展示一些 内联代码片。// A code blockvar foo = 'bar';下面展示一些 内联代码片。// A code blockvar foo = 'bar';// An highlighted blockvar foo = 'bar';```#include<iostream>#include<bits/stdc++.h>using namespace std;int main(){unsigned long int n,t;cin

2020-12-24 19:56:15 398 1

原创 求一元二次方程的根(含虚部)

`在这里插入代码**#include <stdio.h>#include <math.h>#includeusing namespace std;int main(){double a, b, c, x1, x2, t=0,delta;scanf("%lf %lf %lf", &a, &b, &c);delta = bb-4ac;if(delta >= 0){x1 = (-b + sqrt(delta)) / (2a);x2 =

2020-12-24 19:20:22 1228 1

空空如也

空空如也

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

TA关注的人

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