随笔分类 - 小毛今天学算法了吗!
摘要:原理:素数的倍数一定不是素数 1.埃拉托斯特尼筛法(埃氏筛) 埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。 给出要筛数值的范围n,找出以内的素数。先用2去筛,
阅读全文
摘要:一.概览 二.常用操作 同map篇,这里不过多赘述 例题:【深基17.例6】学籍管理 代码: 1 #include<iostream> 2 #include<string> 3 #include<map> 4 using namespace std; 5 int main() 6 { 7 map<s
阅读全文
摘要:一.集合概览 二.操作 set自带的函数常用的有10种: set<int> a 建立一个名字为a、类型为int的集合。a.insert(b) 在集合中插入一个数b,如果这个数已经存在就什么也不干 a.erase(b) 在集合中删除一个数b,如果这个数不存在就什么也不干 a.erase(l) 在集合中
阅读全文
摘要:一.并查集实现原理 为了解释并查集的原理,我将举一个更有爱的例子。 话说江湖上散落着各式各样的大侠,有上千个之多。他们没有什么正当职业,整天背着剑在外面走来走去,碰到和自己不是一路人的,就免不了要打一架。但大侠们有一个优点就是讲义气,绝对不打自己的朋友。而且他们信奉“朋友的朋友就是我的朋友”,只要是
阅读全文
摘要:同理参照高精度算法-减法篇,一个模板改过来的 解决跟高精度减法不同的问题: 没有前导零的存在,但是可能会出现位数增多的情况 比如:9999+9999=19998 1 if (ans[maxl + 1] > 0) 2 maxl++; 终极代码: 1 #include<iostream> 2 #incl
阅读全文
摘要:本文大部分思路,代码来源于 stone_juice石汁 本人加以改动符合自己的思维过程; 一.搞定高精度数的存储 当long long都解决不了数的存储时,用数组存储,且为了后续计算方便,读取高精度数时用string类型读取。 1 for (int i = 1; i <= s1.length();
阅读全文
摘要:改进版: w = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400 ) % 7+1; 在公式中d表示日期中的日数,m表示月份数,y表示年数。 注意:在公式中有个与其他公式不同的地方: 把一月和二月看成是上一年的十三月和十四月,例
阅读全文
摘要:转自0And1Story:正则表达式详解 1. 什么是正则表达式? 正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE),又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法,是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一
阅读全文

浙公网安备 33010602011771号