摘要:
题意:有一个正整数$n$,从$1,2,3,...,n-1,n$中找两个数异或,使得他们的值最大. 题解:需要特判当$n=1$的情况,答案只能是$0$,然后写个几组数不难发现,一定存在两个数使得他们异或后的二进制上每一位都是$1$,直接模拟即可. 代码: #include <iostream> #in 阅读全文
摘要:
题意:有一长度为$n$的数组,求该数组中有多少元素不能整除其它任一元素的个数. 题解:刚开始写了个分解质因数(我是傻逼),后来发现直接暴力枚举因子即可,注意某个元素出现多次时肯定不满足情况,再特判数组中存在$1$的情况即可. 代码: #include <iostream> #include <cst 阅读全文
摘要:
题意:有长度为$n$的数组$a$,要求构造一个相同长度的数组$b$,使得${b_{1},b_{2},....b_}$集合中没有出现过的最小的数是$a_$. 题解:完全可以按照题意直接构造,但是比较麻烦,这里我们先标记原数组中的数,然后将原数组中没出现过的数存进$b$中($a$中出现的数在$b$中不能 阅读全文
摘要:
题意:有一长度为$n$的数组,求一子序列,要求子序列中两两差的绝对值最大,并且子序列尽可能短. 题解:将数组看成坐标轴上的点,其实就是求每个单调区间的端点,用差分数组来判断单调性. 代码: #include <iostream> #include <cstdio> #include <cstring 阅读全文
摘要:
题意:有一个长度为$n$的数组,找一段最长子数组,使得其元素和为$x$,如果存在,输出子数组的长度,否则输出$-1$. 题解:这题我们要从元素和$sum$来考虑,首先,如果原数组的所有元素都被$x$整除,那么条件不成立. 假如原数组的$sum$不被$x$整除,那么长度就为$n$,如果被$x$整除 阅读全文