首页 > 比赛安排
头像 嘤嘤世界第一可爱
发表于 2026-02-05 18:00:03
牛客寒假营第二场题解 签到:A easy:B、I mid:E、F、H hard:J 防AK:C、D、G shit:B、G 前言 好难! 好难好难!! 好难好难好难好难!!!! 好难好难好难好难好难好难好难好难!!!!!!!! B很坑,WA了4发才过,H一开始数据错了,爆了long long,但是验 展开全文
头像 Anoth3r
发表于 2026-02-05 18:35:03
由于牛客的渲染问题,你可以点此链接进入我的博客查看 个人难度评级 签到: 简单: 中等: 困难: A 比赛安排 等价于我们把三种比赛分成一组,如 ,最后的结果一定是 ,所以我们检查是否满足 即可 void solve() { ll a, b, c; cin >> a 展开全文
头像 雨西湖y
发表于 2026-02-12 22:11:01
这里是A,B,I,F,H,E的个人想法 A 对于任意连续的3场比赛的类型互不相同,即三种比赛当且仅当以abcabc的方式进行,换句话说,最少和最多的比赛场次不能差超出1 代码展示 #include<bits/stdc++.h> using namespace std; int main( 展开全文
头像 _breeze_
发表于 2026-02-06 20:54:13
题目:给一个整数n,在满足 gcd(𝑥,𝑦)=𝑛,𝑥≠𝑦且1≤𝑥,𝑦<263的基础上,使得x⊕y最小。 知识点:数学 思路: 首先x=na,y=nb,gcd(a,b)=1,|a-b|>=1,因为n|a-b|>=n,即|x-y|>=n,又因为|x-y|<=x 展开全文
头像 远翼
发表于 2026-02-06 22:22:29
解题思路 这条题目很简单,比B题简单了多少倍。要是改成只能直线行走就阴间了。直接看0或者1的数量是否大于1就可,大于1则一定存在回文。 注意事项 这题卡endl是我没想到的,估计我代码也有点冗余了,还有注意是字符串数组而不是数字,那个m没有用。 代码示例 ">using namespace std; 展开全文
头像 银当taki
发表于 2026-02-07 12:39:22
A 思维 三种东西,构造一个序列,让连续三个元素都不同。 每次选三个东西接到序列末尾,每次的三个东西的排列都相同,最后一轮可以不满三个。这样则受限于,如果差距过大,一个用完了,另一个还有超过一个,就不行。 void solve() { vi a(3); for (int &x : a) 展开全文
头像 牛客WR255030
发表于 2026-02-06 09:38:15
本题是要求出x与y满足所给的gcd(x,y)==n并且x^y要最小。我们从样题发现x^y=gcd(x,y)=n,有异或运算公式x^y=n推导出x^n=y。易知x、y是n的倍数,令y=x+n,又有公式x+n=x^n+2*(x&n),那么只有在(x&n)为0时才成立。n是在int范围里面 展开全文
头像 泽川_
发表于 2026-02-06 14:07:51
1.比赛安排 本题主要内容:将abc三种比赛合理排序,保证对于任意连续的 3 场比赛的类型互不相同,是否有这样的排列方式。 仔细思考,要想任意连续的 3 场比赛的类型互不相同,其主要结构就是abc abc abc ......(abc循环,此时a 展开全文
头像 牛客WR255030
发表于 2026-02-06 17:11:00
本题要求算所有子串的权值和。我们发现:所谓的权值是由子串中数字种类多少决定的。我们可以将一种数字对所在子串的权值影响称为“贡献”。一种数字如果在一个子串出现多次,只有第一次出现的有贡献。子串中的数字对子串贡献只有对从其往后有贡献,其实就是一个等差数列求和。我们可以总结:只要一一算出每个数的贡献就可以 展开全文
头像 mayyya
发表于 2026-02-12 21:23:52
首先观察样例可以猜出x⊕y最小值为n,下面给出证明。由于异或运算可以看成是不带退位的减法,所以|x−y|<=x⊕y。又由于gcd(x,y)=n,所以x,y可分别看成n* a,n* b,a,b需互质所以,|x−y|=|a-b|*n,a,b互质最小差值为1。所以得证x⊕y最小值为n。 对于如何构造 展开全文

等你来战

查看全部