
基础
「已注销」
这个作者很懒,什么都没留下…
展开
-
【模板】大数(更新中)
大数乘以正整数 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 · 160 阅读 · 0 评论 -
【算法学习笔记】并查集
挂个例题:落谷亲戚 并查集是最简洁而优雅的算法之一,主要用于解决一些元素分组的问题。管理一系列不相交的集合,支持两种操作: 合并 :把领个不相交的集合合并为一个集合 。 查询 :查询两个元素是否在同一个集合中。 并查集的重要思想在于,用集合中的一个元素代表集合。有个大佬给出过有趣比喻,把集合比喻成帮派,而代表元素则是帮主。 这样就能写出最基础的代码: 初始化: 假设每个人各为一派掌门。数组a用来春初父节点。 inline void init(int n) { for(int i = 0 ; i <原创 2020-08-04 09:15:46 · 225 阅读 · 0 评论 -
2020牛客多校第七场B Mask Allocation
比赛题目链接 题目介绍 Nowadays, the Kingdom of Dreamgrid is suffering from a national pandemic. Fortunately, president Baobao is working effectively with the Center for Disease Control (CDC) and they are trying their best to make everything under control. President原创 2020-08-01 20:07:58 · 284 阅读 · 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 · 200 阅读 · 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 · 531 阅读 · 0 评论