摘要:
B题 暴力题,通过维护数组表示在i位置能够取到数的大小 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=2e5+10; int l[N]; vector<int> num[N]; int a 阅读全文
摘要:
这道题求取的本质是二进制不进位加法的队数,因此模型比较常见,因为我们不太会维护有下界的数位dp 所以往往使用容斥原理变成无下界的dp #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll, 阅读全文
摘要:
暴力的做法就是枚举每一位选什么,但是过于暴力,我们只需要记忆化搜索一下,表示之后的有没有算过即可 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=5e5+10; const int mod= 阅读全文
摘要:
比较容易看的出来的是这题求得是最小公倍数的最大值 然后我们可以发现一定是选不同质数的次幂,因此每个质数的次幂就是一个集合,因此只需要跑一下分组背包就可以了 #include<bits/stdc++.h> using namespace std; typedef long long ll; const 阅读全文