首页 > 其他分享 >abc字段数的使用

abc字段数的使用

时间:2024-05-21 19:08:06浏览次数:18  
标签:结点 abc 前缀 ll 字段 使用 字符串 define

思路:​编辑我们可以发现两个字符串的最长公共前缀就是字典树中的最近公共祖先。然而这道题,比如说某个结点是x个字符串的前缀,那么当前结点对答案的贡献为x * (x - 1) / 2,就是x中任选两个字符串组合,因为在这之前,这些字符串的前缀在计算其他结点的时候已经被算过了。

代码:

#define ll long long
#define N 300010
using namespace std;
ll n,ch[N][26],sz[N];
int main(){
	ll i,x,tot=1;
	cin>>n;
	while(n--)
	{
		string s;
		cin>>s;
		for(i=0,x=1;i<s.size();i++)
		{
			sz[x]++;
			if(!ch[x][s[i]-'a'])
			{
				ch[x][s[i]-'a']=++tot;
			}
			x=ch[x][s[i]-'a'];
		}
		sz[x]++;
	}
	ll ans=0;
	for(i=2;i<=tot;i++)
	{
		ans+=sz[i]*(sz[i]-1)/2;
	}
	cout<<ans<<'\n';
	return 0;
}


​  

标签:结点,abc,前缀,ll,字段,使用,字符串,define
From: https://www.cnblogs.com/litianyu1969/p/18204759

相关文章

  • 使用HttpClient发送请求
    导入依赖<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version></dependency>相关案例@TextpublicvoidtestGet()throwsException{//创建......
  • 保障商业机密的智能策略:如何使用华企盾DSC提升文件安全
    在当前数字化时代,商业机密的保护变得尤为重要。企业需要确保其数据在传输、存储和使用过程中的安全,以防止信息泄露和非法访问。北京华企盾科技有限责任公司开发的华企盾DSC数据防泄密系统(简称华企盾DSC),提供了一整套智能化的解决方案,帮助企业提升文件安全性。本文将详细介绍如何使......
  • Asp-Net-Core开发笔记:使用ActionFilterAttribute实现非侵入式的参数校验
    前言#在现代应用开发中,确保API的安全性和可靠性至关重要。面向切面编程(AOP)通过将横切关注点(如验证、日志记录、异常处理)与核心业务逻辑分离,极大地提升了代码的模块化和可维护性。在ASP.NETCore中,利用ActionFilterAttribute可以方便地实现AOP的理念,能够以简洁、高效的方式进行......
  • vue3插件(unplugin-auto-import自动引入的使用)
    1. vite.config文件里面1importAutoImportfrom'unplugin-auto-import/vite'23plugins:[4.......,5AutoImport({6include:[7/\.[tj]sx?$/,//.ts,.tsx,.js,.jsx8/\.vue$/,9/\.vue\?......
  • Mybaits使用SQL拦截器实现字符串修剪
    概述一般情况下,保存到数据库中的字符串类型的数据,我们一般都不希望它前后带着空格,类似于"哈哈哈"。在业务中,如果每一个保存到数据库中的SQL都去对字符串参数进行trim的操作,这是很繁琐的,且容易漏掉。解决方案使用Mybatis的拦截器,拦截每一个SQL,针对SQL中的字符串参数进行tr......
  • vue2的混入mixin使用
    前言vue3中不再推荐使用mixins!在Vue2中,mixins是创建可重用组件逻辑的主要方式。尽管在Vue3中保留了mixins支持,但对于组件间的逻辑复用,使用组合式API的组合式函数是现在更推荐的方式。参考文档:https://juejin.cn/post/7033424132427481101https://segmentfault.c......
  • ComfyUI使用IC-Light实现打光特效
    在线体验https://huggingface.co/spaces/lllyasviel/IC-Light国内可以用魔塔https://modelscope.cn/studios/AI-ModelScope/IC-Light/summaryComfyUIIC-Light原生插件:https://github.com/huagetai/ComfyUI-Gaffer模型下载:https://huggingface.co/lllyasviel/ic-light/tr......
  • 学习和使用多个平台上的测试工具
    Postman:工具介绍:Postman是一款用于API开发和测试的工具,可通过创建请求、发送HTTP请求并查看响应来测试API的功能和性能。在项目中的使用:在充电桩电控系统项目中,可以使用Postman来测试系统的API接口。首先,创建针对不同功能的请求,如启动充电、停止充电、查询充电状态等。然后,发......
  • .net8 winform程序使用EntityFrameworkCore连接数据库
    在.NET8WinForms应用程序中使用EntityFramework(EF)Core,你需要按照以下步骤操作:1.添加EntityFrameworkCoreNuGet包。2.定义你的数据模型。3.创建数据库上下文(DbContext)。4.在数据库上下文中配置EntityFramework。5.使用EntityFrameworkCore的API来执行数据库操作。......
  • WPF使用静态属性制作按钮样式
    <Window.Resources><!--定义样式--><Stylex:Key="CustomButtonStyle"TargetType="Button"><SetterProperty="Tag"Value="{x:Staticlocal:ButtonColorSets.Button1Colors}"/>......