算法
N3verL4nd
中年老男人~
展开
-
google authenticator
【google authenticator】使用基于时间的一次性密码(Time-based One-time Password,简称TOTP)实现。离线实现即不需要联网。https://blog.seetee.me/post/2011/google-two-step-verification/https://segmentfault.com/a/1190000016100672https...原创 2020-03-18 09:54:20 · 989 阅读 · 0 评论 -
Feistel 算法
学习资料:https://www.jiamisoft.com/blog/8903-feisteljiegouhundunjiamisuanfa.htmlhttps://blog.iwannarun.cn/2017/11/03/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E8%87%AA%E5%A2%9EID%E7%94%9F%E6%88%90%E5%8F%AF%E...原创 2020-03-18 09:51:50 · 843 阅读 · 0 评论 -
poj_2299Ultra-QuickSort && poj_1804Brainman
Ultra-QuickSortTime Limit: 7000MS Memory Limit: 65536KTotal Submissions: 32487 Accepted: 11581DescriptionIn this problem, you have to analyze a particular sorti原创 2013-05-20 15:40:58 · 1292 阅读 · 0 评论 -
hdoj_4547
CD操作Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 551 Accepted Submission(s): 161Problem Description 在Windows下我们可以通过cmd运行原创 2013-06-06 20:16:24 · 1002 阅读 · 0 评论 -
LCA && RMQ模版
RMQ(space table算法)/*RMQ(Range Minimum/Maximum Query)问题: RMQ问题是求给定区间中的最值问题。当然,最简单的算法是O(n)的,但是对于查询次数很多(设置多大100万次),O(n)的算法效率不够。可以用线段树将算法优化到O(logn)(在线段树中保存线段的最值)。不过,Sparse_Table算法才是最好的:它可以在O(nlogn原创 2013-06-06 09:40:18 · 1163 阅读 · 0 评论 -
hdoj_2586How far away ? && poj_1986Distance Queries
How far away ?Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2931 Accepted Submission(s): 1092Problem DescriptionThere are n原创 2013-06-02 22:49:25 · 917 阅读 · 0 评论 -
poj_1470Closest Common Ancestors
Closest Common AncestorsTime Limit: 2000MS Memory Limit: 10000KTotal Submissions: 12891 Accepted: 4207DescriptionWrite a program that takes as input a rooted tr原创 2013-06-01 10:44:00 · 985 阅读 · 0 评论 -
poj_1330Nearest Common Ancestors
Nearest Common AncestorsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 14185 Accepted: 7571DescriptionA rooted tree is a well-known data structure in原创 2013-06-01 09:04:27 · 934 阅读 · 0 评论 -
最近公共祖先(least common ancestors algorithm)
lca问题是最近公共祖先问题,一般是针对树结构的。现在有两种方法来解决这样的问题1. On-line algorithm用比较长的时间做预处理。然后对每次询问进行回答。思路:对于一棵树中的两个节点,假设是u和v。我们要找到他们的最近的一个祖先,那么我们可以这样找,首先判断他们是不是一辈儿的人,也就是说他们的深度是不是一样的,如果一个较深(u),一个较浅(v)。我们可以不转载 2013-06-01 07:36:45 · 996 阅读 · 0 评论 -
LCA问题(最近公共祖先问题)+ RMQ问题
一、最近公共祖先(Least Common Ancestors)对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。另一种理解方式是把T理解为一个无向无环图,而LCA(T,u,v)即u到v的最短路上深度最小的点。这里给出一个LCA的例子:例一对于T=V={1,2,3,4,5}E={(1,2),(1,3转载 2013-05-31 17:10:52 · 1053 阅读 · 0 评论 -
Range Minimum Query and Lowest Common Ancestor[翻译]
Range Minimum Query and Lowest Common Ancestor 【原文见 http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=lowestCommonAncestor】转载 2013-05-31 16:04:45 · 999 阅读 · 0 评论 -
poj_3264
Balanced LineupTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 27473 Accepted: 12898Case Time Limit: 2000MSDescriptionFor the daily milking, Far原创 2013-05-31 14:33:44 · 874 阅读 · 0 评论 -
hdoj_1800Flying to the Mars
Flying to the MarsTime Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7676 Accepted Submission(s): 2478Problem DescriptionIn原创 2013-05-14 20:49:07 · 928 阅读 · 0 评论 -
hdoj_1075What Are You Talking About
What Are You Talking AboutTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 102400/204800 K (Java/Others)Total Submission(s): 9376 Accepted Submission(s): 2928Problem Description原创 2013-05-13 23:24:45 · 1045 阅读 · 0 评论 -
hdoj_1251统计难题
统计难题Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)Total Submission(s): 12722 Accepted Submission(s): 5378Problem DescriptionIgnatius最近遇到一个难题,老师原创 2013-05-10 22:53:30 · 970 阅读 · 0 评论 -
字典树模版
#define MAX 26typedef struct Node{ struct Node *next[MAX]; int v;}Node, *Trie;Trie root;void createTrie(char *str){ int len, i, j; Node *current, *newnode; len = strlen(str); if(len == 0原创 2013-05-10 18:32:33 · 986 阅读 · 0 评论 -
Trie树|字典树的简介及实现
Trie,又称字典树、单词查找树,是一种树形结构,用于保存大量的字符串。它的优点是:利用字符串的公共前缀来节约存储空间。相对来说,Trie树是一种比较简单的数据结构.理解起来比较简单,正所谓简单的东西也得付出代价.故Trie树也有它的缺点,Trie树的内存消耗非常大.当然,或许用左儿子右兄弟的方法建树的话,可能会好点.其基本性质可以归纳为:1. 根节点不包含字符,除根节点外每一个节转载 2013-05-10 18:25:59 · 996 阅读 · 0 评论 -
hdoj_1394Minimum Inversion Number
Minimum Inversion NumberTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6642 Accepted Submission(s): 4051Problem DescriptionT原创 2013-05-20 23:44:18 · 965 阅读 · 0 评论 -
hdoj_1166敌兵布阵
敌兵布阵Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 27068 Accepted Submission(s): 11628Problem DescriptionC国的死对头A国这段时间正在进行军事演原创 2013-05-28 10:25:54 · 1074 阅读 · 0 评论 -
快速幂取模
利用二进制扫描的方法快速的计算ab mod c,显然用常规方法计算74237 mod 4233计算量过大。基本原理:(a×b)mod c=((a mod c)×b)mod c例如:35 mod 7=3(101)2 mod 7=((3(100)2 mod 7)×3)mod 7=((9(10)2 mod 7)×3)mod 7=(((9 mod 7)(10)2 mod 7)×3)mo原创 2012-11-03 21:29:31 · 613 阅读 · 0 评论 -
素数&&Miller_Rabbin
【引理】如果p是一个素数的话,那么对任意一个小于p的正整数a,a, 2a, 3a, ..., (p-1)a除以p的余数正好是一个1到p-1的排列。(例如,5是素数,3, 6, 9, 12除以5的余数分别为3, 1, 4, 2,正好就是1到4这四个数。) 【证明】( 反证法)假如结论不成立的话,那么就是说有两个小于p的正整数m和n使得na和ma除以p的余数相同。不妨假设n>m,则p可以整除原创 2012-11-06 12:49:28 · 810 阅读 · 0 评论 -
快速幂取模
利用二进制扫描的方法快速的计算ab mod c,显然用常规方法计算74237 mod 4233计算量过大。基本原理:(a×b)mod c=((a mod c)×b)mod c例如:35 mod 7=3(101)2 mod 7=((3(100)2 mod 7)×3)mod 7=((9(10)2 mod 7)×3)mod 7=(((9 mod 7)(10)2 mod 7)×3)mo原创 2012-11-06 12:50:01 · 691 阅读 · 0 评论 -
poj_2262Goldbach's Conjecture
Goldbach's ConjectureTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 32564 Accepted: 12542DescriptionIn 1742, Christian Goldbach, a German amateur mathe原创 2013-04-12 17:38:12 · 1055 阅读 · 0 评论 -
返回阶乘最后非零位
#include#includeusing namespace std;const int MAXN=10005;char str[MAXN];int temp[MAXN];int lastdigit(const char *str){ //返回阶乘最后非零位 const int mod[20]={1,1,2,6,4,2,2,4,2,8,4, 4,8,4,6,8,8,6,8,2}原创 2012-11-19 20:00:45 · 1128 阅读 · 0 评论 -
2013年蓝桥杯模拟赛答案
一、标题: 1的个数从1到20的所有数字中含有多少个“1”仔细数一下,应该是12个。那么从1到1000的整数中,含有多少个“1”呢?请填写该数字。#include using namespace std;#define MAX 1000int main(){ int count = 0; int m; for(int i = 1; i <= MAX; i+原创 2013-05-02 16:11:54 · 1533 阅读 · 0 评论 -
如何判断一个数是否为素数
怎么判断一个数是否为素数?笨蛋的作法: bool IsPrime(unsigned n){ if (n { //小于2的数即不是合数也不是素数 throw 0; } for (unsigned i=2;i { //和比它小的所有的数相除,如果都除不尽,证明素数 if (n%i==0) {原创 2013-05-25 18:52:47 · 1418 阅读 · 0 评论 -
组合数求模
大家都在中学阶段学习了组合数的定义:这个表示的是从n个元素中选取m个元素的方案数。(PS.组合数求模似乎只用在信息学竞赛和 ACM竞赛等计算机编程设计大赛中……,求在现实中的运用) 可以知道当n,m 取得比较大的时候,组合数可能很大很大 (天文数字?无法度量?)例如 C(100, 50) = 1008913445455641933348124转载 2013-05-26 09:20:13 · 996 阅读 · 0 评论 -
三分法——求解凸性函数的极值问题——czyuan原创
二分法作为分治中最常见的方法,适用于单调函数,逼近求解某点的值。但当函数是凸性函数时,二分法就无法适用,这时三分法就可以“大显身手”~~ 如图,类似二分的定义Left和Right,mid = (Left + Right) / 2,midmid = (mid + Right) / 2; 如果mid靠近极值点,则Right = midmid;否则(即midmid靠近极值转载 2013-06-06 21:14:51 · 1232 阅读 · 0 评论 -
阶乘模版
#include#include#include using namespace std;#pragma warning(disable : 4996)#define maxn 50000int f[maxn];int main(){ int m, i, j; while(scanf("%d", &m) != EOF) { memset(f, 0, sizeof(f));原创 2013-06-07 11:04:15 · 1048 阅读 · 0 评论 -
大数模版
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespac转载 2013-06-07 10:31:32 · 866 阅读 · 0 评论 -
poj_2481Cows
CowsTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 9871 Accepted: 3233DescriptionFarmer John's cows have discovered that the clover growing along the原创 2013-06-04 11:32:07 · 839 阅读 · 0 评论 -
poj_1195Mobile phones&&poj_2155Matrix
Mobile phonesTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 12399 Accepted: 5714DescriptionSuppose that the fourth generation mobile phone base stati原创 2013-06-04 09:15:42 · 811 阅读 · 0 评论 -
hdoj_1556Color the ball
Color the ballTime Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5330 Accepted Submission(s): 2841Problem DescriptionN个气球排成一排,从左原创 2013-06-04 08:28:38 · 917 阅读 · 0 评论 -
树状数组求区间和的一些常见模型
树状数组在区间求和问题上有大用,其三种复杂度都比线段树要低很多……有关区间求和的问题主要有以下三个模型(以下设A[1..N]为一个长为N的序列,初始值为全0):(1)“改点求段”型,即对于序列A有以下操作:【1】修改操作:将A[x]的值加上c;【2】求和操作:求此时A[l..r]的和。这是最容易的模型,不需要任何辅助数组。树状数组中从x开始不断减lo转载 2013-06-04 08:13:30 · 873 阅读 · 0 评论 -
poj_2352Stars
StarsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 25880 Accepted: 11309DescriptionAstronomers often examine star maps where stars are represented b原创 2013-06-04 07:46:28 · 946 阅读 · 0 评论 -
hdoj_2138How many prime numbers
How many prime numbersTime Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7324 Accepted Submission(s): 2446Problem Description G原创 2012-11-03 21:30:43 · 656 阅读 · 0 评论