Wireless Password HDU - 2825 AC 로봇 DP 개수 1746 단어 AC_automata m개의 단어를 주고 구조가 n이고 적어도 k개의 단어를 포함하는 열의 종류를 묻는다소박한 자동기에서 DP는 자동기의 모든 상태를 두루 훑어보았습니다. dp[i][j][k]: 길이가 i인 직렬이 상태 j에 일치하고 k 인코딩 상태word의 직렬이 나타나는 종류입니다.#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define ll long long #define ull unsigned long long #define pb push_back #define FOR(a) for(int i=1;i<=a;i++) const int inf=0x3f3f3f3f; const int maxn=140+9; const int mod=20090717; const int sigma=26; int n,m,k; int dp[30][110][1<<10]; //dp[i][j][k]: i j, k word int num[5005]; //num[i]:i 1 struct automata{ int ch[maxn][sigma]; int val[maxn]; int f[maxn]; int sz; int newnode(){ memset(ch[sz],0,sizeof(ch[sz])); f[sz]=val[sz]=0; return sz++; } void init(){ memset(val,0,sizeof(val)); sz=0; newnode(); } void insert(char *s,int v){ int u=0; int len=strlen(s); for(int i=0;iq; q.push(0); while(!q.empty()){ int u=q.front();q.pop(); val[u]|=val[f[u]]; for(int i=0;i0){ for(int c=0;c<26;c++){ int nxti=i+1; int nxtj=ch[j][c]; int nxtp=(p|val[nxtj]); dp[nxti][nxtj][nxtp]+=dp[i][j][p]; dp[nxti][nxtj][nxtp]%=mod; } } } } } int ans=0; for(int p=0;p Terraform의 다른 구독에서 중요 Vault 기밀을 참조하는 방법 명령대로 Hanami를 수행하면 오류가 발생할 수 있는 것에 대해서. 좋은 웹페이지 즐겨찾기 개발자 우수 사이트 수집 개발자가 알아야 할 필수 사이트 100선 추천 우리는 당신을 위해 100개의 자주 사용하는 개발자 학습 사이트를 정리했습니다