1521:二叉树的镜像 @jobdu

【电力负荷预测】项目介绍 MATLAB实现基于BO-Transformer-LSTM贝叶斯优化算法(BO)优化Transformer-LSTM组合模型进行居民用户多步电力负荷预测(含模型描述及部分示例 内容概要:本文介绍了一个基于BO-Transformer-LSTM的组合模型,用于实现居民用户多步电力负荷预测的完整项目实例。该模型融合Transformer的全局注意力机制与LSTM的局部时序记忆能力,构建能够捕捉长时依赖与周期性特征的深度学习架构,并引入贝叶斯优化(BO)自动搜索最优超参数组合,提升预测精度与训练效率。项目涵盖从原始数据清洗、特征工程、滑动窗口样本构建、模型设计到超参数优化、反归一化及多步误差评估的全流程,强调时间顺序划分以防止信息泄露,并通过周期编码、外生变量融合等方式增强数据表达能力。文中提供了详细的MATLAB代码示例,包括数据预处理、网络搭建、贝叶斯优化配置和预测结果评估等关键步骤。 适合人群:具备一定机器学习和时间序列分析基础,熟悉MATLAB编程环境,从事电力系统预测、智能电网、负荷管理等相关领域的研究人员、工程师及研究生。 使用场景及目标:①应用于居民级或多用户聚合负荷的短期至中期多步预测(如未来24小时);②服务于配电系统运行调度、需求响应基线设定、家庭能源管理系统优化、分布式能源协调控制等实际工程场景;③为科研提供可复现的深度学习+贝叶斯优化的技术路线参考。 阅读建议:此资源以实际项目为导向,建议读者结合提供的代码逐步实现并调试模型,重点关注数据质量控制、时间特征编码、组合网络结构设计与贝叶斯优化稳定性之间的协同关系,在实践中深入理解多步预测中的误差累积机制与超参数敏感性问题。 立即下载

题目1521:二叉树的镜像

时间限制:1 秒

内存限制:128 兆

特殊判题:否

提交:661

解决:165

题目描述:

输入一个二叉树,输出其镜像。

输入:

输入可能包含多个测试样例,输入以EOF结束。
对于每个测试案例,输入的第一行为一个整数n(0<=n<=1000,n代表将要输入的二叉树节点的个数(节点从1开始编号)。接下来一行有n个数字,代表第i个二叉树节点的元素的值。接下来有n行,每行有一个字母Ci。
Ci=’d’表示第i个节点有两子孩子,紧接着是左孩子编号和右孩子编号。
Ci=’l’表示第i个节点有一个左孩子,紧接着是左孩子的编号。
Ci=’r’表示第i个节点有一个右孩子,紧接着是右孩子的编号。
Ci=’z’表示第i个节点没有子孩子。

输出:

对应每个测试案例,
按照前序输出其孩子节点的元素值。
若为空输出NULL。

样例输入:
7
8 6 10 5 7 9 11
d 2 3
d 4 5
d 6 7
z
z
z
z
样例输出:
8 10 11 9 6 7 5


特别注意的是

if(tree[i] == null){		// 特别注意这里!当且仅当为空时才需要赋值!
					tree[i] = new TreeNode(tmp[i]);
				}
因为之后的代码预先改变了这里的值,所以如果再赋值就会出现指针问题!花了近半个小时debug这个问题!
还有一个就是最后一个元素后面不能打印空格!由于用递归打印,所以这里用一个全局变量记录打印了多少次,对最后一次特殊处理。


import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Arrays;
import java.util.Scanner;

public class S19 {
	static int loop = 0;
	public static void main(String[] args) throws FileNotFoundException {
		BufferedInputStream in = new BufferedInputStream(new FileInputStream("in.in"));
		System.setIn(in);
		Scanner cin = new Scanner(System.in);
		
		while (cin.hasNextInt()) {
			int n = cin.nextInt();
			loop = n;
			int[] tmp = new int[n];
			for(int i=0; i<n; i++){
				tmp[i] = cin.nextInt();
			}
//			System.out.println(Arrays.toString(tmp));
			if(n == 0){
				System.out.println("NULL");
				continue;
			}
			cin.nextLine();
			TreeNode[] tree = new TreeNode[n];
			for(int i=0; i<n; i++){
				String s = cin.nextLine();
//System.out.println(s);
				String[] ss = s.split(" ");
				if(tree[i] == null){		// 特别注意这里!当且仅当为空时才需要赋值!
					tree[i] = new TreeNode(tmp[i]);
				}
				if(ss[0].equals("d")){
					int left = Integer.parseInt(ss[1]);
					int right = Integer.parseInt(ss[2]);
					if(tree[left-1]==null)
						tree[left-1] = new TreeNode(tmp[left-1]);
					if(tree[right-1]==null)
						tree[right-1] = new TreeNode(tmp[right-1]);
					tree[i].left = tree[left-1];
					tree[i].right = tree[right-1];
				}else if(ss[0].equals("l")){
					int left = Integer.parseInt(ss[1]);
					tree[left-1] = new TreeNode(tmp[left-1]);
					tree[i].left = tree[left-1];
				}else if(ss[0].equals("r")){
					int right = Integer.parseInt(ss[1]);
					tree[right-1] = new TreeNode(tmp[right-1]);
					tree[i].right = tree[right-1];
				}else if(ss[0].equals("z")){
					
				}
			}
			
//			preorder(tree[0]);
			TreeNode mirrored = mirror(tree[0]);
			if(mirrored != null){
				preorder(mirrored);
				System.out.println();
			}
		}
	}
	
	private static void preorder(TreeNode root) {
		if(root != null){
			loop--;
			if(loop == 0){
				System.out.print(root.val);
			}else{
				System.out.print(root.val + " ");
			}
			preorder(root.left);
			preorder(root.right);
		}
	}

	private static TreeNode mirror(TreeNode root) {
		if(root == null){
			return null;
		}
		
		TreeNode tmp = root.left;
		root.left = mirror(root.right);
		root.right = mirror(tmp);
		return root;
	}

	public static class TreeNode{
		int val;
		TreeNode left, right;
		public TreeNode(int val_){
			val = val_;
		}
	}
}


国央企创新负责人如何通过平台实现科研成果的快速识别与转化?.docx 科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。 立即下载

相关推荐

PotPlayer自用皮肤

自用 PotPlayer 皮肤,仅微调了字体大小与颜色,是按个人习惯调整,未做适配性调整。

1387:斐波那契数列 @jobdu

题目1387:斐波那契数列 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2816 解决:827 题目描述: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。斐波那契数列的定义如下: 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入包括一个整数n(1 输出: 对应每个测试案例, 输出第n项斐波

2057

2-shell及常用命令-续.pdf

2-shell及常用命令-续.pdf

1515:打印1到最大的N位数 @jobdu

题目1515:打印1到最大的N位数 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:625 解决:323 题目描述: 给定一个数字N,打印从1到最大的N位数。 输入: 每个输入文件仅包含一组测试样例。 对于每个测试案例,输入一个数字N(1 输出: 对应每个测试案例,依次打印从1到

1934

SAP批量程序(一)-静态批量EX,FX和期间批量MB,WB和TB

SAP批量程序(一)-静态批量和区间批量

weixin_38974136的博客 5478

ST7102驱动移植与调试实战

本文详细介绍了在君正T40平台上移植和调试ST7102 LCD驱动芯片的实战经验。内容涵盖硬件接口配置、时序参数调整、寄存器初始化序列编写及常见问题解决,重点解析了ST7102单芯片集成显示与触控功能的特性,为嵌入式设备显示驱动开发提供实用指南。

k6l7m8n9的博客 1411

1390:矩形覆盖 @jobdu

题目1390:矩形覆盖 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:696 解决:443 题目描述: 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入包括一个整数n(1 输出: 对应每个测试案例,

1755

BALM2深度解析 | 港大MARS实验室如何用点簇革新激光BA?

本文深度解析了港大MARS实验室提出的BALM2方案如何通过点簇技术革新激光BA(Bundle Adjustment)处理。BALM2将点云数据聚合为点簇,显著提升计算效率,实测显示其计算耗时仅为传统方法的1/20。文章详细介绍了点簇的核心原理、二阶优化方法及与传统方法的性能对比,展示了其在激光SLAM领域的突破性应用。

weixin_29212867的博客 153

1386:旋转数组的最小数字 @jobdu

题目1386:旋转数组的最小数字 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2738 解决:613 题目描述: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 输入: 输入可能包含多

1747

OPC UA 协议详解

OPC UA(统一架构)是新一代工业自动化标准通信协议,替代传统OPC Classic,具有跨平台、高安全性、标准化等优势。基于TCP协议,支持全平台部署,采用面向对象架构组织数据,提供实时读写、事件订阅、历史数据访问等功能。作为工业4.0核心协议,适用于智能制造、数字孪生等场景,能实现多品牌设备统一接入。相比Modbus和MQTT,OPC UA协议更规范安全但复杂度较高,是大型工业集群互联的主流选择。

eastyuxiao的专栏 726

Bochs源码分析 - 26:8259中断控制器介绍

前言 现在我们跟着《x86/x64体系探索及编程》来分析17章内容 -- 8259中断控制器。这个是涉及硬件的,很遗憾,除了大学期间使用STM32搞过一个计算器,其余就没多少硬件编程经验,我在淘宝上找了下大概是这个东东。 https://pdos.csail.mit.edu/6.828/2010/readings/hardware/8259A.pdf 上面是8259A的芯片手册,里面讲的还是挺详细的,虽然里面很多东西还是看不太懂,但是结合着《x86/...

WriteAnything_的博客 967

1513:二进制中1的个数 @jobdu

题目1513:二进制中1的个数 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:1341 解决:455 题目描述: 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 输入: 输入可能包含多个测试样例。 对于每个输入文件,第一行输入一个整数T,代表测试样例的数量。对于每个测试样例输入为一个

1682

配置 SAP Web Dispatcher 的实战指南:打通 SAP Fiori、SAP Gateway 与前端系统的关键一跳

SAP Web Dispatcher 在 Fiori 架构中扮演关键角色,作为统一入口处理 HTTPS 请求、实现安全代理和流量分发。它将分散在不同系统的访问路径统一收口,解决浏览器同源策略限制,集中管理 HTTPS 终止和客户端信息传递。典型配置中,Web Dispatcher 监听 443 端口,根据路径将 OData 请求转发至 Gateway 系统,静态资源请求送至前端服务器。SSL 相关配置(如 PSE 文件)确保安全通信,而路由规则(wdisp/system_xx)决定请求转发目标。实施时需注意

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 102

1366:栈的压入、弹出序列 @jobdu

题目1366:栈的压入、弹出序列 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1157 解决:426 题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是

1641

【定位教程2----旋转中心标定之方法一】

【定位教程2----旋转中心标定之方法一】

Quintin 3万+

innovus:ccopt_design流程

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?spec文件可以只创建一次,无需多次创建。2)virtual balance阶段。3)Full Balancing阶段。4)Clock Routing阶段。1)clustering阶段。

m0_61544122的博客 2476

1522:包含min函数的栈 @jobdu

题目1522:包含min函数的栈 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:488 解决:164 题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行为一个整数n(1 接下来有n行

1636

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

1514:数值的整数次方 @jobdu

题目1514:数值的整数次方 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:377 解决:103 题目描述: 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 输入: 输入可能包含多个测试样例。 对于每个输入文件,第一行输入一个整数T,表示

1620

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

1523:从上往下打印二叉树 @jobdu

基础题,就是一个普通的Level Order Traversal 题目1523:从上往下打印二叉树 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:384 解决:156 题目描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 输入: 输入可能包含多个测试样例,输入以EOF结束

1602

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

1516:调整数组顺序使奇数位于偶数前面 @jobdu

题目1516:调整数组顺序使奇数位于偶数前面 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:650 解决:224 题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 输入:

1576

1367:二叉搜索树的后序遍历序列 @jobdu

从右向左扫描,找到第一个比最右节点小的数,然后从那个数开始再向左搜索,查看有没有比最右节点大的数,有则非BST 如果没有,则对左子树区间和右子树区间进行递归 题目1367:二叉搜索树的后序遍历序列 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:724 解决:359 题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。

1550

1385:重建二叉树 @jobdu

思路很清晰,但是很容易就写错,特别是在写递归的参数时!为了避免混淆,我新建了多个临时变量来表示,这样会看的清楚一些,免得绕进去了! 题目1385:重建二叉树 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1574 解决:517 题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复

1531

1368:二叉树中和为某一值的路径 @jobdu

不知道为什么只通过了第二组数据,把另一个Java AC的代码也贴出来比较一下吧。 题目1368:二叉树中和为某一值的路径 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1238 解决:273 题目描述: 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。

1489

1511:从尾到头打印链表 @jobdu

题目1511:从尾到头打印链表 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:1311 解决:440 题目描述: 输入一个链表,从尾到头打印链表每个节点的值。 输入: 每个输入文件仅包含一组测试样例。 每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点。第一行是链表第一个节点的值,依次类

1390
上一篇: Sort List 链表排序@LeetCode
下一篇: 1391:顺时针打印矩阵 @jobdu
chiiis
博客等级 码龄14年 422粉丝 429原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值