Acwing蓝桥杯集训·week4
摘要:
AcWing 5589. 哞语言逻辑 大模拟,思路简单,但是实现时要注意代码写的不要混乱,严格执行思路 and优先级高于or,所以可以讲连着的and分成一块,然后统计0,1的数量前缀和,减少时间复杂度 更多细节:视频题解 代码来源以及注释 点击查看代码 #include<bits/stdc++.h>
Acwing蓝桥杯集训·题解week3
摘要:
炮弹 按照题意模拟: 注意两点: 1.死循环,如果存在两个能量为0跳板,就会互相弹跳,停不下来,设置一个合理的循环上限,防止超时 2.时间复杂度:在最坏的情况下 k最开始为1,跳n次,k为2时,跳2/n次..... 所以在最坏的情况下时间复杂度\(O(\sum_{i=1}^{n}\frac{n}{i
牛客周赛 Round 84(选讲
摘要:
F/G 题意很明确让我们计算所有排列的陡峭值得期望 对于一个排列,它对答案的贡献是∑n−1i=1|ai−ai+1|n! 如果这时顺着题目的思路,找出每一个排列,然后计算每一个排列对答案的贡献,必然超时,时间复杂度达到了O(n!n) 所以我们
Acwing蓝桥杯集训·题解 week2
摘要:
农夫约翰最喜欢的操作 分几步来: 要满足a_i-x整除x 转化一下为,即满足a_i \equiv x \pmod M ,所以预处理,a_i=a_i \mod M 由第一步,我们可以知道x\in (0,M-1) 根据题意我们所求值 \(val=\sum_{i=1
Acwing蓝桥杯集训·题解 week 1
摘要:
农夫约翰的奶酪块 抽取一个方块之后,记录对于其所在行,列,竖的数量加+1 如果有行,列,竖的数量达到了n,则说明可以插入一个1*n的块 所以对答案贡献加+1 而我们注意到同一行的,列,竖坐标相同。相同的列,竖以此类推 点击查看代码 #include<bits/stdc++.h> using name
牛客周赛 Round 82
摘要:
A 当且仅当首尾相同 中间与首尾相同也可以 BC B,C唯一的区别就是对排序的时间复杂度要求不同 很经典的题 不同的窗口不能同时关闭,否则不能被拍照,而瞬移拍照不需要时间,所以只需要数组中能严格递增就行,然后需要排序, C 排序的同时,携带每个元素在原数组中的位置 B 点击查看代码 #include
牛客寒假训练营赛后总结
摘要:
总结 做了挺多题做个总结 模拟类 模拟也分小模拟,大模拟 小模拟按照题意模拟即可 大模拟更难,需要一些技巧 必要时使用一些算法更快地实现 算法类 通常需要特定的算法,例如:达到指定的复杂度,二分 (logn) 或者复杂度优化技巧:双指针,前缀和,差分,后缀指针 答案类 这种题只要求你输出答案
牛客小白月赛110
摘要:
A 模拟 点击查看代码 #include<bits/stdc++.h> using namespace std; int n; int main(){ cin>>n; int cnt=0; while(n>500){ ++cnt; n-=500; } char c='A'+cnt; string s
2025牛客寒假算法基础集训营6
摘要:
A 复制的数增加到原数之后,说明连续相同的数有几段,原数就有多少个数字 点击查看代码 #include<bits/stdc++.h> using namespace std; int n; int t; const int maxn=1e5+10; int b[maxn]; map<int,int>
Codeforces Round 1003 (Div. 4)
摘要:
preface 前五道还是很好想,第三和第四道代码不好写(可能是很久没写这种题了),第五道可能熬夜脑壳炸了 A 将末尾的us换成i B 如果两个字符相同且相邻,那么就可以改变前一个,抹除后一个 很容易想到从某个位置有两个相同的之后,之后的都可以被抹除 但很快你也能想到,抹除最后一个时,前一个可以和前