
尺取法
Bahuia
软件工程博士
展开
-
51Nod - 1127 尺取法
题意:给出一个字符串,求该字符串的一个子串S,S包含A-Z中的全部字母,并且S是所有符合条件的子串中最短的,输出S的长度。如果给出的字符串中并不包括A-Z中的全部字母,则输出No Solution。Input第1行,1个字符串。字符串的长度 Output输出包含A-Z的最短子串长度。如果没有符合条件的子串,则输出No Solution。原创 2017-02-03 10:49:11 · 372 阅读 · 0 评论 -
hihocoder - 1483 二分 + 尺取法
题意:给出n个数,然后定义一个v(l,r)为下标区间[l,r]中相同的点对数,如对于1,1,1这个序列来说,v(1,2)=1,v(1,3) =3,v(1,1)=0。要求所有n*(n+1)/2个区间的价值第k小的是多少。思路:这题没做出来确实不应该。想到了尺取法,结果没想出来二分验证来找第k小的。二分答案x=(l+r)/2,每次判断价值能大于x的区间有多少个,如果这个数目大于n*原创 2017-03-19 17:30:40 · 656 阅读 · 0 评论 -
HDU - 5510 KMP + 尺取法
题意:给出n个字符串s[1]到s[n],找到最大的编号i,使得s[i]之前的字符串中存在至少一个不是s[i]的子串。思路:好题。kmp是一定的。利用尺取法的思想,设置两个指针l和r,那么对于s[l]和s[r]就存在两种情况:1. s[l]是s[r]的子串,那么++l2. s[l]不是s[r]的子串,那么更新ans=r,然后++r之所以不考虑l之前的字符串,是因为按照原创 2017-03-15 18:23:00 · 461 阅读 · 0 评论