2021牛客多校第一场
Gone_Summer
这个作者很懒,什么都没留下…
展开
-
2021牛客多校第一场A
题意:两人博弈,Alice先手,Bob后手,每次一个人从一堆中拿k个,同时从另一堆拿k*s个(k>0,s>=0),先不能拿的就输了,输出谁必赢 当时没想出来,听了讲解,嗯 显然,(0,0)为Alice必输,那么对于每一个必输点(a,b),(a+k,b+s*k)和(a+s*k,b+k)均为必赢点,所以构造一个bool的二维数组代表谁输,谁赢,只要以一个必输点入手,以后二次循环找出所有必输点即可 有点类似于之前用数组找出所有素数 嗯,我是废物 代码: #include <bits原创 2021-09-15 11:50:12 · 96 阅读 · 0 评论 -
2021牛客多校第一场G
题意: 给你两个长度均为n的序列ai,bi,要求你交换的一个序列K次使得值最大。 啊,这个贪心,真的好难想 首先,我们先不考虑交换,计算abs(ai-bi)的和,然后如果我们要将ai,bi,aj,bj进行一次交换,也就是将 max(ai,bi)-min(ai,bi)+max(aj,bj)-min(aj,bj) 变成 max(ai,bi)-min(aj,bj)+min(ai,bi)-max(aj,bj) 那么就需要在原来的sum上加上2*(min(ai,bi)-max(aj,bj)) 所...原创 2021-09-15 22:47:28 · 123 阅读 · 0 评论 -
2021牛客多校第一场H
题意:给你 n nn 个数,找出一个数 x xx(可以不在这些数之中),让这 n nn 个数对 x xx 取模互不相等 先学fft:十分简明易懂的FFT(快速傅里叶变换)_路人黑的纸巾-CSDN博客_fft B站有个视频我觉得讲的不错:快速傅里叶变换(FFT)——有史以来最巧妙的算法?_哔哩哔哩_bilibili 代码: #include <bits/stdc++.h> using namespace std; const int N = 5000010; const double P原创 2021-09-20 11:20:44 · 98 阅读 · 0 评论