c/ C - Sumsets

2023-12-27 03:09
文章标签 sumsets

本文主要是介绍c/ C - Sumsets,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

用递归写的,然后超时了,知道应该去找规律,可是。。。。没找到尴尬

C - Sumsets

1) 1+1+1+1+1+1+1
2) 1+1+1+1+1+2
3) 1+1+1+2+2
4) 1+1+1+4
5) 1+2+2+2
6) 1+2+4

递归的码

#include <iostream>using namespace std;
int dou[25];
int num;
void findd(int n,int i)
{int  y=n/dou[i];if(dou[i]>n)return ;for(int j=y;j>=0;j--){ int  x=dou[i]*j;if(x+dou[i+1]==n||x==n){  num++;}elsefindd(n-x,i+1);}return;
}
int main()
{int n;for(int i=1,j=0;i<=1000000;i=i*2,j++)dou[j]=i;cin>>n;findd(n,0);cout<<num;return 0;
}



//然后大神找的规律

#include <iostream>
#include<cstring>
using namespace std;
int dou[25];
int num[25];
const int maxn=1000010;long long dp[maxn];
int main()
{int n;while(cin>>n){dp[0]=1;dp[1]=1;for(int i=2;i<=n;i++){if(i%2!=0)dp[i]=dp[i-1]%10000000000;//还不不懂这个100000000的意义所在elsedp[i]=(dp[i/2]+dp[i-1])%1000000000;}  cout << dp[n]<< endl;}return 0;
}



这篇关于c/ C - Sumsets的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/541714

相关文章

10125-Sumsets【暴力】

利用n^2的时间枚举所有a[i] + a[j] 利用n^2的时间枚举所有a[i] - a[j] 之后利用n^2时间一个一个找a[i] - a[j]的值是否存在于a[i] + a[j]中 找的时候需要二分查找 另外一点就是注意long long的范围以及四个数是集合内不同的四个元素 15222638 10125 Sumsets Accepted C++ 0.449 2015-03-

uva10125 Sumsets

看似简单的题,其实要求考虑的非常严密 首先如果枚举a,b,c再判断d的话肯定超时,即使用hash存d也一样,解决办法是根据a+b=d-c先把所有d-c的值用hash存起来,再枚举所有a+b,这样枚举量就减小到1000*999了。 然后,每组a,b和每组c,d都必须考虑,不能先排序再枚举1000*999/2,因为d不一定是四个数字中最小的。 最后,当a+b==d-c时,还必须判断他们互不相等。

POJ - 2229 Sumsets (动态规划)

题目连接 很巧妙的一道题,需要找到奇偶数的递推关系。 1、当N为奇数时:d[N] = d[N-1]; 2、当N为偶数时:d[N] = d[N-1] +d[N/2]; #include <iostream>#include <cstdio>using namespace std;const int MAX_N = 1000001;int d[MAX_N];int main()

UVa 10125 - Sumsets

题目链接: UVa : http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=1066 poj :   http://poj.org/problem?id=2549 类型: 哈希, 二分查找 原题: Given

POJ 2549---Sumsets(二分枚举)

传送门:http://poj.org/problem?id=2549 Description Given S, a set of integers, find the largest d such that a + b + c = d where a, b, c, and d are distinct elements of S. Input Several S, each consisting