acm
qcccc_
这个作者很懒,什么都没留下…
展开
-
牛客算法周周练15 树上求和(dfs序线段树)
题目链接 题目意思明了,看起来像线段树,但是又不像线段树,线段树的单一题目一般都直接给出一个数列,然后要你求区间之间的一些值,维护一些值,但是这个题目又不是给你一个数列,而是一颗树,那么就要想办法改成线段树,这样dfs序就来了,因为dfs序中一个点的进来的位置与出去的位置之间恰好是他的子树所在区间,和题目要求的东西刚刚好。(至于为什么是这样百度一下dfs序就知道了)。 int in[maxn],out[maxn],cnt,vis[maxn],fir[maxn];//in进去的位置,out出来的位置,vis第原创 2020-07-14 23:19:01 · 266 阅读 · 0 评论 -
H - GCD - Extreme (II)(欧拉函数)
数论(欧拉函数的应用) 写题解之前先说一下:这种解法不是看别人的题解写出来的是真的强(也可能是我太菜了吧) 题目链接 然后这是我参考的大佬的题解的链接 大佬的题解 题意:就是求题目中那个程序,只不过要化简一下,不然绝对会超时 题解:化简程序后可以得到其中有一部分是f(n)=gcd(1,n)+gcd(2,n)+…+gcd(n-1,n);还有几部分是f(n-1)=gcd(1,n-1)+gcd(2,n-2)+…+gcd(n-2,n-1);以此类推:可以得到f(n-2),f(n-3)…f(2); 为什么没有f(1)原创 2020-07-14 10:29:50 · 334 阅读 · 0 评论