bzoj4026】的更多相关文章

[BZOJ4026]dC Loves Number Theory Description  dC 在秒了BZOJ 上所有的数论题后,感觉萌萌哒,想出了这么一道水题,来拯救日益枯竭的水题资源.    给定一个长度为 n的正整数序列A,有q次询问,每次询问一段区间内所有元素乘积的φ(φ(n)代表1~n 中与n互质的数的个数) .由于答案可能很大,所以请对答案 mod 10^6 + 777. (本题强制在线,所有询问操作的l,r都需要 xor上一次询问的答案 lastans,初始时,lastans =…
Description  dC 在秒了BZOJ 上所有的数论题后,感觉萌萌哒,想出了这么一道水题,来拯救日益枯 竭的水题资源.    给定一个长度为 n的正整数序列A,有q次询问,每次询问一段区间内所有元素乘积的 φ(φ(n)代表1~n 中与n互质的数的个数) .由于答案可能很大,所以请对答案 mod 10^6 +  777. (本题强制在线,所有询问操作的l,r都需要 xor上一次询问的答案 lastans,初始时, lastans = 0)  Input 第一行,两个正整数,N,Q,表示序列…
直接按照欧拉函数的计算方式来即可 φ=区间积*区间出现(质数-1)的积/区间出现过的质数的积 区间积是满足类似区间减法的操作的(利用逆元) 由于强制在线,上主席树就可以了(维护每个质数上次出现的位置pre,求区间[l,r],pre<l的元素即可) ; type node=record po,next,num:longint; end; link=record l,r:longint; s1,s2:int64; end; ..mo] of int64; s,sd:..] of int64; tre…
根据欧拉函数的定义式可知,可以先算出a[l]*a[l+1]*...*a[r]的值,然后枚举所有存在的质因子*(p-1)/p. 发现这里区间中一个质因子只要计算一次,所以指计算“上一个同色点在区间外”的数.记录pre就是二维数点问题了,套路地用主席树即可. 被卡常.别的OJ过了BZOJ过不了,优化常数后别的OJ速度快一倍BZOJ还是过不了. #include<cstdio> #include<algorithm> #define rep(i,l,r) for (int i=(l);…
题目描述 dC 在秒了BZOJ 上所有的数论题后,感觉萌萌哒,想出了这么一道水题,来拯救日益枯竭的水题资源.  给定一个长度为 n的正整数序列A,有q次询问,每次询问一段区间内所有元素乘积的φ(φ(n)代表1~n 中与n互质的数的个数) .由于答案可能很大,所以请对答案 mod 10^6 + 777. (本题强制在线,所有询问操作的l,r都需要 xor上一次询问的答案 lastans,初始时,lastans = 0)  输入 第一行,两个正整数,N,Q,表示序列的长度和询问的个数. 第二行有N…
链接 题意:给定长度为 \(n\) 的序列 A,每次求区间 \([l,r]\) 的乘积的欧拉函数 题解 考虑离线怎么搞,将询问按右端点排序,然后按顺序扫这个序列 对于每个 \(A_i\) ,枚举它的质因数,由于不同的质因数只算一次,所以我们只关心每个质数它最后一次出现的位置,开一棵线段树维护一下每个位置的质数,加入新的质数时,先把之前的删掉,再加新的 现在强制在线,可以开可持久化线段树维护一下 #include<bits/stdc++.h> #define REP(i,a,b) for(int…
dC Loves Number Theory 题目大意:dC 在秒了BZOJ 上所有的数论题后,感觉萌萌哒,想出了这么一道水题,来拯救日益枯竭的水题资源. 给定一个长度为 n的正整数序列A,有q次询问,每次询问一段区间内所有元素乘积的φ(φ(n)代表1~n 中与n互质的数的个数) .由于答案可能很大,所以请对答案 mod 10^6 + 777. (本题强制在线,所有询问操作的l,r都需要 xor上一次询问的答案 lastans,初始时,lastans = 0) 数据范围:1<=N<=50000…
(这篇我就不信有网站来扣) 这个暑假打算刷刷题啥的 但是写博客好累啊  堆一起算了 隔一段更新一下.  7月27号之前刷的的就不写了 , 写的累 代码不贴了,可以找我要啊.. 2017.8.27update : 开学了终于搞到了550  可还行 *数据结构 *可持久化线段树/主席树 *bzoj3932 [CQOI2015] 任务查询系统 : 比较裸的主席树,任务查分一下就好了  cqoi真良心 *bzoj4026 dC Loves Number Theory :  数论个头啊,对每个数分解质因数…
不知道为什么要把这两个没什么关系的算法放到一起写...可能是都很黑科技? 1.线段树分治 例题:bzoj4026 二分图 给你一个图,资瓷加一条边,删一条边,询问当前图是不是二分图 如果用 LCT 的话我们要维护关于删除时间的最大生成树,然后每进来一条边判断奇环,就很难写 线段树分治可以很好的解决这种有插入有删除单点询问的问题 如果没有加入边和删除边的操作,显然我们可以用带权并查集判断奇环解决 然后我们就要考虑怎么把带加入和带删除的问题转换成没有加入和删除的问题 我们记一下每条边存在的时间区间,…