
算法
文章平均质量分 60
-Haydenyoung
"这是一位年轻人的梦想。"
展开
-
素数快速求法 -- 筛法求素数
在做题的过程中,我们会遇到一些需要求素数的要求,如果对于数据范围很小的数据,我们有最简单但是最耗时间的双for循环嵌套法。下面举个例子。Question : Get the primes from 1 to 100 and print them./** * 素数求法 基础for循环法 */#include <cstdio>#include <cmath>using namespace st原创 2017-04-15 21:16:14 · 8169 阅读 · 3 评论 -
算法学习之路
第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码, 因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打 出来. 1.最短路(Floyd、Dijstra,BellmanFord) 2.最小生成树(先写个prim,kruscal要用并查集,不好写) 3.大数(高精度)加减乘除 4.二分查找. (代码可在五行以内)转载 2017-07-12 08:49:11 · 757 阅读 · 0 评论 -
POJ 1511 双向单源最短路 SPFA+邻接表
最近在复习最短路算法 然后今天在看差分约束系统的时候看到了这一题 POJ 1511 题目的大意: 给出n个点和n条有向边,求所有点到源点1的来回最短路之和(保证每个点都可以往返源点1) 题目意思很简单,但是数据规模很大,当时知道数据规模很大,用一般的方法肯定会超时或者其他错误,但是还是用基础的方法写了一遍。 还有就是一地方需要注意,就是这题求的是双向单源,所以还需要考虑一下,处理双向的问题原创 2017-07-13 17:04:09 · 543 阅读 · 0 评论 -
C++ STL 之 查找函数 lower_bound and upper_bound用法讲解
STL中有这样的两个函数 lower_bound upper_bound函数 用于在非递减序列中查找元素 lower_bound函数: 1.用法: lower_bound(起始位置,起始位置+查找的最大长度,查找的元素,(cmp))- 数组指针名(数组名) 2.解释:lower_bound(p,p+n,x)作用是在p[n]数组中查找大于或等于x的第一个位置,得到的结果是一个指针,前提是数组原创 2017-08-02 16:19:59 · 2066 阅读 · 0 评论 -
<sstream>中的 stringsstream 使用说明
stringstream是字符串流。它将流与存储在内存中的string对象绑定起来。在多种数据类型之间实现自动格式化。今天做Uva10815的一题 叫做 Andy’s First Dictionary用到的这个函数 然后觉得这个很强大 因为我也没有很透彻的弄明白stringstream的工作原理 只能在这里说一下 我用到的部分利用stringstream可以将一段字符串中的单词提取出来比如我有这样的原创 2017-08-02 17:04:14 · 873 阅读 · 2 评论 -
杭电多校 1001 Add More Zero 题解报告
昨天去参加了杭电多校联赛第一场 题目难度对我来说 我觉得还是有点难的 只A了四题 这是杭电多校第一场的排行榜 第一名的清华AK 第二名北大 第三名是南京外国语学校 http://acm.hdu.edu.cn/contests/contest_show.php?cid=759 不多说废话了 第一题是签到题 题目意思很简单 题目意思是说: 输入m 然后2^m-1这个数让你在1到10原创 2017-07-26 13:48:41 · 627 阅读 · 0 评论 -
快速幂-竞赛算法用法-和-例题详解---Hayden's Blog.
在ACM竞赛中经常会遇到各种的求幂问题,这种问题一般情况下对应的数字都会很大,所以快速幂就会经常用到,快速幂很好用,就算没有弄清楚快速幂的原理,只要有模板很快就可以解题。先说几个比较重要的公式: 模运算与基本四则运算有些相似,但是除法例外。其规则如下: (a + b) % p = (a % p + b % p) % p (1) // 这个公式等下写题目就会用到的 (a – b) % p =原创 2017-08-06 11:12:06 · 699 阅读 · 0 评论