模板
「已注销」
这个作者很懒,什么都没留下…
展开
-
【模板】大数(更新中)
大数乘以正整数string Multiply(string s,int x) //大数乘以整形数{ reverse(s.begin(),s.end()); int cmp=0; for(int i=0;i<s.size();i++) { cmp=(s[i]-'0')*x+cmp; s[i]=(cmp%10+'0'); cmp/=10; } while(cmp) { s+=(cm原创 2020-08-09 15:29:26 · 145 阅读 · 0 评论 -
【学习笔记】广度优先搜索和深度优先搜索(BFS和DFS)
广度优选搜索(bfs)BFS大致思路:1.首先创建一个visit[ ]数组和一个队列q,分别用来判断该位置是否已经访问过及让未访问过的点入队;2.初始化visit[ ]数组,清空q队列;3.让起点start入队,并使该点的visit置1;4.while(!q.empty()){…}执行搜索操作,a.取出队头元素后使队头元素出队,判断该元素是否为目标到达点;b.如果是目标点,就返回结果(一般是最短时间、最短路径);c.如果不是目标点,就继续访问与其相邻的位置点,将可走的相邻的位置点原创 2020-08-06 09:54:24 · 237 阅读 · 0 评论 -
【模板】(实时更新)
最大公约数和最小公倍数inline ll gcd(ll a,ll b) {return b == 0? a:gcd(b, a % b);} //最大公因数inline ll lcm(ll a,ll b) return a*b/gcd(a,b); //最小公倍数用内联函数能够加快函数的运行速度。最大公约数只需要利用辗转相除法即可。两个数的乘积等于它们最小公倍数和最大公约数的乘积。普通快速幂这里提供一个我自己写的例题链接(例题来源于落谷)【模板】普通快速幂(quick_pow)ll Mod原创 2020-07-31 16:13:01 · 195 阅读 · 0 评论 -
【模板】普通快速幂(quick_pow)
简单的快速幂模板例题:P1226 【模板】快速幂||取余运算在这里,我选用的是函数的方式来做快速幂的模板,拿落谷的这道作为例题,有利于对快速幂的初步学习。快速幂顾名思义,就是快速算某个数的多少次幂。其时间复杂度为O(logN),与朴素的O(N)相比效率有了极大的提高。简单来说,就是个二分求模的过程。已经有DaLao讲过证明方法,故在此略。#include <bits/stdc++.h>using namespace std ;typedef long long ll;typede原创 2020-07-31 13:46:33 · 500 阅读 · 0 评论