HDU1251 统计难题 trie树 简单

http://acm.hdu.edu.cn/showproblem.php?pid=1251

题意: 找前缀数量 裸模板

 

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<iostream>
 4 #include<algorithm>
 5 #include<cmath>
 6 #include<queue>
 7 using namespace std;
 8 const int maxn=500010;
 9 const double eps=1e-8;
10 const long long modn=1000;
11 struct tri{
12     int count;
13     int next[26];
14     bool exist;
15 }e[maxn];
16 char a[20]={};
17 int tot=0;
18 void doit(int x,int k,int j){
19     e[x].count++;
20     if(k<j){
21         e[x].exist=1;
22         return;
23     }
24     int w=a[j]-'a';
25     if(!e[x].next[w]){
26         e[x].next[w]=++tot;
27         doit(tot,k,j+1);
28     }else{
29         doit(e[x].next[w],k,j+1);
30     }
31 }
32 int getit(int x,int k,int j){
33     if(k<j){
34         return e[x].count;
35     }
36     int w=a[j]-'a';
37     if(!e[x].next[w]){
38         return 0;
39     }
40     else{
41         return getit(e[x].next[w],k,j+1);
42     }
43 }
44 int main(){
45     memset(e,0,sizeof(e));
46     a[0]=getchar();
47     while(1){
48         int i=1;a[i]=getchar();
49         while(a[i]!='\n'){
50             i++;
51             a[i]=getchar();
52         }
53         doit(0,i-1,0);
54         a[0]=getchar();
55         if(a[0]=='\n'){
56             break;
57         }
58     }
59     while(~scanf("%s",&a)){
60         int z=strlen(a)-1;
61         printf("%d\n",getit(0,z,0));
62     }
63     return 0;
64 }
View Code

 

转载于:https://www.cnblogs.com/137shoebills/p/7786487.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/415400.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JMeter场景设置与监控

随着IT技术的飞速发展和企业互联网业务规模不断扩张&#xff0c;IT架构经历了以数据计算为核心的C/S架构、以聚焦业务功能及服务化构建应用的经典互联网架构和如今整合IT资源和按需使用的云计算架构三个阶段。 与之同步发展的压力测试同样有三个发展阶段&#xff0c;从防火墙内…

阿里云轻应用服务器 宝塔面板 mongodb 配置外网连接 其一 基础配置

买了一台阿里云轻应用服务器做测试&#xff0c;我默认安装的是宝塔面板&#xff0c;下面详细记录配置mongodb过程。 1、进行安装&#xff0c;通过宝塔面板自带的软件管理进行安装 2、首先需要保证外网能够进行访问 设置监听端口为0.0.0.0&#xff0c;原来的是127.0.0.1只允许…

工作151:初始登录样式

<!--GY歌谣控制登录页面的功能--> <template><div class"main"><div><h1> <img src"./geyao.png" style"width: 29px;height: 29px;margin-right: 10px;line-height: 29px" alt"">星传经管系统&l…

Dubbo超时机制导致的雪崩连接

Bug影响&#xff1a;Dubbo服务提供者出现无法获取Dubbo服务处理线程异常&#xff0c;后端DB爆出拿不到数据库连接池&#xff0c;导致前端响应时间异常飙高&#xff0c;系统处理能力下降&#xff0c;核心基础服务无法提供正常服务。 ​Bug发现过程&#xff1a; ​线 上&#xff…

云智慧压测实战分享之JMeter脚本录制实例

在前面的《云智慧压测实战分享之JMeter工具使用初探》中我们对JMeter的功能特点和常用元件做了简单介绍&#xff0c;接下来说说JMeter的脚本录制。JMeter有多种录制脚本方法&#xff0c;其中最常见的是通过第三方工具Badboy录制&#xff0c;另外还有JMeter自身设置(Http代理服务…

阿里云轻应用服务器 宝塔面板 mongodb 配置外网连接 其二 配置账号密码

其一的设置&#xff0c;不需要通过账号密码&#xff0c;就能直接访问数据库&#xff0c;安全性堪忧&#xff0c;我之前就踩过坑&#xff0c;也在之前的文章中讲过&#xff0c;这次用阿里云轻应用服务器重新介绍一波。 命令行窗口可以直接通过阿里云轻应用服务器里面自带的。 1、…

各种Span设置

备注&#xff1a;各种Span设置 &#xff08;转自http://blog.csdn.net/harvic880925/article/details/38984705 &#xff09; 在前面的一个小示例&#xff0c;大家应该也可以看出&#xff0c;要应用一个Span总共分三步&#xff1a; 1、构造String 2、构造Span 3、利用SetSpan…

工作152:阅读之后台管理登录样式

<template><div class"login-wrap"><div class"ms-login"><div class"ms-title">后台管理系统</div><el-form :model"param" :rules"rules" ref"login" label-width"0px&q…

div中图片下方有边距

遇到一个小问题&#xff0c;记录一下。 1、问题描述 <div class"thumb-box"><img class"tt-img" src"https://cdn.w7.cc/images/2017/11/09/15102068385a03ed7644fbf_OxLCy7ypXKpd.png?imageView2/5/w/88/h/88/format/png" alt"…

sign check fail: check Sign and Data Fail!-错误处理

一、报这个错大多都是支付宝公钥配置错误&#xff0c;不同环境的公钥是不同的&#xff0c;大家先确认自己的支付宝公钥获取是否正确:1. 沙箱公钥【查看】创建应用可参照&#xff1a;【如何创建应用】打开应用查看mapi网关适用于【 移动支付 】&#xff0c;【 老版手机网站支付 …

Android 事件分发,分发机制

1. 基础认知 1.1 事件分发的对象是谁&#xff1f; 答&#xff1a;点击事件&#xff08;Touch事件&#xff09; 定义 当用户触摸屏幕时&#xff08;View 或 ViewGroup派生的控件&#xff09;&#xff0c;将产生点击事件&#xff08;Touch事件&#xff09;Touch事件的相关细节…

工作154:代码之解析position 解决

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>日常请假</title><style>* {margin: 0px…

教程-上传应用公钥并获取支付宝公钥

教程-上传应用公钥并获取支付宝公钥 1. 点击签名验签工具右下角的“上传公钥”会打开支付宝开放平台网页&#xff0c;输入账号登录。&#xff08;建议使用IE或Chrome浏览器。) 2. 在“我的应用”中&#xff0c;选择要配置密钥的应用&#xff0c;点击“查看”。记录对应的APPID…

小程序 获取用户信息 openid 等

获取用户信息主要有两种方式 1、直接使用wx.getUserInfo获取一些基础信息。 在userInfo字段中&#xff0c;存在基础信息&#xff0c;比如下图&#xff1a; 2、在正常使用中&#xff0c;我们是需要获取openid的。需要用到wx.login方法。 调用微信小程序中的API接口获取code…

2.mysql优化---增删改优化

整理自互联网 补充知识点&#xff1a;操作数据语句优化的认识 通常情况下&#xff0c;当访问某张表的时候&#xff0c;读取者首先必须获取该表的锁&#xff0c;如果有写入操作到达&#xff0c;那么写入者一直等待读取者完成操作&#xff08;查询开始之后就不能中断&#xff0c;…

工作155:icon图标前置和后置

<el-button slot"append"></el-button> 里的 slot"append" 就是一个UI摆放的位置,其实就是封装的样式布局。 append&#xff1a;代表放在紧贴在依赖组件的后面prepend&#xff1a;代表放在紧贴在依赖组件的前面<el-form :model"for…

Edittext不可编辑可点击,输入密码可见与不可见,验证码换格输入实现方法,车牌号自定义输入键盘

不可编辑可点击&#xff1a;设置两个属性即可 mEdittext.setFocusable(false); mEdittext.setOnClickListener(this::onClick); 输入密码可见与不可见 private boolean ifonpenteyestrue; if (ifonpenteyes){ ifshowpawimage.setImageResource(R.mipmap.openeyes); l…

小程序button去除边框

在小程序给官方button增加自定义样式的时候&#xff0c;需要注意隐藏button的border。 我用的less&#xff0c;加上一行代码就可以解决。 &:after {border: none; }例如下图自定义样式的代码是 .login-btn {background: #ecb810;color: #2e2f2e;display: flex;align-ite…

Alpha 冲刺 (7/10)

队名&#xff1a;天机组 组员1友林 228&#xff08;组长&#xff09; 今日完成&#xff1a;get到了一份对winsock各功能封装好的代码明天计划&#xff1a;继续封装剩余任务&#xff1a;对接主要困难&#xff1a;头文件迷之出错收获及疑问&#xff1a;加深了c以及java类的理解本…

表单提交中的input、button、submit的区别

参考博文&#xff1a;http://www.cnblogs.com/shytong/p/5087147.html 设置typesubmit后&#xff0c;输入控件会变成一个按钮&#xff0c;显示的文字为其value值&#xff0c;默认值是Submit。form[method]默认值为GET&#xff0c;所以提交后会使用GET方式进行页面跳转。input[t…