首页 > 祥子拆团
头像 liaoyichen
发表于 2024-06-09 20:03:31
输入 。 这是一篇爆搜优化题解。 我们考虑 是把正整数 有顺序分解为 个大于 的正整数之积的方案数。 这个直接每次 枚举大于 的 使得 是 的因数,然后把 加上即可,边界是 时为 , 时为 ,记得记忆化搜索。 统计答案,首先把 变为 ,(例如 12 = 2 * 2 * 3,质 展开全文
头像 mipha™
发表于 2024-06-09 21:03:16
A 乐奈吃冰 。。。 a,b = map(int,input().strip().split()) print(a + min(a // 2,b)) B 素世喝茶 。。。 n,x = map(int,input().strip().split()) a = list(map(int,input() 展开全文
头像 zhaomumu
发表于 2024-06-09 22:12:22
我太菜了,只会做后两题 题目大意 给你一个数 ,求把它拆成 个整数乘积的方案数。 具体做法 把 质因数分解 枚举每一个质因数,把第 个因数的个数 拆成 个数的和共有 种方案,最后全部相乘。 注意事项 在计算组合数的时候,不能直接用 这条公式,会超时。要优化成 由于有模数,所以 展开全文
头像 itsKusoul
发表于 2024-06-11 18:15:23
这里主要写写独立性的感性理解证明,方便理解: 让我们来看一个例子(当x=216,y=2时) 216分解后为:2*2*2*3*3*3 独立性证明: 2 | 2 2 3 3 3 | 3 3 | 3 | 3 3 3 展开全文
头像 XuanCai
发表于 2024-06-11 22:34:18
AC代码 using namespace std; #define int long long #define eps 1e-15 signed main(){ int s; scanf("%lld", &s); for(int i = sqrt(2*s) ; i 展开全文
头像 XuanCai
发表于 2024-06-13 16:14:12
using namespace std; #define MAN 100010 int val[MAN]; int b[MAN]; bool vis[MAN]; bool vis1[MAN]; void solve(){ int n ; cin >> n; memset( 展开全文

等你来战

查看全部