- 博客(8)
- 收藏
- 关注
原创 高精度【模板】
最近刚学了高精算法,来发个模板吧!高精加(HAA)【模板】#include<bits/stdc++.h>using namespace std;string x,y;int a[100010],b[100010],c[100010],xa,xb,xc;/*数组大小根据题目数据范围大小确定 此模板只适用于0≤x,y≤10^(10^5)的情况*/int main(){ cin>>x>>y; xa=x.length(),xb=y.length(); xc=max(xa,x
2021-04-05 12:30:08
131
原创 [UVA100] The 3n + 1 problem.题解
这道橙题也太水了吧!直接模拟输出流程就可以了!老规矩,先看题目。这题让我们寻找输入的每对(i,j)中[i,j]内所有数字区间长度的max值。我们可以用模拟递推对[i,j]内所有的数进行相同的操作。操作流程如下:想必看了流程图,思路就更清晰了。但别忘了,我们求的是数n的周期长度即操作次数,所以我们在编写period函数时要加上计数器count。以下就是period函数的代码了:
2020-07-26 13:17:50
348
原创 [SP1] TEST - Life, the Universe, and Everything.题解
这个红SP题过水,入门coders可自行食用!老规矩,先看题目。显然题目不难理解,就是让我们在看到42之前,输出所有输入的数字。这题我们讲解两种做法:一个是递归,一个是while的不断输入用法!代码一、递归法(注释版)#include<bits/stdc++.h>//万能头文件using namespace std;int main(){//好习惯,程序从主函数读起 int a; cin>>a; if(a!=42
2020-07-25 16:41:34
322
原创 LCA【模板】
#include<bits/stdc++.h>using namespace std;int tot,n,m,s,ver[2*5000010],head[2*500010],nxt[2*500010],f[500010][30],d[500010];void add(int x,int y){ ver[++tot]=y; nxt[tot]=head[x]; head[x]=tot;}void dfs(int u,int fa){ d[u]=d[fa]+1
2020-07-25 10:39:26
197
原创 并查集【模板】
代码(注释版)#include<bits/stdc++.h>using namespace std;int n,m,f[10010],a,b,c;//数组f[i]记录i的根结点int find(int x){ if(f[x]==x) return x;//如果结点本身就是根结点,直接返回自己 else return f[x]=find(f[x]);//否则通过路径压缩递归返回根结点}void join(int x,int y){ f[find(x)]=find(y);//通过
2020-07-21 07:08:26
167
原创 [P3367]【模板】并查集.题解
这橙题无非只是模板题,套并查集模板AC! 并查集的算法思想十分值得大家学习!老规矩,先看题目。题目告诉我们要对N个元素进行M次操作,对其中的一些进行合并操作,并输出两个集合的合并情况。这里我们首先会想到用并查集!没错,但萌新们不用怕,我接下来讲解一下并查集的思路,你们就明白了!思路并查集:树形数据结构听起来比较简单,实现起来也很简单。我们分3步学会模板!首先我们先要学会构建find函数(查找一个结点的根结点)拿这题举例,我们通过一个数组f[10010]
2020-07-20 22:48:21
199
原创 [P1000] 超级玛丽游戏.题解
这无非是个水题,用于试机! 其中也有值得大家学习编程语法技巧!老规矩,先看题目。显然题目不难理解,要求我们打出题目所给的超级玛丽图案。直接输出图案就可以,空格、对齐不用我再强调了,别忘了语句末的分号。代码(注释版)#include<stdio.h>//C语言头文件int main(){//好习惯,直接从主函数读起 printf(" ********\n" " ************\n" "
2020-07-20 21:47:59
345
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人