HDU 4723 How Long Do You Have to Draw
2013-09-12 18:40
411 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4723
这个题目要求的是最多的三角形,其实只要所有点都连了基本上就是最大了,我们要考虑的主要是最小
想想要想最大的话每个点都一定会连,而且一定是从左向右,因为不能相交嘛,那么就想办法使总长度最小
首先毫无疑问的是第一个点一定与第一个点相连,然后看程序中的while循环,下面的步骤要么是x++,要
么是y++,那么就根据下一步的链接情况来判断,要没是x与y+1连接,要么是x+1,与y连接,两种情况
选择最优,最后考虑结束的特殊情况!
这个题目要求的是最多的三角形,其实只要所有点都连了基本上就是最大了,我们要考虑的主要是最小
想想要想最大的话每个点都一定会连,而且一定是从左向右,因为不能相交嘛,那么就想办法使总长度最小
首先毫无疑问的是第一个点一定与第一个点相连,然后看程序中的while循环,下面的步骤要么是x++,要
么是y++,那么就根据下一步的链接情况来判断,要没是x与y+1连接,要么是x+1,与y连接,两种情况
选择最优,最后考虑结束的特殊情况!
#include <stdio.h> #include <cmath> #define maxn 100010 double a[maxn],b[maxn],up,down,ans,g; int n,m,x,y; int main(){ int i,j,k,t,cas=0; scanf("%d",&t); while(t--){ ans=0; scanf("%lf%lf",&up,&down); g=(up-down)*(up-down); scanf("%d%d",&n,&m); for(i=0;i<n;i++) scanf("%lf",&a[i]); for(i=0;i<m;i++) scanf("%lf",&b[i]); x=0,y=0; while(x<n && y < m){ ans+=sqrt(g+(a[x]-b[y])*(a[x]-b[y])); if(x==n-1) y++; else if(y==m-1) x++; else{ if(fabs(a[x]-b[y+1]) < fabs(b[y]-a[x+1])) y++; else x++; } } printf("Case #%d: %.2lf\n",++cas,ans); } return 0; }
相关文章推荐
- HDU 4723 How Long Do You Have to Draw 解题报告
- hdu 4723 How Long Do You Have to Draw(贪心)
- HDU 4723 How Long Do You Have to Draw
- hdu 4723 How Long Do You Have to Draw(贪心)
- hdoj-4723-How Long Do You Have to Draw
- hdu-4724-How Long Do You Have to Draw-贪心
- hdu4723--(How Long Do You Have to Draw)
- hdu4723 How Long Do You Have to Draw 贪心
- HDU4723-How Long Do You Have to Draw
- How to resolve: You do not have a license to use this ActiveX control
- You have to know how .Net code "managed"?
- Unable to access the IIS metabase.You do not have sufficient privilege
- How do you force a java swt program to “move itself to the foreground”?
- How do you get the server to recognize changes to groups immediately?
- How many fix bug method do you have?
- 解决"Sorry, but you don’t have the administrative privileges needed to do this."的方法 wordpress, pagelines, eco
- How to view the schema class or attribute definition you first have to install the Active Directory Schema snap-in
- In an iOS 5 Storyboard, how do you push a new scene to the original view controller from a Popover?
- 运行SQL server2005 配置管理工具出现“Cannot connect to WMI provider. You do not have permmission or the server”
- 已解决:无法连接到WMI提供程序。你没有权限或者该服务器无法访问/cannot connect to WMI provider. You do not have permission or the……