博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P3041 [USACO12JAN]视频游戏的连击Video Game Combos
阅读量:5966 次
发布时间:2019-06-19

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

思路

简单的AC自动机上dp,暴力跳fail向子节点直接转移即可

代码

#include 
#include
#include
#include
using namespace std;int trie[400][3],Nodecnt,mark[400],fail[400],dp[1001][400],root,k,n;char t[400];void insert(char *s,int len){ int o=root; for(int i=1;i<=len;i++){ if(!trie[o][s[i]-'A']) trie[o][s[i]-'A']=++Nodecnt; o=trie[o][s[i]-'A']; } mark[o]++;}void build_AC(void){ queue
q; for(int i=0;i<3;i++){ if(trie[root][i]){ fail[trie[root][i]]=root; q.push(trie[root][i]); } } while(!q.empty()){ int x=q.front(); q.pop(); for(int i=0;i<3;i++){ if(trie[x][i]){ fail[trie[x][i]]=trie[fail[x]][i]; q.push(trie[x][i]); } else{ trie[x][i]=trie[fail[x]][i]; } } }}int query(void){ int ans=0; int o=root; for(int i=0;i<=k;i++) for(int j=0;j<=Nodecnt;j++) dp[i][j]=-0x3f3f3f3f; dp[0][o]=0; for(int i=0;i

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

你可能感兴趣的文章
Apache Shiro SessionManager配置详解.
查看>>
Elasticsearch的Watcher插件
查看>>
译 | 像使用一台主机一样管理集群
查看>>
PostgreSQL数值类型--浮点类型和序列
查看>>
Java栈与堆详解
查看>>
终极vim配置
查看>>
Oracle 游标使用整理
查看>>
git 提交代码的步骤
查看>>
Fit项目分页组件的编写
查看>>
笔记16(shell编程)
查看>>
TeamCity : .NET Core 插件
查看>>
linux 目录结构
查看>>
innodb_pool_buffer_size对innodb性能的影响
查看>>
CentOS7文本模式下配置及安装KVM虚拟机
查看>>
秋无痕 Windows XPSP3 集成安装增强版 V201306
查看>>
IT男成都租房记
查看>>
gradle for androidstudio 各版本下载地址
查看>>
UIView Animation效果
查看>>
eclipse断点调试
查看>>
Android多媒体学习八:调用Android自带的音频录制程序,实现录制
查看>>