
算法
pSomng
欢迎访问我的个人博客了解我
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
大数思维-乘法/除法
(整型)大数乘法#include<iostream>#include<cstdio>#include<cmath>#include<string>using namespace std;int main(){ string a, b; int C[256],num,p,q,t = 0,temp,k; //num 进数 p ...原创 2020-03-26 22:05:44 · 189 阅读 · 0 评论 -
The 3n + 1 problem(问题 1095)
原题链接:http://www.dotcpp.com/oj/problem1095.html题目描述Consider the following algorithm to generate a sequence of numbers. Start with an integer n. If n is even, divide by 2. If n is odd, multiply by 3 a...原创 2020-03-26 22:04:59 · 476 阅读 · 3 评论 -
【动态规划】Coin Change(LintCode---669)---详解
题目给出不同面额的硬币以及一个总金额. 写一个方法来计算给出的总金额可以换取的最少的硬币数量. 如果已有硬币的任意组合均无法与总金额面额相等, 那么返回 -1.Example样例一输入:[1, 2, 5]11输出: 3解释: 11 = 5 + 5 + 1样例二输入: [2]3输出: -1思路这道题看起来很像可以使用贪心解决,每次都拿最大的,这样就能使得最后...原创 2020-03-24 21:03:53 · 657 阅读 · 0 评论 -
简单枚举系列之Uva_10976分数拆分【例题】
分数拆分(Fractions Again?!,Uva10976)【问题引用】输入正整数k,找到所有的正整数x>=y,使得1/k=1/x+1/y样例输入:212样例输出:21/2=1/6+1/31/2=1/4+1/481/12=1/156+1/131/12=1/84+1/141/12=1/60+1/151/12=1/48+1/161/12=1/36+1/181...原创 2020-03-12 21:05:58 · 305 阅读 · 1 评论 -
简单枚举系列之Uva_11059最大乘积【例题】
简单枚举(2)(Maxiumum Product,Uva 11059)最大乘积【题目引用】【题目分析】连续子序列有两个要素:起点和终点,所以可以枚举起点和终点,也就是这道题的核心所在。【实际问题】用什么存数据?数组还是STL这里n的范围比较小,所以根据喜好选择,这里个人采用的是C++的vector容器。如何枚举这个起点和终点刚开始笔者思考的时候,用了三个循环做处理,也...原创 2020-03-12 00:06:35 · 269 阅读 · 0 评论 -
简单枚举系列之UVa_725除法【例题】
UVA 725 除法(Division)【题目引用】输入正整数n,按从小到大的顺序排列所有形如abcde/fghij=n的表达式,其中a-j恰好为数字输入0-9的一个排列(可以有前导0),2<=n<=79.样例输入:62样例输出:79546/01283=6294736/01528=62【题目分析】题目中说明了a~j是一个0~9的一个全排列,所以这里就隐含着10个数字...原创 2020-03-10 23:34:44 · 638 阅读 · 0 评论 -
蓝桥杯训练题解-蛇行矩阵(问题 1097)
原题链接:http://www.dotcpp.com/oj/problem1097.html题目描述蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。输入本题有多组数据,每组数据由一个正整数N组成。(N不大于100)输出对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。样例输入5样例输出1 3 6...原创 2019-08-31 14:11:39 · 583 阅读 · 0 评论 -
蓝桥杯训练题解-Minesweeper(问题 1096)
原题链接:http://www.dotcpp.com/oj/problem1096.html题目描述Minesweeper Have you ever played Minesweeper? This cute little game comes with a certain operating system whose name we can’t remember. The goal of ...原创 2019-08-31 14:11:11 · 667 阅读 · 0 评论 -
大数思维-大数阶乘(1000以内)(c++描述)
首先,在本篇文章开头提供我看到的挺好的阶乘解法(c描述)的链接:https://blog.youkuaiyun.com/lisp1995/article/details/52403507我的解法也是参考他的思路的.众所周知,普通的阶乘100以内(或者更小),我们是可以直接算的(简单的迭代或者递归),但当超过一定的long long int(64位)范围,就会溢出,这时我们就不能直接通过定义变量来求了,这时...原创 2019-08-31 14:05:11 · 915 阅读 · 0 评论 -
两种排序-快排与冒泡
快速排序算法描述:先定义左边i=L 与最右边的 j=R取中间的数 mid 作为判断 mid = a[(R+l)/2]一趟快速排序:先从左边开始 逐渐递增i的值直到找到第一个a[i] > mid 此时跳出循环然后从右边开始 逐渐递减j的值直到找到第一个a[j] < mid 此时跳出循环此时这两者是应该满足 i < j的 也就是保持 i在左边而j在右边 ...原创 2019-08-31 14:04:47 · 416 阅读 · 0 评论 -
迷宫的最短路径-宽度优先搜索(BFS) -例题
BFS概念与深度优先搜索相似,都是由某个状态开始探索所有可以到达的状态.但相对深度优先搜索来说,宽度优先搜索总是先搜索距离初始状态较近的状态,即由近及远,首先探索满足条件最近的状态。利用原理:队列,“先进先出”。例题 迷宫的最短路径 给定一个大小为N*M的迷宫,迷宫由通道和墙壁组成,每一...原创 2019-08-31 14:04:29 · 1990 阅读 · 0 评论 -
深度优先搜索(DFS)例题
DFS概念它从某个状态开始,不断地转移状态直至无法转移,然后回退到前一步的状态,继续转移其他状态,如此不断重复,直至找到最终的解。例题/* dfs 例题*///给定整数a1,a2,a3...an,判断是否能够从中抽出几个整数使得它们的和刚好为kint a[Max];int n, k;bool dfs(int i, int sum);int main(){ cin &...原创 2019-08-31 14:04:15 · 361 阅读 · 0 评论 -
线性表中的单向链表的简单操作
单向链表是链表中的一种,其特点是链表的链接方向是单向的,对链表的访问要通过从头部开始,依序往下读取。当然,往后对数据结构的深入学习,还会涉及到双向链表、循环链表等线性表,我在这里就不再解释了。链表主要是由结点一个个相继串起来的,其中每一个结点又被分为两个部分:(data)数据域、(next)指针域。数据域(data):主要是保存的是关于结点的信息指针域(next):存储的是下一个结点的地址...原创 2019-08-20 14:00:54 · 226 阅读 · 0 评论