- 博客(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 94
原创 [UVA100] The 3n + 1 problem.题解
这道橙题也太水了吧!直接模拟输出流程就可以了! 老规矩,先看题目。 这题让我们寻找输入的每对(i,j)中[i,j]内所有数字区间长度的max值。我们可以用模拟递推对[i,j]内所有的数进行相同的操作。 操作流程如下: 想必看了流程图,思路就更清晰了。但别忘了,我们求的是数n的周期长度即操作次数,所以我们在编写period函数时要加上计数器count。 以下就是period函数的代码了:
2020-07-26 13:17:50 255
原创 [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 271
原创 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 155
原创 并查集【模板】
代码 (注释版) #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 120
原创 [P3367]【模板】并查集.题解
这橙题无非只是模板题,套并查集模板AC! 并查集的算法思想十分值得大家学习! 老规矩,先看题目。 题目告诉我们要对N个元素进行M次操作,对其中的一些进行合并操作,并输出两个集合的合并情况。这里我们首先会想到用并查集!没错,但萌新们不用怕,我接下来讲解一下并查集的思路,你们就明白了! 思路 并查集:树形数据结构 听起来比较简单,实现起来也很简单。我们分3步学会模板! 首先我们先要学会构建find函数(查找一个结点的根结点) 拿这题举例,我们通过一个数组f[10010]
2020-07-20 22:48:21 164
原创 [P1000] 超级玛丽游戏.题解
这无非是个水题,用于试机! 其中也有值得大家学习编程语法技巧! 老规矩,先看题目。 显然题目不难理解,要求我们打出题目所给的超级玛丽图案。直接输出图案就可以,空格、对齐不用我再强调了,别忘了语句末的分号。 代码 (注释版) #include<stdio.h>//C语言头文件 int main(){//好习惯,直接从主函数读起 printf(" ********\n" " ************\n" "
2020-07-20 21:47:59 285
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人