【算法】欧拉函数
文章平均质量分 88
cz_xuyixuan
这个作者很懒,什么都没留下…
展开
-
【BZOJ3813】【UOJ38】【清华集训2014】奇数国
【题目链接】BZOJUOJ【思路要点】首先,有一个直观的做法是对每一个质因子维护一棵树状数组,记录区间中该质因子指数的和。询问时先将\(product\)质因数分解的结果求出来,再用快速幂计算欧拉函数。时间复杂度是\(O(60NLogN)\),可以在UOJ上通过,但在BZOJ上会超时。进一步考虑,由于19961993是质数,我们可以方便地计算各个质因数的乘法逆元。所以我们用一颗线段树维护区间取模乘...原创 2018-02-27 09:55:19 · 370 阅读 · 0 评论 -
【AtCoder】AtCoder Grand Contest 032 题解
【比赛链接】点击打开链接【题解链接】点击打开链接【A】 Limited Insertion【思路要点】考虑时间倒流,对于一个位置 iii ,若 ai=ia_i=iai=i ,则可以将其删去,问是否能将序列删空。不难发现每次删除最大的 iii ,使得 ai=ia_i=iai=i 是唯一的最优策略,模拟之,若无法操作则无解。时间复杂度 O(N2)O(N^2)O(...原创 2019-03-26 17:03:00 · 740 阅读 · 0 评论 -
【CodeForces】Mail.Ru Cup 2018 Round 1 (Div. 1 + Div. 2) 题解
【比赛链接】点击打开连接【题解链接】点击打开链接**【A】**Elevator or Stairs?【思路要点】按照题意计算两种方式的用时,取较优的方案采纳。时间复杂度 O(1)O(1)O(1) 。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 2e5 + 5...原创 2018-10-21 14:28:31 · 848 阅读 · 1 评论 -
【CodeForces】CodeForces Round #400 (Div. 1 + Div. 2) 题解
【比赛链接】 点击打开连接 【题解链接】 点击打开链接 **【A】**A Serial Killer【思路要点】 维护两个字符串模拟。 时间复杂度O(N)O(N)O(N)。 【代码】 #include&lt;bits/stdc++.h&gt;using namespace std;const int M...原创 2018-08-02 18:22:36 · 334 阅读 · 0 评论 -
【CodeForces906D】Power Tower
【题目链接】点击打开链接【思路要点】欧拉拓展定理:\(a^{\phi(n)}\equiv a^{2\phi(n)}(Mod\ n)\)。而\(\phi(\phi(n))<\frac{n}{2}\)(\(\phi(奇数)=偶数\),\(\phi(偶数)≤\frac{偶数}{2}\)),所以至多有\(O(LogP)\)个不同的模数,模数就会变成1。所以,对于每个询问,只有前\(O(LogP)\)...原创 2018-03-23 15:51:03 · 518 阅读 · 2 评论 -
【BZOJ3884】上帝与集合的正确用法
【题目链接】点击打开链接【思路要点】欧拉拓展定理:\(a^{\phi(n)}\equiv a^{2\phi(n)}(Mod\ n)\)。而\(\phi(\phi(n))<\frac{n}{2}\)(\(\phi(奇数)=偶数\),\(\phi(偶数)≤\frac{偶数}{2}\)),所以至多有\(O(LogP)\)个不同的模数,模数就会变成1,然后直接用欧拉定理计算即可。时间复杂度\(O(T...原创 2018-03-22 20:28:53 · 180 阅读 · 0 评论 -
【USACO】2018 February Contest, Platinum题解
【比赛经历】看完T1先写了一个\(O(NM)\)的暴力,交一发,得分5/10,说明正确地理解了题意。感觉T1码量挺大的,于是先放了一下。T2是傻题,看完10min写掉了,得分10/10。回过头来把T1的线段树码了,一遍写对,不用痛苦地调这个鬼题,提交,得分10/10,跑了1.8s,果然STL不能乱用,差点T了。时间一共过了1.5h-。再看T3,先写了个暴力,找了找规律(还试了试OEIS),然后发现...原创 2018-03-06 10:58:06 · 802 阅读 · 0 评论 -
【BZOJ4869】【SHOI2017】相逢是问候
【题目链接】点击打开链接【思路要点】欧拉拓展定理:\(a^{\phi(n)}\equiv a^{2\phi(n)}(Mod\ n)\)。而\(\phi(\phi(n))<\frac{n}{2}\)(\(\phi(奇数)=偶数\),\(\phi(偶数)≤\frac{偶数}{2}\)),所以至多有\(O(LogP)\)个不同的模数,模数就会变成1,所以经过\(O(LogP)\)次修改后,被操作数...原创 2018-03-22 20:14:13 · 501 阅读 · 0 评论