
算法
阳光彩虹小白马DM48
技术小白,请多指教!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
快速幂
朴素的求幂算法 int Pow(int a,int b){ int ans = 1 ; for(int i=0;i<b;i++){ ans *= a ; } return ans ; } 算法时间复杂度O(n) 快速幂 int Pow(int a,int b){ int ans = 1 ; int base = a ; while(b){ if(b & 1)...原创 2020-03-30 15:35:18 · 130 阅读 · 0 评论 -
爬楼梯问题
课堂作业-9-1 时间限制 1000 ms 内存限制 64 MB 题目描述 楼梯有n阶,可以一步上一阶、两阶或三阶,问有多少种不同的走法 由于答案很大,mod(1e9+7)输出 输入数据 一个正整数n,代表楼梯的阶数,n<=1000000 输出数据 方案数 样例输入 3 样例输出 4 这道题并不难,静下心来,思路很快就会出来,到达n阶楼梯的方案数有n-1,n-2,n-3决定。 代码如下:...原创 2019-10-31 20:01:52 · 318 阅读 · 0 评论 -
解方程问题
Problem D. 解方程 时间限制 1000 ms 内存限制 64 MB 题目描述 设x为一个十进制正整数,定义s(x)为x的每一位上的数字之和,如s(123) = 1+2+3 = 6 对于如下方程:x = b*(s(x)^a)+c 给出a,b,c的值,要求找出[1,999999999]内所有符合条件的x,并从小到大输出 输入数据 三个正整数,分别代表a,b,c 1<=a<=5 1...原创 2019-10-31 14:53:32 · 537 阅读 · 0 评论 -
并查集算法
理解算法 并查集用于处理一些不交集的合并及查询问题: Find:确定元素属于哪个子集。这个确定的方法就是不断的向上查找到它的根节点。 Union:将两个子集合并成同一个集合。 MakeSet:用于建立单元素集合。 并查集森林 每个集合的代表即是集合的根节点。“查找”根据其父节点的引用向根行进直到到底树根。“联合”将两棵树合并到一起,这通过将一棵树的根连接到另一棵树的根。 void Make...原创 2019-10-20 20:36:24 · 234 阅读 · 0 评论