【POJ 1852】Ants(思维)

本文探讨了一道关于两只蚂蚁在直线上相向而行,相遇后改变方向继续行走的问题。通过对蚂蚁行走轨迹的分析,提出了一个巧妙的解决策略,即通过计算蚂蚁运动的最短和最长时间来简化问题,避免了复杂的碰撞处理。文章提供了详细的思路解析和C++代码实现。

题目

神奇的原因,又没法复制题目,一复制就说我非原创。
给大家个链接
题目传送门

思路

这题,就是一道智力冲浪题 (水题)
做了这道题,我想起了洛谷的一句话。

有些问题刚开始觉得无从下手。好好想一想,尽量别看题解,否则你会大呼“简单”。

蚂蚁数上限 1000000 1000000 1000000,爬行方式 2 1000000 2^{1000000} 21000000种。
(默默放弃这一题)
这一题,两只蚂蚁碰面后,会转身再走。
emmmm,给大家看两幅盗来的图。
(由于盗图,请忽略引号)

本来两只蚂蚁的行走轨迹:
在这里插入图片描述
相遇转身后:
在这里插入图片描述
(换魂大法好!)
这不就相当于没有转身这个限制了吗。
于是,我们将每个蚂蚁的运动最短时间和最长时间都求出来,分别取最大值,就完事了。
很快活。

代码

#include <cstdio>
#include <iostream>
#include <cstring>
#include <iomanip>
#include <string>
#include <algorithm>
#include <cmath>
#include <cstdlib>
#include <map>
#include <list>
#include <queue>
#include <istream>
#include <ostream>
#include <set>
#include <stack>
#include <cwctype>
#include <fstream>
#include <vector>
#include <cwchar>
#include <functional>

using namespace std;

int main() {
	int T; scanf("%d", &T);
	while (T--) {
		int l, n; scanf("%d%d", &l, &n);
		int ans1, ans2; ans1 = ans2 = 0;
		for (int i = 1, x; i <= n; i++) {
			scanf("%d", &x);
			ans1 = max(ans1, min(x, l-x));
			ans2 = max(ans2, max(x, l-x));
		}
		printf("%d %d\n", ans1, ans2);
	}
	return 0;
}

(请忽略我这些可爱的头文件)

内容概要:本文介绍了基于贝叶斯优化的CNN-LSTM混合神经网络在时间序列预测中的应用,并提供了完整的Matlab代码实现。该模型结合了卷积神经网络(CNN)在特征提取方面的优势与长短期记忆网络(LSTM)在处理时序依赖问题上的强大能力,形成一种高效的混合预测架构。通过贝叶斯优化算法自动调参,提升了模型的预测精度与泛化能力,适用于风电、光伏、负荷、交通流等多种复杂非线性系统的预测任务。文中还展示了模型训练流程、参数优化机制及实际预测效果分析,突出其在科研与工程应用中的实用性。; 适合人群:具备一定机器学习基基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)础和Matlab编程经验的高校研究生、科研人员及从事预测建模的工程技术人员,尤其适合关注深度学习与智能优化算法结合应用的研究者。; 使用场景及目标:①解决各类时间序列预测问题,如能源出力预测、电力负荷预测、环境数据预测等;②学习如何将CNN-LSTM模型与贝叶斯优化相结合,提升模型性能;③掌握Matlab环境下深度学习模型搭建与超参数自动优化的技术路线。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注贝叶斯优化模块与混合神经网络结构的设计逻辑,通过调整数据集和参数加深对模型工作机制的理解,同时可将其框架迁移至其他预测场景中验证效果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值