poj 1635 树的同构

【软件安装系列】Ubuntu+mysql5.7.27+Jira8.3.1+邮箱服务器配置+Confluence6.15.7安装经验和采坑总结 文章目录一、软件准备(百度云易被吞,就不放了)1.1 官网下载的新鲜的Jira和Confluence1.2 linux的jdk一份1.3 Jira和Confluence的破解程序或者破解包一份1.4 java的连接器一份二、安装过程1--java环境配置2.1 将下载下来的jdk包解压在/usr/local/java目录中2.2 写入环境变量三、安装过程2--mysql5.7.27环境配置3.1 ... 阅读详情

思路:
因为题目要求的是O(n2)的算法,而且是树不是图,所以思路比较随意,先找每个节点的爸爸,然后记录每个节点有多少个子孙(包括儿子的儿子),然后只有排序之后每个都一样,那树就同构,如果题目要求O(n)的话,就不能找爸爸,直接找儿子,然后深搜。

你还是看代码吧,我感觉我说的不清楚

#include <cstdio>
#include <iostream>
#include <iomanip>
#include <string>
#include <cstdlib>
#include <cstring>
#include <queue>
#include <set>
#include <vector>
#include <map>
#include <algorithm>
#include <cmath>
#include <stack>

#define INF 0x3f3f3f3f
#define IMAX 2147483646
#define LINF 0x3f3f3f3f3f3f3f3f
#define ll long long
#define ull unsigned long long
#define uint unsigned int

using namespace std;

int t, l[2], c[2][3333],fa[3333],tt, now;
char s[2][3333];

void get(int x) {
	now = -1;//表示现在的爹是谁,根节点的爹是-1
	memset(fa, -1, sizeof(fa));
	for (int i = 0; i < l[x]; i++) 
		if (s[x][i] == '0') fa[i] = now, now = i;
		else now = fa[now];
	for (int i = 0; i < l[x]; i++) {
		tt = i;
		while (tt > -1) 
			c[x][tt]++,
			tt = fa[tt];
	}
	sort(c[x], c[x] + l[x]);
}

int main() {
	scanf("%d", &t);
	while (t--) {
		scanf("%s%s", s[0], s[1]);
		l[0] = strlen(s[0]), l[1] = strlen(s[1]);
		if (l[0] != l[1]) {
			printf("different\n");
			continue;
		}
		memset(c, 0, sizeof(c));
		get(0),get(1);
		bool flag = 1;
		for (int i = 0; i < l[0]; i++)
			if (c[0][i] != c[1][i])flag = 0;
		printf("%s\n", flag ? "same" : "different");
	}
	
	return 0;
}
Python与.NET革命性互操作:PythonNet实现零门槛双向调用——深度解析与实战案例 跨语言调用实战指南:Python与.NET深度集成 摘要:本文详解Python与.NET双向互调技术,通过PythonNet和Python.Runtime实现高效跨语言协作。核心优势包括:无缝集成Python机器学习模块(如PaddleOCR)与.NET UI框架,内存直传提升90%数据效率,减少80%重复代码。内容涵盖:1)Python调用.NET类库的完整流程;2)C#动态加载Python脚本及环境配置要点;3)反射机制实现私有方法调用与泛型处理;4)性能优化技巧(类型缓存、NumPy数组转换);5)异 阅读详情

相关推荐

RimWorld Mod开发避坑指南:从Defs命名规范到XML结构详解(附实战代码)

本文深入解析RimWorld Mod开发中Defs文件的编写规范与高级技巧,涵盖命名冲突预防、XML结构优化及高级功能实现。通过实战代码示例,帮助开发者避开常见陷阱,提升Mod兼容性与稳定性,特别适合RimWorld Mod开发者参考。

weixin_30790841的博客 450

poj-1635 Subway tree systems(判断两个有根树是否同构)-哈希法

求两个有根树是否同构,这个如果暴力法枚举的话,复杂度是O(N^2),一中经典的做法是哈希,思想就是使得不同结构的树哈希值不同,而同构的树哈希值相同。 我这个也是参考别人写的,不同的是我先把01串转换为了树状结构表示,然后再递归求哈希值,这样好理解一点。

smartxxyx的专栏 5583

别再用Python卷了!用Matlab的Deep Learning Toolbox快速上手U-Net图像分割(附完整数据集处理代码)

本文介绍了如何使用Matlab的Deep Learning Toolbox快速上手U-Net图像分割,包括数据准备、网络构建、训练监控和模型应用等完整流程。Matlab的高度集成工具链和图形化界面为图像分割任务提供了更快捷、直观的解决方案,特别适合研究人员和工程师快速实现原型验证。

weixin_29927965的博客 381

树的同构 poj 1635

链接 http://poj.org/problem?id=1635 题意判断两个有根树是否同构。解析判断两个有根树是否同构,本质上是hash应用,每个点的权值是这个子树的权值和。树上某一组合不同都会导致最终结构的不同。代码#include <cstdio> #include <cstring> #include <vector> #include <algorithm> #include <io

NLSQQ的博客 553

双轮差动机器人SLAM实战:轮速里程计从建模到精度验证(附Matlab代码)

本文详细介绍了双轮差动机器人SLAM系统中轮速里程计的实现全流程,包括核心原理、建模方法、Matlab代码实现及精度验证。通过轮速仪数据建模和连续积分算法,提升定位精度,并附有完整的误差分析和工程优化技巧,为开发者提供实用参考。

weixin_29050271的博客 222

WPS文档中心和文档中台 operate 未授权访问漏洞(CVE-2025-0717)

WPS文档中心和文档中台的/open/v6/api/etcd/operate?key=/config/storage&method=get接口存在未授权访问漏洞,攻击者可通过该漏洞获取AK/SK密钥等信息,这些密钥通常用于系统内部认证和权限控制,泄露后可能导致攻击者进一步修改K8s配置、部署恶意容器或执行远程命令,最终实现对系统的完全控制。

李同學AI安全 903

poj1635_树的同构

题意: 这个题首先给出一个01序列,这个序列的意思是,从一个树的根开始遍历,遇到0走到一个孩子,遇到1则当前节点返回到它的父亲节点,最后回到树的根。求对这样两个01序列进行遍历后形成的两颗树是否同构。 分析: 1.这个序列中的0和1个数必须相同,否则无法回到根。有几个0就有几个节点。 2.遍历01序列建树,记录每个节点的深度和孩子个数,然后排序进行比较。 3.一开始,我记录每个节点的孩子...

weixin_30496431的博客 135

Cesium雷达追踪追踪(圆锥体效果)

【代码】Cesium雷达追踪追踪(圆锥体效果)

God's asylum的博客 2931

同构树的判断 poj 1635

题目的描述比较长,总的意思就是给出两棵有根树,判断它们是不是同构树。 所谓的同构树,定义我也不太知道。按字面上的意思就是两棵结构相同的树。 如第一棵树和第二棵树就是同构树,它们和第三棵树不是同构树: 并且,同构树它们有一一对应的点。 对于任意一棵有根树,都可以用括号表示法来表示,可以去http://www.byvoid.com/blog/directed-tree-bracket-

u010152669的专栏 3147

把 NAST 变成你的遥控器:用 ABAP 程序精确触发与处理 Output Type

摘要 SAP中的Message Control机制通过NAST表记录输出状态,支持自动触发打印、邮件等操作。关键步骤包括: 构造NAST记录:定义输出类型、介质、处理状态等参数 调用处理函数:使用RV_MESSAGE_UPDATE_SINGLE更新表,通过WFMC_MESSAGES_PROCESS执行输出 典型应用场景: 单据补发(如PO邮件重发) 外部系统集成触发输出 故障恢复处理积压消息 注意事项: 需提交事务确保更新生效 区分S/4HANA新旧输出体系 正确处理派发时间(VSZTP)和状态(VSTAT

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

杰理外挂flash使用教程(四):制作fat32文件系统格式的资源文件

本文档提供了FAT文件系统镜像生成与资源打包的完整指南,包含两种实现方案:推荐的WSL/Ubuntu环境方案和Windows原生方案。详细说明了从创建空白镜像、格式化、资源文件复制到最终打包为设备可用的res.bin文件的完整流程,并对比了FAT32与FAT16的特性差异。文档还包含关键文件说明、使用注意事项和典型应用场景,适用于嵌入式系统开发、固件升级等场景。

qq_42014563的博客 1339

树的同构--poj 1635(有根树)ustc 1117 (无根树)

只有一个点入度为0的树是外向树,只有一个点出度为0的树是内向树,这两种是典型的有根树 平时见到的无向图中的树是无根树 1.判断树同构本质是哈希,每个点的权值是这个点的子树的权值和,这里所谓的权值是随机数产生的 由于随机性,树上某一组合不同都会导致最终的结果不一样,所以只要判断根的权值是否相等就可以确定同构 2.随机性决定了不确定性,但正确率还是很高 3.可以不用哈希,用“最小表示”表示出

Jackyguo1992的专栏 4135

基于Simulink的异步电机参数在线辨识与自适应控制仿真

本文基于Simulink平台,详细介绍了异步电机参数在线辨识与自适应控制系统的仿真实现。针对异步电机运行中参数时变问题,采用模型参考自适应系统(MRAS)实时辨识转子电阻和互感,并结合自适应PI控制策略动态调整控制器参数。通过搭建完整的矢量控制(FOC)仿真模型,验证了系统在稳态辨识、参数摄动和动态响应等工况下的性能:参数辨识误差<1.2%,转速跟踪误差<20rpm,动态响应时间<10ms。文章还提供了详细的Simulink建模步骤、核心代码实现及性能分析,为高级电机控制系统的设计与优化提

amy_mhd的博客 72

树的最小表示法 poj1635 Subway tree systems

传送门:点击打开链接 题意:有根树,0表示远离根节点,1表示接近根节点,一条边只访问一次。现在告诉你两种访问方式,问这两棵树是否同构异形。 思路:从下向上把子树排序,这样向上,最后表示出来的就是最小表示的了,那么就有序了,就可以直接比较字符串就能判断两棵树是否相同。 #include #include #include #include #include #include #include

qwb的博客 2109

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

POJ1635【树的同构】【hash】

/* I will wait for you*/ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define make make_pair #define fi

Lethelody的专栏 592

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

poj 1635 Subway tree systems(树的同构,经典)

题意: 一个有根树。给一种用01序列来表示该树的方式,0表示前进(沿没有访问过的边),1表示沿树边回退。 一个树当然会有多种表示, 问题是给出两个序列,问是否表示同一颗树。 思路: 感觉判断树的同构是个很广的问题。 不过就此题而言,可以对一颗树的所有表示序列,都可以用递归的方式把它们变成一个。(先划分子树,按字典序重排) 也有用dp做的,还有哈希的。。是很值得研究的一题 这道题引起我对

slowlight93的专栏 700

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

POJ 1635 树的最小表示

题意 传送门 POJ 1635 Subway tree systems 题解 判断不同 DFSDFSDFS 序对应的有根树是否相同。设字符串长度为 NNN,O(N2)O(N^2)O(N2) 求解树的最小表示,O(N)O(N)O(N) 进行比较。 树的最小表示法基本思路:由于树根的确定,若两颗树同构,那么只有子树和子树中节点次序上的区别。递归与回溯是一一对应的,所以子树的 DFSDFSDFS 序满足 0,10,10,1 个数相等。按照字典序使子树有序,递归求解即可。。 #include <algorit

neweryyy的博客 365

poj 1635( 树的最小表示法判断同构 )

#include #include #include #include #include #include using namespace std; string dfs(char* ss,int s,int t) { int i,j=s,h=0; int cnt=0; vector str; str.clear(); if( s>=t ) { s

Balloons2012的专栏 1777

POJ1635 Subway tree systems(判断树的同构,树的最小表示法)

题意:初始时站在树的根节点,若朝着远离根的方向走,记录“0”,接近根的方向走记录“1”。并且树的每一条边只能(必须)来回走一次(即向下和返回)。一个合法的序列可以描述出一棵树的形态。现在给出两个合法的序列,判断两棵树是否同构。 分析:由于根节点确定,若两棵树同构,无非就是把子树的位置交换了一下。很自然的想法就是:将树的子树进行排序,若排序之后两个字符串相等,则同构;否则不同构。 树的括号序列最小表...

常胜将军的博客 367

POJ1635 Subway tree systems ——(判断树的同构,树的最小表示法)

  给两棵有根树,判断是否同构。因为同构的树的最小表示法唯一,那么用最小表示法表示这两棵树,即可判断同构。顺便如果是无根树的话可以通过选出重心以后套用之前的方法。   AC代码如下: 1 #include <stdio.h> 2 #include <algorithm> 3 #include <string.h> 4 #inclu...

ddmxynl793173的博客 181

POJ1635 Subway tree systems

POJ1635 Subway tree systems Time Limit:1000MS Memory Limit:10000K Total Submissions:5470 Accepted:2248 Description Some major cities have subway systems in the form...

weixin_30419799的博客 156

POJ 1635 Subway tree systems (树的同构)

题意:给出2个深搜过程,确定是否是对同一棵树的遍历。深搜过程是用01串来描述的,0代表远离树根,1代表靠近树根。 分析:利用最小表示的思想,我们将树的所有结点按一定的规则排个序,然后比较2棵树的结点是否一样即可。排序规则:先按深度排序(离树根的距离),深度相同的按以该结点为根的子树结点数目排序。其实排序的过程就是统一遍历规则的过程,利用上面的规则排序后的结点是一个宽度优先的搜索顺序,且同一层中按...

weixin_30361641的博客 97

poj 1635 Subway tree systems(树的最小表示)

Subway tree systems POJ - 1635 题目大意:给出两串含有‘1’和‘0’的字符串,0表示向下搜索,1表示回溯,这样深搜一颗树,深搜完之后问这两棵树是不是同一棵树 /* 在poj上交需要加一个string头文件,不然会CE 树的最小表示 这里用的最小表示法就是将树的所有子树分别用1个字符串表示,要按字典序排序将他们依依连接起来。...

weixin_30740295的博客 128

POJ 1635 树的最小表示法/HASH

题目链接:http://poj.org/problem?id=1635 题意:给定两个由01组成的串,0代表远离根,1代表接近根。相当于每个串对应一个有根的树。然后让你判断2个串构成的树是否是同构的。 思路:首先根据01串构造出树,然后求树的最小表示法判断同构。 详情参照:https://www.byvoid.com/blog/directed-tree-bracket-sequence...

weixin_33834075的博客 162

poj 1635 Subway tree systems 判断树的同构 树的最大最小表示法模板

想象成括号匹配,dfs把同优先级的括号由小到大按字典序排个序就是树的最小表示法了#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<string> #include<vector> using namespace std; string a,b; string treeMinPress(

acblacktea的博客 750

[有向树的最小表示] poj 1635 Subway tree systems

题目链接: http://poj.org/problem?id=1635 题目意思: 判断两棵树是否为同构的。0

cc_again的专栏 1251
上一篇: 关于第二章的习题
下一篇: ch 1807 最小表示法模板题
FawkesLi
博客等级 码龄8年 21粉丝 170原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值