摘要:
【题目链接】 点击打开链接 【算法】 很明显,我们可以用线段树解决此题 只需维护区间最值就可以了 【代码】 阅读全文
posted @ 2018-04-30 21:33
evenbao
阅读(131)
评论(0)
推荐(0)
摘要:
【题目链接】 点击打开链接 【算法】 我们知道,每个编号为a[i]都要被编号是a[i]的约数的牛拍一次头(除了它自己),因此,只需用类似于筛法的方式统计答案, 即可 【代码】 阅读全文
posted @ 2018-04-30 20:57
evenbao
阅读(154)
评论(0)
推荐(0)
摘要:
【题目链接】 点击打开链接 【算法】 要求M,显然可以通过约数个数定理从1..N暴力计算答案,然而n最大10^6,这个算法的时间复杂度是 O(N * sqrt(N))的,不能通过此题 因此我们换一种思路 不妨考虑每个数对答案的“贡献”,若这个数为i,那么1..n中,共有n / i个数是i的倍数,那么 阅读全文
posted @ 2018-04-30 20:40
evenbao
阅读(157)
评论(0)
推荐(0)
摘要:
【题目链接】 点击打开链接 【算法】 稍加分析可知,问题等价于“求1到n中,因子个数最多的数,若有多个,求最小的” 那么我们该怎么求这个数呢? 约数个数定理 : x = p1^a1p2^a2p3^a3...pn^an 则x的约数个数为 : (a1 + 1)(a2 + 1)(a3 + 1) ... ( 阅读全文
posted @ 2018-04-30 20:13
evenbao
阅读(170)
评论(0)
推荐(0)
摘要:
【题目链接】 点击打开链接 【算法】 本题用map很好写,笔者用的是哈希的写法 【代码】 阅读全文
posted @ 2018-04-30 17:37
evenbao
阅读(156)
评论(0)
推荐(0)
摘要:
【题目链接】 点击打开链接 【算法】 此题初看是大水题,只需调用std :: sort即可 但是,n最大500000,显然会超时 而且,内存限制1MB,我们连数组也开不了! 那怎么做呢 ? 我们发现,一个非众数和众数可以抵消,因此,暴力扫描一遍即可 【代码】 阅读全文
posted @ 2018-04-30 15:49
evenbao
阅读(98)
评论(0)
推荐(0)
摘要:
【题目链接】 点击打开链接 【算法】 直接暴力dfs一遍,即可 【代码】 阅读全文
posted @ 2018-04-30 13:23
evenbao
阅读(105)
评论(0)
推荐(0)