首页 > 其他 > 详细

数据构造方法

时间:2021-05-29 09:13:45      阅读:22      评论:0      收藏:0      [点我收藏+]

以最大连续子序列和算法为例。

算法源代码:

 1 #include<bits/stdc++.h>
 2 #define N 1000000
 3 using namespace std;
 4 
 5 int n;
 6 int a[N],dp[N];
 7 int MAXN=-(1<<30);
 8 
 9 int main(){
10     freopen("data.out","r",stdin);//重定向 
11     cin>>n;
12     for(int i=1;i<=n;i++){//读入数据 
13         cin>>a[i];
14     }
15     dp[1]=a[1];//边界 
16     for(int i=2;i<=n;i++){//核心代码 
17         dp[i]=max(a[i],dp[i-1]+a[i]);//状态转移方程 
18         MAXN=max(MAXN,dp[i]);//更新最优解 
19     }
20     cout<<MAXN;
21     return 0;
22 }

数据生成代码(生成-50~49之间随机数据)

 1 #include<bits/stdc++.h>
 2 #define N 1000000 //数据规模(可调) 
 3 using namespace std;
 4 int main (){
 5    freopen("data.out","w",stdout);//重定向 
 6    int i,j;
 7    srand( (unsigned)time( NULL ) );//随机数种子 
 8    cout<<N<<endl;
 9    for(i=1;i<N;i++){//生成随机数 
10       j= rand()%100-50;
11       cout<<j<<" ";
12    }
13    return 0;
14 }

注意:

1.两个代码中重定向的文件名称要保持一致,且两个cpp文件在同一文件夹下。

2.使用时先执行下面代码,再执行上面代码,即可输出结果,打开重定向文件可查看生成数据。

数据构造方法

原文:https://www.cnblogs.com/Wag-Ho/p/14824066.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!