首页 > 其他分享 >[Deeplearning] 过河问题

[Deeplearning] 过河问题

时间:2023-11-24 20:35:37浏览次数:24  
标签:过河 int sum 手电筒 else 问题 耗时 Deeplearning

先模拟一下样例

1
2
5
10
  1. 1和2去,耗时2
  2. 1回,耗时3
  3. 5和10去,耗时13
  4. 2回,耗时15
  5. 1和2去,耗时17

现在我们把题目化为两种策略

策略1:共2人,一起过河,用时较小的将手电筒放回

策略2:共4人,耗时较小的两人先过,接着将手电筒送回,用时较大的两人过,最后右侧用时最小的人将手电筒送回,左侧两人一起过河,耗时最小者将手电筒送回。

最终只需要比较两种策略的用时即可

代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,sum = 0;
	cin>>n;
	vector<int>v(n,0);
	for (int i=0;i<n;i++)
		cin >> v[i];
	sort(v.begin(), v.end());
	int i;
	for (i=n-1;i>2;i-=2)
	{
		if (v[i-1]+v[0]>v[1]*2) sum+=v[1]*2+v[0]+v[i];
		else sum+=v[i-1]+v[0]*2+v[i];
	}
	if (i == 2) sum+=v[2]+v[0]+v[1];
	else if(i == 1) sum+=v[1];
	else sum += v[0];
	cout<<sum<<endl;
	return 0;
}

标签:过河,int,sum,手电筒,else,问题,耗时,Deeplearning
From: https://www.cnblogs.com/lyk2010/p/17854691.html

相关文章

  • [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[......
  • 以精确反馈促进学生编程逻辑和问题解决意识:一种基于两层测试的在线编程训练方法
    (PromotingStudents’ProgrammingLogicandProblem-SolvingAwarenessWithPrecisionFeedback:ATwo-TierTest-BasedOnlineProgrammingTrainingApproach)DOI:10.1177/07356331221087773一、摘要研究目的:培养学生的计算机编程技能已成为全球重要的教育问题。然而,学......
  • Oracle DBA遇到的top150个问题
    作为OracleDBA(数据库管理员),以下是更多常见的Oracle数据库管理中可能遇到的150个问题案例:数据库备份和恢复失败数据库性能下降数据库连接问题长时间运行的查询和死锁数据库服务器崩溃或宕机数据库空间不足数据库日志文件过大数据库表空间损坏数据库安全漏洞数据库版本升......
  • 使用PhpStudy配置Nginx解决跨域问题
    系统:Windows如果你是用phpstudy来进行lnmp的集成环境,你想解决跨域问题是很简单的:处理步骤:第一步:找到你前端要请求的后端接口的url的域名:比如:http://localhost2/index.php/index/test/helloworld那么域名就是localhost2第二步:找到域名对应的nginx配置文件位置打开phpstudy......
  • Ubuntu20.04 安装后部分问题解决方案
    安装搜狗输入法搜狗官方有教程:https://shurufa.sogou.com/linux/guideUbuntu与Windows时间不一致的问题安装ntpdate:sudoapt-getinstallntpdate校准时间:sudontpdatetime.windows.com将时间更新到硬件上:sudohwclock--localtime--systohc单击任务栏图标使窗......
  • 背包问题算法
    01背包问题01背包是一种动态规划问题。动态规划的核心就是状态转移方程有一个容量为V的背包,还有n个物体。现在忽略物体实际几何形状,我们认为只要背包的剩余容量大于等于物体体积,那就可以装进背包里。每个物体都有两个属性,即体积w和价值v。问:如何向背包装物体才能使背包中物体......