3530专题

HDU 3530 Subsequence

这个题意是给你n个数,然后寻找一个区间,区间的最大值与最小值的差要小于k并且大于m 思路: 用两个单调序列维护这个序列,显而易见用当前者两个单调序列的列首相减如果大于k的话那么,我们就要寻找列首在序列位置比较小的那个往后面加1。这个题目的难点在于题目意思是区间,我理解错了。以为是那种最长公共子序列那种。 #include <cstdio>#include <cstring>#incl

BZOJ 3530 数数【AC自动机+数位dp】

[Sdoi2014]数数 简单数位dp+简单AC自动机 反正数位DP是队友写的 AC自动机要记录两个值,一个是是否为一个串的结束,即不合法状态,一个是前缀零的情况。 // whn6325689// Mr.Phoebe// http://blog.csdn.net/u013007900#include <algorithm>#include <iostr

HYSBZ - 3530 数数 【DP+AC自动机】

点我传送到题目!!! 题意: 给定一个数n,和m个数字构成的字符串,求1-n范围内不包含m个字符串中任何一个的数的个数?n的长度不超过1200,m不超过500。 解题思路: 这题可以用ac自动机来求是否包含字串,dp[i][j]表示第i位在ac机中状态为j的答案数。某一状态是否为匹配状态可以在AC机建立fail路径时建立预处理出来。 解题代码: #include<iostream>#