首页 > 其他分享 >dfa 最小化的一个丐版实现

dfa 最小化的一个丐版实现

时间:2023-10-09 20:56:18浏览次数:36  
标签:vis int cct 等价 go vec 最小化 丐版 dfa

https://shanlunjiajian.github.io/2023/05/21/dfa-tech/

好像是叫 moore 算法,一个 vector 代表一个等价类,col 是所属等价类,这个是初始的时候 accept 状态放在一个等价类里,reject 状态放在一个等价类里,其余状态放在一个等价类里。对每种出边检查同一等价类的此类出边是否指向了不同等价类,根据指向的等价类的不同进行分裂。

	while(1){
		int lac=cct;
		for(int o=0;o<m;o++){
			for(int i=1;i<=lac;i++)if(vec[i].size()>1){
				int tmp=cct;
				for(auto j:vec[i]){
					int go=col[tr[j][o]];
					if(!vis[go])
						vis[go]=++cct;
					vec[vis[go]].pb(j);
				}
				for(auto j:vec[i])vis[col[tr[j][o]]]=0;
				vi().swap(vec[i]);
				swap(vec[i],vec[cct]);--cct;
				for(auto j:vec[i])col[j]=i;
				for(int t=tmp+1;t<=cct;t++)
					for(auto j:vec[t])
						col[j]=t;
			}
		}
		if(cct==lac)break;
	}

标签:vis,int,cct,等价,go,vec,最小化,丐版,dfa
From: https://www.cnblogs.com/do-while-true/p/17753115.html

相关文章

  • 2022最新手机设备标识码(IMEI、MEID、UDID、UUID、ANDROID_ID、GAID、IDFA等)教程
    Android篇 1IMEI和MEID(1)IMEI(InternationalMobileEquipmentIdentity)是国际移动设备身份码的缩写,国际移动装备辨识码,只有Android手机才获取的到,是由15位数字组成的"电子串号",比如像这样359881030314356,它与每台移动电话机一一对应,而且该码是全世界唯一的。它是GSM设备返......
  • linux教程:最小化安装的centos7如何安装图形化界面
    列出的组列表yumgrouplist安装yumgroupinstall-y"GNOMEDesktop"安装完成后,修改默认启动方式为图形化界面#设置成图形模式systemctlset-defaultgraphical.target如果要换回来#设置成命令模式systemctlset-defaultmulti-user.target然后重启系统即可......
  • DFA算法实现查找敏感词功能
    publicclassDFAFilter{privateSet<String>sensitiveWords;privateintmaxLength;publicDFAFilter(){sensitiveWords=newHashSet<>();maxLength=0;}publicstaticvoidmain(String[]args){......
  • Ubuntu18_最小化安装
    Ubuntu18最小化安装python3.6环境参考文档:https://blog.csdn.net/baidu_36602427/article/details/86548203​ https://blog.csdn.net/ztl0013/article/details/536953471、安装Ubuntu182、安装VMwaretools工具2.1、开启虚拟机2.2、安装VMwareTools等待Linux操作......
  • Excel VBA 窗体UserForm制作菜单栏与添加窗体最大化最小化功能(转载)
    窗体'--------------------------------------------------------'->Forms'Module'ClassModules'--------------------------------------------------------OptionExplicitPrivateDeclareFunctionFindWindowLib"user32&qu......
  • IfcAdvancedFace
    IfcAdvancedFace实体定义高级面是面曲面的专业化,必须满足使用特定拓扑和几何表示项定义面、边和顶点的要求。 IfcAdvancedFace仅限于: 具有IfcElementarySurface、IfcWeptSurface或IfcBSplineSurface类型的面曲面几何体,具有一个IfcFaceOuterBound作为面的边界,闭合曲面除外......
  • 还原窗口 取消最小化
    #include<Windows.h>intmain(){//获取目标窗口的句柄HWNDhWnd=FindWindow(nullptr,L"1111111");if(hWnd!=nullptr){//将窗口还原(取消最小化)ShowWindow(hWnd,SW_RESTORE);//激活窗口并将其带到前台SetForegr......
  • MRS_关于HardFault问题查找思路
    不少工程师在项目开发过程中会遇到代码运行进HardFault_Handler中断的情况。因进HardFault_Handler中断的原因(RAM溢出/空指针异常/堆栈溢出等等)比较多,情况比较复杂,搞得工程师没有头绪。现提供排查思路如下:HardFault_Handler定位:可在voidHardFault_Handler(void)中断服务函数中......
  • 村子(最小化)
    解题:贪心很明显越靠近越好。随便从一个点出发,按照翻的排列方式来选择和父亲链接还是和兄弟链接。记得每次加2哦~~~~具体代码:#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=1e5+500;intn,par[N],swp[N],p[N];vector<int>g[N],re......
  • 敏感词过滤--DFA算法及代码案例
    我们应该都遇见过敏感词过滤,比如当我们输入一些包含暴力或者色情的文本,系统会阻止信息提交。敏感词过滤就是检查用户输入的内容有没有敏感词,检查之后有两个策略。直接阻止信息保存,接口返回错误信息允许信息保存,但是会把敏感词替换为***不管是哪种策略,首先都得找到是否包含敏......