Solution //本代码压掉后两维 #include<cstdio> #define max(a,b) (a<b?b:a) using namespace std; inline void read(int &x){ register ; ') ch=getchar(); +ch-',ch=getchar(); } ,M=; ; ,a[N],b[N];int bfs[N]; ],trans[N][]; int f[N][N][M]; inline void insert(in…
咕咕(数位dp+AC自动机) 若一个字符串的字符集合是0~m-1,那么称它为m进制字符串.给出n个m进制字符串\(s_i\),每个字符串的权值为\(v_i\).对于另一个m进制字符串\(S\),设\(s_i\)在S中的出现次数是\(cnt_i\),那么\(s_i\)对\(S\)的价值的贡献就是\(v_i*cnt_i\).因此,\(V_S=\Sigma_{i=1}^kcnt_i\times v_i\).求在区间\([l, r]\)中,有多少字符串的价值不超过k.\(\Sigma_{i=1}^n|s…
传送门 题意: 给444个整数L,R,K,nL,R,K,nL,R,K,n,和nnn个数字串,L,R,K,数字串大小≤1e18,n≤65L,R,K,数字串大小\le1e18,n\le65L,R,K,数字串大小≤1e18,n≤65 问[L,R][L,R][L,R]中第KKK小的拥有nnn个数字串中至少一个串作为子串的数. 思路: 一看就要二分答案,现在考虑统计[L,R][L,R][L,R]中有多少个满足题意的数. 不妨考虑数位dpdpdp,然后发现没法很好的转移,为了优化转移可以对于所有的数字串构建…
3530: [Sdoi2014]数数 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 834  Solved: 434[Submit][Status][Discuss] Description 我们称一个正整数N是幸运数,当且仅当它的十进制表示中不包含数字串集合S中任意一个元素作为其子串.例如当S=(22,333,0233)时,233是幸运数,2333.20233.3223不是幸运数.    给定N和S,计算不大于N的幸运数个数. Input 输入…
C - Tachibana Kanade's Tofu 思路:把 n 个串丢进AC自动机中,然后dp就好啦. 我的代码居然是在CF上跑最快的.. #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk make_pair #define PLL pair<LL, LL> #define PLI pair<LL, int> #define PII…
正解:$dp$+$AC$自动机+搜索 解题报告: 传送门$QwQ$ 首先显然先建个$AC$自动机,然后考虑设$f_{i,j,k}$表示长度为$i$,现在在$AC$自动机的第$j$个位置,已经表示出来的串的状态为$k$的方案数,直接转移就好. 然后考虑输出方案.首先一定不存在可以随便填的位置. 挺显然的随便说下昂,首先如果有一个可以随便填的位置,就有26种可能.然后可以给这个位置和字符串交换位置,就至少有2种可能,这时候就已经至少有$2\times 26=52$了,所以一定不存在可以随便填的位置.…
题意:给定n个文本串,m个病毒串,文本串重叠部分可以合并,但合并后不能含有病毒串,问所有文本串合并后最短多长. (2 <= n <= 10, 1 <= m <= 1000) 题解: 首先可以想出一个简单的位压DP : d[s][i] = min(d[ss][j] - 合并i.j的重叠部分长度) 问题就集中在了如何求出两个串x.y合并后的最短长度并且合并后不能包含病毒串. 引用一个题解:来自http://blog.csdn.net/woshi250hua/article/detail…
Resource Archiver Time Limit: 10000MS   Memory Limit: 100000KB   64bit IO Format: %I64d & %I64u Description Great! Your new software is almost finished! The only thing left to do is archiving all your n resource files into a big one. Wait a minute… y…
DNA repair Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 4815   Accepted: 2237 Description Biologists finally invent techniques of repairing DNA that contains segments causing kinds of inherited diseases. For the sake of simplicity, a…
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1559 分析: 这个题意真的是很**啊!!!直接说每一个字符串至少出现一次不就好了吗......一开始理解错了ORZ 观察发现这个东西是字符串相关,并且有多个模板串,所有串的长度短并且串的数量不多,最多10个,因此大概可以想到一个AC自动机上面的状压. 首先把被包含的单词去掉,它们对决策不影响,这样在写方程的时候就可以不考虑last了. 令f(i,l,s)表示当位于AC自动机的状态i时,…