USACO6.3.3 Cowcycles(cowcycle)
来源:互联网 发布:魔兽中机械宠物矩阵 编辑:程序博客网 时间:2024/05/16 13:42
dfs,重点在优化上,需要注意的都写到代码里了
/*ID:xsy97051LANG:C++PROG:cowcycle*/#include <iostream>#include <cstdio>#include <algorithm>using namespace std;#define MAXF 10#define MAXR 20+2int ansF[MAXF];//答案Fint ansR[MAXR];//答案Rint dfsF[MAXF];//搜索Fint dfsR[MAXR];//搜索Rdouble rate[MAXF*MAXR];//比率double diff[MAXF*MAXR];//差值int F,R,F1,F2,R1,R2,cnt;double minV;//最小方差void Update()//排序并且计算{ double tmp,sum=0,variance=0,average; int c=0; for(int i=0;i<F;i++)//计算比率 for(int j=0;j<R;j++) rate[c++]=dfsF[i]*1.0/dfsR[j]; for(int i=0;i<cnt-1;i++)//插入排序 for(int j=i+1;j>0;j--) if(rate[j-1]>rate[j]) { tmp=rate[j-1]; rate[j-1]=rate[j]; rate[j]=tmp; } for(int i=0;i<cnt-1;i++)//计算差值 { diff[i]=rate[i+1]-rate[i]; sum+=diff[i]; } for(int i=0;i<cnt-1;i++) variance+=diff[i]*diff[i]; average=sum/(cnt-1); //计算方差 variance=variance-average*sum; if(minV>variance)//更新数据 { minV=variance; for(int i=0;i<F;i++) ansF[i]=dfsF[i]; for(int i=0;i<R;i++) ansR[i]=dfsR[i]; }}void DFS_R(int r,int start){if(r==R)//最大传动至少为最少传动的3倍{ if(dfsR[0]*dfsF[0]*3<=dfsR[R-1]*dfsF[F-1]) Update(); return; } for(int i=start;i<=R2-R+r+1;i++) { dfsR[r]=i; DFS_R(r+1,i+1); }}void DFS_F(int f,int start){if(f==F){ DFS_R(0,R1); return; }for(int i=start;i<=F2-F+f+1;i++) { dfsF[f]=i; DFS_F(f+1,i+1); }}int main(){ freopen("cowcycle.in","r",stdin); freopen("cowcycle.out","w",stdout); cin>>F>>R>>F1>>F2>>R1>>R2; minV=1e10; cnt=F*R; DFS_F(0,F1); for(int i=0;i<F-1;i++) cout<<ansF[i]<<" "; cout<<ansF[F-1]<<endl;; for(int i=0;i<R-1;i++) cout<<ansR[i]<<" "; cout<<ansR[R-1]<<endl; return 0;}
0 0
- USACO6.3.3 Cowcycles(cowcycle)
- usaco6.3.3 Cowcycles
- Cowcycles
- usaco-cowcycle
- Section 4.2 cowcycle
- USACO 4.2.4/cowcycle
- usaco 4.2 Cowcycles
- usaco 4.2.4 Cowcycles
- USACO Cowcycles 解题报告
- USACO 4.2 cowcycle 搜索 DFS
- USACO Section 4.2 Cowcycles - 枚举~
- usaco 4.2 Cowcycles(搜索+剪枝)
- USACO6.3.2 Cryptcowgraph(cryptcow)
- usaco6.1.1 Postal Vans
- usaco6.1.3 Cow XOR
- usaco6.2.1 Calf flac
- usaco6.2.2 Packing Rectangles
- usaco6.2.3 Shaping Regions
- libjson编译和使用
- springMVC freemarker实现页面静态化
- 成功的家长必须知道的三十三句话
- codeforces 510D Fox And Jumping
- 【读书笔记】从现在开始就写博客
- USACO6.3.3 Cowcycles(cowcycle)
- HDU 3853 LOOPS(概率dp求期望啊)
- 计算机网络(2)——电路交换 报文交换 分组交换
- matlab中如何创建使用构架数组?
- hdu 5106 同余定理+组合数学+快速幂
- 初识Servlet和JSP
- Linux快捷键
- (十二)UITableView的基本使用
- No XPathFctory implementation found for the object model: http://java.sun.com/jaxp/xpath/dom