poj 3630 字典树

[字典树 ] poj 3630 Phone list /** 字典树 判断是否存在一个字符串为另一个的前缀。 字典树果然还是不能动态开辟空间呢,TLE的伤不起鸟。 */ #include #include #include #include #include using namespace std; #define N 100000 struct tireTree { bool isNum; tireTree *tr[1 阅读详情

达成成就:手撕字典树
看代码知题意,水题

#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;

struct T {
	int ch[11], val, end;
}t[111111];
int tot,len,now;

bool insert(char* num) {
	len = strlen(num);
	now = 0;
	for (int i = 0; i < len; i++) {
		if (t[now].ch[num[i] - '0'] == -1) {
			t[now].ch[num[i] - '0'] = tot++;
			t[tot - 1].val = num[i] - '0';
			for (int i = 0; i < 10; i++)
				t[tot - 1].ch[i] = -1;
			t[tot - 1].end = 0;
		}
		now = t[now].ch[num[i] - '0'];
		if (t[now].end == 1 && i != len - 1)
			return false;
		if (i == len - 1) {
			t[now].end = 1;
			for (int i = 0; i < 10; i++)
				if (t[now].ch[i] != -1)
					return false;
		}
	}
	return true;
}

int tt,n,flag;
char num[15];

int main() {
	scanf("%d", &tt);
	while (tt--) {
		for (int i = 0; i < 10; i++)
			t[0].ch[i] = -1;
		t[0].end = 0;
		tot = 1;
		scanf("%d", &n);
		flag = 1;
		for (int i = 0; i < n; i++) {
			memset(num, 0, sizeof(num));
			scanf("%s", num);
			if (!insert(num)) flag = 0;
		}
		printf("%s\n", flag ? "YES" : "NO");
	}
	
	return 0;
}
从Mate到Mate40 Pro+:华为旗舰核心配置演进与选购避坑指南 本文回顾了华为Mate系列从初代到Mate40 Pro+的核心配置演进历程,重点分析了处理器性能、影像系统、屏幕设计及续航快充的技术突破。针对选购需求,提供了区分版本、5G选择及存储配置的实用避坑建议,帮助消费者明智选择华为旗舰机型。 阅读详情

相关推荐

Zemax热分析实战:5分钟搞定双胶合透镜温度漂移优化(附操作数详解)

本文详细解析了使用Zemax进行光学系统热分析的全流程,以双胶合透镜为例,重点阐述了如何通过多重结构编辑器模拟温度变化,并利用关键操作数优化系统以抵抗温度漂移。文章提供了从基础设置到高级优化的实战技巧,帮助工程师快速掌握无热化设计方法,确保系统在宽温范围内保持稳定成像性能。

n4o5p6q7r的博客 397

蓝桥杯必看 【手撕模板】三分钟搞懂 <Trie树(字典树)>

#include<iostream> const int N = 1e6 + 10; using namespace std; int son[N][26],book[N],cur;(1) int n ; char str[N],ch; void insert(char str[]) { int p = 0;(2) for(int i = 0 ; str[i] ;i ++)//遍历整个数组 { int u = str[i] - 'a';(3) .

GuLeng______的博客 8458

告别电源纹波!手把手教你用UCC28019设计一个高效率PFC模块(附完整原理图与BOM清单)

本文详细介绍了如何使用UCC28019设计高效率PFC模块,解决电源纹波问题。通过优化补偿网络、关键元器件选型及PCB布局,实现功率因数提升至0.99以上,降低输入电流谐波。附完整原理图与BOM清单,适用于电赛等快速开发场景。

weixin_42652674的博客 335

Kiner算法刷题记(二十一):字典树与双数组字典树(手撕算法篇)

学习了字典树与双数组字典树的特性与应用场景,并且手撕了字典树的经典实现,接下来,我们通过几道字典树相关算法题巩固一下吧。

u010651383的专栏 284

NI-HIL学习开篇

自我介绍下,四年零部件厂工作经验,一年(至今)主机厂工作经验,负责BMS/VCU方向软硬件测试。 学习目的:把握新能源汽车的测试发展趋势,顺应历史的洪流。 学习目标:1.掌握HIL开发测试流程中的IO配置、开环验证、闭环模型开发及调试、自动化测试 2.掌握第三方模型的搭建及simulink关联仿真(2019.05.21新增:需巩固练习matlab基础——2...

masonson的专栏 4177

VisionMaster位置修正功能深度解析:如何让找圆工具自动跟随移动目标?

本文深度解析海康威视VisionMaster平台的位置修正功能,重点介绍如何通过模板匹配与找圆工具的智能联动实现移动目标的动态追踪。文章详细阐述了工业视觉检测中的坐标系同步原理、模板匹配配置技巧及异常处理策略,为工程师提供了一套完整的工业级解决方案。

uu89012的博客 281

POJ-3630电话表(考察字典树)

NOYES。

Atticus的博客 272

YOLOV8主干改进方法:C2f-Dual——DualConv轻量化双卷积设计(附改进代码)

DualConv是一种创新的卷积网络结构,旨在构建轻量级的深度神经网络。它通过结合3×3和1×1的卷积核处理相同的输入特征映射通道,优化了信息处理和特征提取。DualConv利用组卷积技术高效排列卷积滤波器,大大降低了计算成本和参数数量。

m0_74890428的博客 4700

POJ-3630 Phone List(字典树)

[原题链接]((30条消息) POJ-2315 Colored Sticks_right_135的博客-优快云博客) 题解: 将电话字符依次插入到字典树中,若在过程中碰到有字符串的结尾或者结束时仍有字符串尚未结束,都说明该字符树不符合要求,否则符合要求。 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; int

m0_53846741的博客 409

【Flutter 面试题】 怎么减少Widget的重新构建?

关于 const 关键字的使用:在 Flutter 开发中,任何时候当你确定一个 Widget 在其整个生命周期内都不会发生变化时,使用 const 关键字声明这个 Widget。这样的声明告诉 Flutter 框架这个 Widget 可以在编译时生成,后续的构建周期中可以重用已经创建的 Widget,从而避免了重复的构建开销。这适用于静态文本、图标或整个不变的 Widget 树。

Code Metaverse 1577

【系统架构设计师】2025年下半年真题论文回忆版及写作要点

本文摘要围绕云原生数据库、性能测试、无服务器架构和秒杀场景等关键技术进行论述。云原生数据库通过容器化、微服务和自动化运维实现弹性扩展;性能测试需要规划测试场景并关注响应时间等关键指标;无服务器架构以事件驱动为核心,简化开发流程;秒杀场景需组合运用扩容、缓存、限流等技术应对高并发。这些技术方案为构建现代高可用系统提供了重要参考。

数据知道的博客 6156

poj 3630 Phone List (字典树)

【题目描述】 给定 n 个长度不超过 10 的数字串,问其中是否存在两个数字串 S,T,使得 S 是 T 的前缀,多组数据。 【输入】 第一行一个整数 T,表示数据组数。 对于每组数据,第一行一个数 n,接下来 n 行输入 n 个数字串。(对于 100% 的数据,1≤T≤40,1≤n≤104​​ 。) 【输出】 对于每组数据,若存在两个数字串 S,T,使得 S 是 T 的前缀,则输出 NO ,否则输出 YES 。 请注意此处结果与输出的对应关系! 【输入样例】 2 3 911 97625999 91125.

qq_51392086的博客 314

【云原生系列】第一讲:什么是云计算

云计算(cloud computing):分布式:分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,合并&反馈:通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。云计算早期:分布式计算:简单的分布式计算,解决任务分发,并进行计算结果的合并。因而,云计算又称为网格计算。通过分布式计算,可以在很短的时间内(几秒钟)完成对数以万计的数据的处理,从而达到强大的网络服务。现阶段:计算:分布式计算、效用计算、负载均衡、并行计算、存储。

颜淡慕潇 1万+

POJ3630——Phone List【字典树】

poj_3630 题目大意:给你一组字符串,让你判断这其中的某一个字符串是不是其他字符串的前缀,如果是输出NO,否则输出YES。 大致思路:这道题我们可以用字典树来做,在每一个字符串后面一个节点加一个标记,标记一下这个字符串已经存在了。在字符串输入的时候判断一下其前缀是否已经出现了。 #include &lt;algorithm&gt; #include &lt;cstdio&gt; #i...

xiang_hehe的博客 300

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

poj3630 Trie字典树

原题:http://poj.org/problem?id=3630 题解:将所有数字建成字典树,当插入时无新节点生成,经过别的有标记的节点时,就是前缀。 #include&lt;cstdio&gt; #include&lt;cstring&gt; #include&lt;algorithm&gt; #include&lt;iostream&gt; using namespace std; c...

Exception 168

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

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

POJ - 3630 Phone List (字典树)

POJ - 3630 Phone List (字典树) Given a list of phone numbers, determine if it is consistent in the sense that no number is the prefix of another. Let’s say the phone catalogue listed these numbers: Emerg...

weixin_43179892的博客 244

IEM模型,地表粗糙度模拟

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

POJ 3630 Phone List/POJ 1056 【字典树】

http://poj.org/problem?id=3630POJ 3630 Phone List大意:电话簿中有n个电话号码,判断这些号码是否合法。若某个电话号码是另一个电话号码的前缀,则该号码簿非法分析:字典树即可注意点,字典树在插入过程中新建节点会超时,故节点用数组的方式存储 网上看到一个风格较好的代码,模仿了一下写的,原始网站http://www.cnblogs.com/sys...

a48634331的博客 166

POJ-3630 Phone List 字典树

写了个三叉的字典树,找了个题测试了一下,

Gikieng的奋斗路 980

【POJ 3630 --- Phone List】字典树(数组模拟)

【POJ 3630 --- Phone List】字典树(数组模拟) Description Given a list of phone numbers, determine if it is consistent in the sense that no number is the prefix of another. Let’s say the phone catalogue listed t...

来日浅谈的博客 503

POJ 3630/HDU 1671 Phone List(字典树)

题目链接:http://poj.org/problem?id=3630 题意:给定n个字符串。判断是否存在其中某个字符串为另外一个字符串的前缀。若不存在输出YES。否则输出NO。 思路:裸的字典树。 代码 #include #include #include #include #include #include using namespace std;

Where amazing happens 620

POJ 3630 字典树

http://poj.org/problem?id=3630 Description Given a list of phone numbers, determine if it is consistent in the sense that no number is the prefix of another. Let's say the phone catalogue listed the...

xiji333的博客 254

C - Phone List POJ - 3630(tire 字典树)

C - Phone List POJ - 3630 Given a list of phone numbers, determine if it is consistent in the sense that no number is the prefix of another. Let’s say the phone catalogue listed these numbers: Emergency 911 Alice 97 625 999 Bob 91 12 54 26 In this case, it

qq_34832548的博客 285

poj3630(Phone List+字典树)

题目链接:http://poj.org/problem?id=3630        题意:有N个数字串,问其中是不是有某个串是另一个串的子串,有输出NO,否则输出YES。        注意:该题在构造字典树的时候,不能用malloc函数动态构造,应该将字典树保存在数组中,静态构造,否则将报TLE。 代码: #include #include typedef struct Node{

鸟 的 天 空 778

POJ 3630 静态字典树

题意:给你一些电话号码,问你是否有一个电话号码是其他电话号码前缀 比如,911 和911584这两个号码,911是911584的前缀 解题思路:经过pork大神的指导,估计时间如下,一共有10000个电话号码插入,每个号码最长10位,如果每次插入最差就是开辟10个新的节点,那就是10000*10*10个,一百W,如果有new开辟的话,时间耗费严重,超时是必然的,那么用静态数组,提前开辟100W

yobobobo的专栏 1547

POJ 3630 Phone List 静态字典树Trietree

学习了一下静态字典树,特地来写一发试试模板。 第一眼看到静态字典树和链式前项星好像,感觉差不多的思想(链式数组) 链式前项星edge[]数组中存的是一条条边,对于每条边在next中存的是与 这条边同起点的下一条边所在下标。这些同起点的边就组成了一个链表, 只不过这个链表存在数组中,(该数组叫做链式数组),head[]数组存的就是 表头。对每个顶点i可以通过head[i]知道表头,

varinic 的博客 643

字典树 之 hdu 1671 poj 3630

题目是说: 若

JmingS 917
上一篇: poj 2185 二维kmp
下一篇: poj 3233
FawkesLi
博客等级 码龄8年 21粉丝 170原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值