上一页 1 ··· 4 5 6 7 8 9 下一页
摘要: 方法: Trie 其实就是建树,node里存文件名。因为最后同目录下的文件要按照文件名顺序输出,所以储存child pointer的时候用了map,自带排序。下面的code是动态分配内存,然而用数组也可以,参见trie template。 Code: 1 #include <cstdio> 2 #i 阅读全文
posted @ 2017-01-30 23:02 大四开始ACM 阅读(621) 评论(0) 推荐(0) 编辑
摘要: 方法:hash 用一个unordered_set 存所有可能的string code: 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include <iostream> 5 #include <string> 阅读全文
posted @ 2017-01-30 20:24 大四开始ACM 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 方法:kmp 其实这道题算是一个字符串匹配,原string 为 str, 把str 反转后得到 rev,看rev在str什么位置可以匹配到,多出的部分不算。匹配的方法有很多种,这道题用kmp比较容易。也可以用suffix array 或者 hash。 kmp code: 阅读全文
posted @ 2017-01-30 20:10 大四开始ACM 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 方法:暴力 / kmp 先说一下暴力的方法,就是尝试把原来的string不断分割,在substring 里求解。code 如下 然而看到题解,好像是用kmp,值得学习 http://www.cnblogs.com/jackge/archive/2013/01/05/2846006.html 阅读全文
posted @ 2017-01-30 16:09 大四开始ACM 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 方法:Trie 本题其实就是trie的实现,每个节点需要记录两个值,深度 和 visit的次数,答案便是 max(深度 * visit的次数)。 数组实现code: 心血来潮用动态分配空间写了一个,注意要合理释放空间,比如写一个delete(node * root) 的函数,不过注意最好不要写成re 阅读全文
posted @ 2017-01-30 15:35 大四开始ACM 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 方法:数论 注意last digit只与m的最后一位和m有关,同时,如果了解number theory 中的multiplicative order 的话,就会发现,1-9 mod 10 的order 不是1 就是4, 所以结果只与m的最后一位和n mod 4的结果有关。而n mod 4 的结果只与 阅读全文
posted @ 2017-01-30 09:34 大四开始ACM 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 方法:数论 暴力 一个正整数n的因子个数d(n) 在number theory 是一个multiplicative function,有公式。利用素数筛选先求出 sqrt(1e9)内的素数,然后对范围内每一个数求解d(n), 去最大的即可。 code: 由于范围比较小(1e4), 据说不预处理素数, 阅读全文
posted @ 2017-01-30 09:18 大四开始ACM 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 方法:素数筛选 素数筛选法的推广。先求出H-primes, 可以证明得到,任意两个H-prime相乘,结果都是semi-prime H-number。求出范围内所有semi-primes,预处理前缀和即可。 (这里用到一种O(n) 素数筛选的方法) code: 阅读全文
posted @ 2017-01-30 08:59 大四开始ACM 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 方法:暴力 设home的序号为n,街尾序号为N,列出方程 (n-1)*n/2 = (N+n+1)*(N-n)/2, 化简得 2*n*n = (N+1)*N。枚举N再检查是否有解。可以直接求,或者打表。 code: 据说可以转化成佩尔方程,待学习。 阅读全文
posted @ 2017-01-30 08:42 大四开始ACM 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 方法:对数,暴力 我们需要求出最小的e,是的存在一个i > len(n) , 满足 floor[2^e/ (10^i)]= n, 即 n*10^i < 2^e < (n+1)*10^i。对两边同时取log10 (以10为底的对数,记作lg),得到 lg(n) + i < e*lg(2) < lg(n 阅读全文
posted @ 2017-01-30 07:34 大四开始ACM 阅读(151) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 下一页