博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA1401 Remember the Word
阅读量:6239 次
发布时间:2019-06-22

本文共 583 字,大约阅读时间需要 1 分钟。

思路

用trie树优化dp

设f[i]表示到第i个的方案数,则有\(f[i]=\sum_{x}f[i+len[x]]\)(x是s[i,n]的一个前缀),所以需要快速找出所有前缀,用Trie树即可

代码

#include 
#include
#include
using namespace std;const int MOD = 20071027;int dp[301000],Trie[400100][26],Nodecnt=1,root=1,isword[400100],S,len[400100];char s[301000],w[4011][110];void insert(char *s,int ln,int inq){ int o=root; for(int i=0;i
=1;i--){ query(s+i,lens-i+1,i); } printf("Case %d: %d\n",cnt,dp[1]); } return 0;}

转载于:https://www.cnblogs.com/dreagonm/p/10688361.html

你可能感兴趣的文章
CentOS学习笔记 - 8. docker 编译基于gofabric8的java应用镜像
查看>>
关于ps cs6的滤镜 (抽出)
查看>>
项目版本管理(TFS)删除项目
查看>>
modprobe
查看>>
AQS实现原理及成果(有图有真相)
查看>>
js操作cookie
查看>>
access数据库注入
查看>>
MySQL + Atlas --- 部署读写分离
查看>>
Zabbix 2.2 LTS升级到Zabbix 3.0 LTS
查看>>
TortoiseSVN的使用
查看>>
数据分页时每页首条记录索引如何计算
查看>>
CSICO 常见操作命令
查看>>
sql中两个时间类型相减得到的值
查看>>
FastDFS安装配置
查看>>
Python格式化输出的四种方法
查看>>
TypeScript入门
查看>>
记一次安装新版jre
查看>>
快速开始使用Python Thrift
查看>>
sql中的游标(一)
查看>>
nginx启动、重启、关闭
查看>>