摘要:
题意:给出n个数,这些数代表的是所占用的内存 每一个内存都有一个重要值; 给定一个值m,让我们在重要值消耗最少的情况下,至少腾出m内存 求此重要值 思路:二分 题目给出的重要值,只有1跟2,所以可以把1跟2分别置于不同的数组,并且将每个数组按从大到小排序 然后直接跑二分。 二分check部分,从小到 阅读全文
摘要:
题意:给出一个1e18范围内的数,让我们对其尽心质因数分解; 求出质因数的最小指数,如18分解后为2*3*3,那么有指数1(2的1次方),指数2(3的2次方) 思路:因为给出的数的范围有点大,所以想要直接进行暴力是不可能的; 但是可以发现,当质数较大的时候,指数是很小的,如当某个数为1e4的时候,想 阅读全文
摘要:
题意:给出n个矿石,每个矿石有编号和价值 让我们求出如何融合矿石,才能使最后的价值最大(要满足所选择的矿石的编号异或之后不为0); 思路:根据线性基的性质 快速查询一个数是否可以被一堆数异或出来 快速查询一堆数可以异或出来的最大/最小值 快速查询一堆数可以异或出来的第k大值 原数列里的任何一个数都可 阅读全文
摘要:
题意:给出m个开关,这m个开关可以控制这n盏灯 具体控制方式会再给出,题目中以OX方式来表示是否能控制第K盏灯 思路:题目中给出的n的范围是到50,也就是说,在LL的范围之内 我们把每一个开关控制的情况转换成数字,然后直接计算最多异或出来的数目 最后答案即为:2的(最多数目)的次方 1 #inclu 阅读全文
摘要:
题意:有n个数,让我们求出有多少个 个数 恰好为m的集合,并且最大值最小值相差小于等于k的集合个数 思路:对原本的数组进行排序,然后从1到n暴力枚举一遍即可; 在暴力枚举的时候,规定当前位置的数字必须在集合当中(能够防止重复计算); 另外,这道题在计算的时候,需要用到组合数和逆元的知识点 1 #in 阅读全文
摘要:
题意:给出n个点,m条无向边,一个数字S 求:完全图(团)大小为S的个数 思路:直接暴力即可,然后在边缘条件剪纸 为了避免重复情况,我们对于每条边的建边方式为:小往大建边 然后分别从1~n开始枚举 这样子的操作,就能让有1顶点的枚举1~n 有2顶点的枚举2~n 有3顶点的枚举3~n 1 //#pra 阅读全文
摘要:
https://blog.csdn.net/qq_43857314/article/details/112386522 阅读全文
摘要:
手算前7项 1/2,1/4,2/8,3/16,5/32,8/64…分子斐波那契,分母2^n 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn=2e5+10; 5 cons 阅读全文
摘要:
题解链接:https://blog.csdn.net/qq_44607936/article/details/112300338 题意 给出x , y x, yx,y相邻的定义:如果l c m ( x , y ) g c d ( x , y ) \frac{lcm(x,y)}{gcd(x,y)}gc 阅读全文
摘要:
1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn=1e5+10; 5 const ll mod=1e9+7; 6 ll f[maxn]; 7 ll quick(ll a, 阅读全文