首页 > 其他分享 >[Deeplearning] 钻石矿工

[Deeplearning] 钻石矿工

时间:2023-11-24 20:35:52浏览次数:33  
标签:钻石 int Max 蓝线 Deeplearning 矿工 红线

首先画图

假设有两个点,那么去钻石的方案就如上图

那么我们就需要比较蓝线的长度与红线的长度

先看一下两点之间距离公式
\(\sqrt{(x-u)^2+(y-v)^2}\)

这个公式就是运用了勾股定理,一直两条边,求第三条

接着,我们比较蓝线与红线的长短

我们把它分为两个三角形(如图即可)

随后,根据三角形任意两条边之和大于第三条边,可以证明两条蓝线之和大于对应的红线,所以\(蓝线>红线\),因此只需要让矿工取自己的\(i\)所对应的矿石即可

代码:

#include<bits/stdc++.h>
using namespace std;
const int Max=1e6+5;
long long a[Max],b[Max],q,p;
int x,y;
double ans;
int main()
{
	int t;
	cin>>t;
	while (t--)
	{
		int n;
		cin>>n;
		q=p=ans=0;
		for(int i=0;i<2*n;i++)
		{
			cin>>x>>y;
			if(x==0) a[q++]=abs(y);
			else b[p++]=abs(x);
		}
		sort(a,a+n);sort(b,b+n);
		for(int i=0;i<n;i++)
		{
			ans+=sqrt(double(a[i]*a[i]+b[i]*b[i]));
		}
		printf("%.15f\n",ans);
	}
	return 0;
}

标签:钻石,int,Max,蓝线,Deeplearning,矿工,红线
From: https://www.cnblogs.com/lyk2010/p/17854693.html

相关文章

  • [Deeplearning] 过河问题
    先模拟一下样例125101和2去,耗时21回,耗时35和10去,耗时132回,耗时151和2去,耗时17现在我们把题目化为两种策略策略1:共2人,一起过河,用时较小的将手电筒放回策略2:共4人,耗时较小的两人先过,接着将手电筒送回,用时较大的两人过,最后右侧用时最小的人将手电筒送回,左侧两人一起过......
  • [Deeplearning] 活动选择F604
    那个F604是干啥的我似乎也不知道思路依旧很简单,右端点排序,这个活动结束得越早留给后面的时间就越多代码:#include<bits/stdc++.h>usingnamespacestd;structnode{ intstart,end;}a[1010];intn,back,ans;boolcmp(nodex,nodey){ returnx.end<y.end;}intmain()......
  • [Deeplearning] 采购奖品
    思路:非常简单,按物品的单价排序,商品的单价小,我们就尽量多的选它代码:#include<bits/stdc++.h>usingnamespacestd;structnode{ intcost,num;}a[110];intn,m,ans,money;boolcmp(nodex,nodey){ returnx.cost<y.cost;}intmain(){ cin>>m>>n; for(inti=0;i<......
  • [Deeplearning] 吃蛋糕
    放张图自己体会(doge类似于爬楼梯的递推题动态转移方程,或者说递推式:dp[i]=dp[i-1]+dp[i-k]其中\(i≥k\)代码:#include<bits/stdc++.h>usingnamespacestd;constintmod=1000000007;longlongt,k,a,b;longlongdp[100010],sum[100010];intmain(){cin>>t>>k;......
  • [Deeplearning] 2017篮球队
    一道动态规划题\(f_{i, j, k}\)表示前i个人里取j个,身高大于等于k的方法数得到状态转移方程为\(f_{i, j, k} = f_{i − 1, j − 1, k − a_i}\)由于这样空间不够,我们需要降维代码:#include<bits/stdc++.h>usingnamespacestd;constintMAXN=2e5+5;intn,m,h......
  • [Deeplearning] 20210919小学组 取数游戏
    首先明确一下贪心策略:两人必然会从大往小取当自己无法得分时,最优策略就是不让对方得分当自己可以得分时,得分所以,最后只需要便利数组,当A或B能得分时便得分,不能得分就不得分,但是不管能否得分都需要将最大的数取出代码:#include<bits/stdc++.h>usingnamespacestd;intn,a[......
  • DOJ-team-match 7-钻石矿工
    DOJ-team-match7-钻石矿工题目传送门首先画图假设有两个点,那么去钻石的方案就如上图那么我们就需要比较蓝线的长度与红线的长度先看一下两点之间距离公式$\sqrt{(x-u)2+(y-v)2}$这个公式就是运用了勾股定理,一直两条边,求第三条接着,我们比较蓝线与红线的长短我们把它分为......
  • 【每日随笔】人为制造稀缺 ( 粮食 | 买房 | 租房 | 钻石 | 教育 )
    文章目录一、人为制造的稀缺资源-粮食二、人为制造的稀缺资源-买房三、人为制造的稀缺资源-租房四、人为制造的稀缺资源-钻石五、人为制造的稀缺资源-教育人为制造稀缺资源是暴利的挣钱方式;本来不稀缺的资源,人人都有,人人都应该享有的资源,人为制造稀缺......
  • #Deeplearning#人工智能导论学习笔记
    神经网络基础线性函数(得分函数)计算每个类别的得分:每个像素点都会影响结果(像素点的权重参数)f(image,parameters)每个像素点都需要有一个权重,每个像素点会按RGB拆分成三个矩阵中的元素单行矩阵(每个像素点的权重)x像素点(所有像素点)=1x1矩阵(得分)f(x,W)=Wx+b简而言之,就是每......
  • deeplearning4j训练MNIST数据集以及验证
    训练模型官方示例MNIST数据下载地址:http://github.com/myleott/mnist_png/raw/master/mnist_png.tar.gzGitHub示例地址:https://github.com/deeplearning4j/deeplearning4j-examples/blob/master/dl4j-examples/src/main/java/org/deeplearning4j/examples/quickstart/model......