[BZOJ 4488][Jsoi2015]最大公约数】的更多相关文章

[Jsoi2015]最大公约数 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 302  Solved: 169[Submit][Status][Discuss] Description 给定一个长度为 N 的正整数序列Ai对于其任意一个连续的子序列{Al,Al+1...Ar},我们定义其权值W(L,R )为其长度与序列中所有元素的最大公约数的乘积,即W(L,R) = (R-L+1) ∗ gcd (Al..Ar). JYY 希望找出权值最大的子序列…
Description 给定一个长度为 N 的正整数序列Ai对于其任意一个连续的子序列 {Al,Al+1...Ar},我们定义其权值W(L,R )为其长度与序列中所有元素的最大公约数的乘积,即W(L,R) = (R-L+1) ∗ gcd (Al..Ar). JYY 希望找出权值最大的子序列. Input 输入一行包含一个正整数 N. 接下来一行,包含 N个正整数,表示序列Ai 1 < =  Ai < =  10^12, 1 < =  N < =  100,000 Output 输出…
传送门 不知谁说过一句名句,我们要学会复杂度分析 #include <bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i=a;i<=b;++i) #define fd(i,a,b) for(int i=a;i>=b;--i) ; typedef long long ll; inline ll gi() { ll x=; char o; bool f=true; for(;!isdigit(o=getcha…
Description 给定一个长度为 N 的正整数序列Ai对于其任意一个连续的子序列{Al,Al+1...Ar},我们定义其权值W(L,R )为其长度与序列中所有元素的最大公约数的乘积,即W(L,R) = (R-L+1) ∗ gcd (Al..Ar). JYY 希望找出权值最大的子序列. Input 输入一行包含一个正整数 N.接下来一行,包含 N个正整数,表示序列Ai1 < =  Ai < =  10^12, 1 < =  N < =  100,000 Output 输出文件包…
4472: [Jsoi2015]salesman Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 417  Solved: 192[Submit][Status][Discuss] Description 某售货员小T要到若干城镇去推销商品,由于该地区是交通不便的山区,任意两个城镇 之间都只有唯一的可能经过其它城镇的路线. 小T 可以准确地估计出在每个城镇停留的净收 益.这些净收益可能是负数,即推销商品的利润抵不上花费.由于交通不便,小T经过每个…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4484 每个点上存一下它到每个点的连通性.用 bitset 的话空间就是 \( \frac{n^2}{8} \) 左右. 按拓扑序从大到小枚举每个点.对于每个点判断它的哪些出边能删.然后就不太会了. 其实它的出边也不是都是等价的.连向 “拓扑序较小的点” 的出边价值更高.因为能删边的情况是 u->x->v && u->v . 所以按指向的点拓扑序递增的顺序枚举出边,用…
显然若右端点确定,gcd最多变化log次.容易想到对每一种gcd二分找最远端点,但这样就变成log^3了.注意到右端点右移时,只会造成一些gcd区间的合并,原本gcd相同的区间不可能分裂.由于区间只有log个,暴力即可. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm>…
一个点,设f[u]为要取最大值显然是前最大停留次数-1个儿子的正数f和,排个序贪心即可 判重的话就是看没选的里面是否有和选了的里面f值相同的,有的话就是一.注意在选的时候要把加进f的儿子的g合并上去 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; const int N=100005; int n,a[N],b[N],h[N],cnt,c[N],tot,f[N],g…
首先很容易计算对于一个如意郎君列表里有x个男性的女性,编号排第i位的男性被选的概率是 \[ p*(1-p)^{i-1}+p*(1-p)^{i-1+n}+p*(1-p)^{i-1+n}+- \] \[ =p*((1-p)^{i-1}+(1-p)^{i-1+n}+(1-p)^{i-1+n}+-) \] 然后我就不会了-- 然后发现有个神奇的东西叫无限等比数列求和公式,只适用于公比绝对值小于1的情况: \[ a1+a1*q+a1*q^2+--+a1*q^{inf} \] \[ =\frac{a1-a1…
思路: 一开始 我是想 对于固定的左端点 从左到右 最多有 log种取值  且单调递减  那不妨倍增预处理+二分GCD在哪变了.. 复杂度O(nlog^2n) gcd最多log种取值.. 好了我们可以暴力了... 复杂度O(nlogn) //By SiriusRen #include <cstdio> #include <algorithm> using namespace std; typedef long long ll; int cases,n,top,temp; ll xx…