建立一个企业网站需要花多少钱,做直播网站需要多少钱,做网站 要域名 主机 还有啥,网站右侧返回顶部Problem - A - Codeforces
n个约束条件 a x 求出满足n个约束条件的整数的个数
大于等于x#xff0c;取最大的 小于等于x#xff0c;取最小的 然后不等于x的#xff0c;记录在区间范围内的个数#xff0c;减去这些
#includebits/stdc.h
#define endl \n
#define …Problem - A - Codeforces
n个约束条件 a x 求出满足n个约束条件的整数的个数
大于等于x取最大的 小于等于x取最小的 然后不等于x的记录在区间范围内的个数减去这些
#includebits/stdc.h
#define endl \n
#define int long long
using namespace std;
int n;
void solve() {cinn;vectorintans;int l0,r2e9;for(int i0;in;i){int a,x;cinax;if(a1) lmax(l,x);else if(a2) rmin(r,x);else ans.push_back(x);}int sumr-l1;if(sum0){cout0endl;return;}int cnt0;for(auto v:ans){if(vlvr) cnt;}coutsum-cntendl;
}
signed main() {ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t1;cint;while(t--) {solve();}return 0;
}
Problem - B - Codeforces
长度为n的数组a 操作Alice删除最多k个元素然后Bob最多将x个元素乘以-1 Alice想要全部数之和最大Bob想要全部数之和最小
Bob肯定是尽可能的从大到小尽可能多的乘以-1暴力枚举Alice删除的个数从大的开始删
#includebits/stdc.h
#define endl \n
#define int long long
using namespace std;
const int N2e510;
int a[N];
int pre[N];
int n,k,x;
void solve() {cinnkx;int sum0;memset(pre,0,sizeof pre);for(int i1;in;i) cina[i],suma[i];sort(a1,a1n);for(int i1;in;i) pre[i]pre[i-1]a[i];int ans-2e9;for(int i0;ik;i){//枚举删除i个int rn-i;//[r1,n]删除int lmax((int)1,r-x1);//[l,r]全变成-1ansmax(ans,sum-2*(pre[r]-pre[l-1])-(pre[n]-pre[r]));}coutansendl;
}
signed main() {ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t1;cint;while(t--) {solve();}return 0;
}
Problem - C - Codeforces 对于xyxymod m等价于x-ymod m0即如果m是|x-y|的因子那么xy在模m的意义下同余
所以对于某个k值k是n的因子一个一个枚举即可如果存在m大于等于2满足a1a1ka12 * k...在模m的意义下同余a2a2ka22 * k...在模m的意义下同余...那么k就是一个合法解答案就加1也就是说每隔k个的在模m的意义下同余所以直接从头遍历看其和其后第k个即可然后都是模m等于0所以m需要是它们所有的公因数故求一个最大公因数如果大于等于2的话就可以
还一种情况就是每隔k个数都相等那么最大公因数就是0也是可行的 trick 1.对于xyxymod m等价于x-ymod m0即如果m是|x-y|的因子那么xy在模m的意义下同余 2.a1a1ka12 * k...在模m的意义下同余a2a2ka22 * k...在模m的意义下同余...也就是说每隔k个的在模m的意义下同余所以直接从头遍历看其和其后第k个是否同余即可由于都是模m为0所以m是每差k个的两数之差的绝对值的公因数 3.gcdab令a等于0那么结果就是b所以求很多数的最大公因数时可以初始化为0这样比较好 4.当所有数都等于x时如果初始化为0的话对它们求gcd为0如果初始化为其中一个数时那么对它们求gcd则为 #includebits/stdc.h
#define endl \n
#define int long long
using namespace std;
const int N2e510;
int a[N];
int n;
int gcd(int a,int b){if(b0) return a;return gcd(b,a%b);
}
void solve() {cinn;for(int i1;in;i) cina[i];int ans0;for(int k1;kn;k){//枚举kif(n%k0){int tmp0;for(int i1;ikn;i){tmpgcd(tmp,abs(a[ik]-a[i]));}if(tmp2||tmp0) ans;}}coutansendl;
}
signed main() {ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t1;cint;while(t--) {solve();}return 0;
}