https://www.zybuluo.com/ysner/note/1250303

题面

给定\(s\)个自动机,如果某个自动机\(A\)能产生的所有串都能在自动机\(B\)中产生(即走相同\(0/1\)路径后,同时碰到输出元),则称\(B\)是\(A\)的一个升级,求最长升级序列长度。

  • \(s,n\leq50\)

    解析

    辣鸡题目考语文
    然而看懂题后还是很简单的。
    判断\(B\)是否为\(A\)的升级,就每次分别在\(A,B\)走相同的\(0/1\)路径(因每个点有两个出度),若在\(A\)碰到一个输出元,而此时\(B\)没有,就说明不是升级。
    是升级就把\(A->B\)边权赋为\(1\)。
    最后\(Floyd\)跑最长路即可。
    (或者建边+拓扑排序也可以)。

但要注意,如果有两个完全相同的自动机,两者都会判为对方的升级,这时需强制只有一个方向边权赋为\(1\)(建边的话跑\(Tarjan\)缩点)。
没清空queue调了?h

// luogu-judger-enable-o2
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
#define ll long long
#define re register
#define il inline
#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a)<(b)?(a);(b))
#define N 100
#define fp(i,a,b) for(re int i=a;i<=b;i++)
#define fq(i,a,b) for(re int i=a;i>=b;i--)
using namespace std;
int s,n,m,h[N],out[N][N],a[N][N][2],dis[N][N];
ll ans;
bool vis[N][N];
struct node{int x,y;};
queue<node>Q;
il int gi()
{re int x=0,t=1;re char ch=getchar();while(ch!='-'&&(ch<'0'||ch>'9')) ch=getchar();if(ch=='-') t=-1,ch=getchar();while(ch>='0'&&ch<='9') x=x*10+ch-48,ch=getchar();return x*t;
}
il int check(re int s1,re int s2)
{//printf("!!!%d %d\n",s1,s2);while(!Q.empty()) Q.pop();memset(vis,0,sizeof(vis));Q.push((node){1,1});while(!Q.empty()){re node now=Q.front(),tmp;Q.pop();//ggif(out[s1][now.x]&&!out[s2][now.y]) return 0;tmp.x=a[s1][now.x][0];tmp.y=a[s2][now.y][0];if(!vis[tmp.x][tmp.y]) vis[tmp.x][tmp.y]=1,Q.push(tmp);tmp.x=a[s1][now.x][1];tmp.y=a[s2][now.y][1];if(!vis[tmp.x][tmp.y]) vis[tmp.x][tmp.y]=1,Q.push(tmp);}return 1;
}
int main()
{s=gi();fp(i,1,s){n=gi();m=gi();//fp(j,1,n) a[i][j][0]=a[i][j][1]=1;fp(j,1,m) out[i][gi()+1]=1;fp(j,1,n){re int u=gi()+1,v=gi()+1;a[i][j][0]=u;a[i][j][1]=v;}}memset(dis,-63,sizeof(dis));fp(i,1,s)fp(j,1,s)if(i!=j&&check(i,j)&&dis[j][i]<0) dis[i][j]=1;//注意到有完全相同的自动机//fp(i,1,s) fp(j,1,s) printf("%d %d %d\n",i,j,dis[i][j]);fp(k,1,s)fp(i,1,s)fp(j,1,s)//if(dis[i][j]<dis[i][k]+dis[k][j]&&dis[i][k]&&dis[k][j]dis[i][j]=max(dis[i][j],dis[i][k]+dis[k][j]),ans=max(ans,dis[i][j]);printf("%lld\n",ans+1);return 0;
}

转载于:https://www.cnblogs.com/yanshannan/p/9479390.html

[HNOI2006]潘多拉的宝盒相关推荐

  1. P2321 [HNOI2006]潘多拉的宝盒 题解

    思路 我们要先找到所有的升级序列,找出所有的包含与被包含的关系, 然后找到一条最长链,满足题目要求. 如何找到所有的包含关系? 遍历每一对盒子,对于二者,我们用 dfs 扫一遍,如果有一个盒子在一个节 ...

  2. ERP不规范,同事两行泪

    最近的很多次对外交流,都聊到了ERP建设的话题,并且无一例外的不那么让人省心,回想我这么多年走过的ERP坑坑路,在这里也写下经验和总结,希望能给正在或者即将走上ERP建设路的企业一些思考和帮助. 导读 ...

  3. ERP不规范,同事哭晕在厕所

    最近的很多次对外交流,都聊到了ERP建设的话题,并且无一例外的不那么让人省心,回想我这么多年走过的ERP坑坑路,在这里也写下经验和总结,希望能给正在或者即将走上ERP建设路的企业一些思考和帮助. 正文 ...

  4. 赛迪智库陆峰:大数据和人工智能开启产业发展新时代

    转自公众号: 数字经济智库 "企业对数据的驾驭能力决定其核心竞争力,数据流通越快,数据驾驭能力越强,数据使用成本越低,企业竞争能力越强,这是数字经济发展水平很重要的标志,各行各业都离不开互联 ...

  5. 好好讲话--《即兴演讲:掌控人生的关键时刻》

    最近在微信听书上听到了一个比较好的课程–<即兴演讲,张口就说>,总共12节,细致的讲解了即兴演讲的技巧和经验. 突然想起来读过的这本书,于是就重新拿出来翻了翻. 和上面的课程进行了一个简单 ...

  6. 滴滴打车,中国式互联网结出的一朵大奇葩

    滴滴打车,中国式互联网结出的一朵大奇葩 种什么因, 结什么果. 不到一百天的时间,滴滴打车两次成为时代瞩目的焦点,从空姐案到浙江案,以及其他各种大小不同的各类案件,已经非常清楚的表明,包括顺风车在内的 ...

  7. 攻略▍ERP不规范 同事两行泪 企业ERP建设的思考和密钥

    作者| 初码张工 编辑|尾草冰淇淋 36大数据获授权发布 最近的很多次对外交流,都聊到了ERP建设的话题,并且无一例外的不那么让人省心,回想我这么多年走过的ERP坑坑路,在这里也写下经验和总结,希望能 ...

  8. 2022-2028年中国盲盒产业研究及前瞻分析报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国盲盒行业市场行业相关概述.中国盲盒行业市 ...

  9. 2022-2028年中国盲盒行业市场研究及前瞻分析报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国盲盒行业市场行业相关概述.中国盲盒行业市 ...

最新文章

  1. oracle 查看统计情报,Oracle 查看收集统计信息
  2. struts2漏洞监测_Apache Shiro身份验证绕过漏洞风险提示
  3. 雅客EXCEL(4)-录入数据、超链接阻断、下拉菜单、横列转数列、alt+向下方向键、定位公式
  4. 销量赶超娇兰、SK-II的林清轩,能带领国产护肤品奔赴高端化吗?
  5. HTML页面代码移动端和pc兼容,pc端网站如何实现移动端适配?
  6. C#中的前台线程和后台线程的区别
  7. BZOJ3170: [Tjoi2013]松鼠聚会(切比雪夫距离转曼哈顿距离)
  8. Linux中如何打开trn文件,如何通过trn日志文件恢复SQL Server
  9. 电商有可能决定一个工厂的生死存亡
  10. win7配置iis 出现:HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容...
  11. python基础系列教程——Python中的编码问题,中文乱码问题
  12. IEC61850报告服务(报文解析)
  13. 使用python中正则表达式匹配linux ifconifg命令中的具体信息
  14. 三维重建_彩色图和深度图转点云文件、ply和pcd相互转换、点云合并
  15. 朱松纯:从人工智能的角度解读《赤壁赋》兼谈“心”与“理”的平衡
  16. 各类免费的的机器人仿真软件优缺点汇总
  17. php中的oop思想,php oop的特性是什么?php oop思想的三大特点介绍
  18. 考研英语阅读真题分析
  19. 动态水印跟踪去除_PS教程:怎么去除gif动态图片中的水印文字
  20. Win11怎么设置人离开后电脑自动锁屏?

热门文章

  1. 2022《计算机工程与应用》投稿经历
  2. 计算机基础无纸化考试题库,2018年无纸化考试专用 全国计算机等级考试真题汇编与专用题库 一级计算机基础及MS Offic...
  3. Nginx高性能Web服务器详解
  4. 2020年华为杯中国研究生数学建模时间线
  5. linux矢量图像编辑,Inkscape - 开源矢量图形编辑器
  6. 一招教你找到热键或广告弹窗是从哪个流氓软件里带来的
  7. HDU-5542-The Battle of Chibi【树状数组+dp】
  8. Java学习日记(71-80天,BP 神经网络)
  9. CentOS搭建博客typecho
  10. 港科夜闻|香港科大首席副校长郭毅可教授荣获吴文俊人工智能科技奖杰出贡献奖...