题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5358
题意:给你一个串数和一个公式,求这个公式的答案。
思路:直接暴力一定会超时的,而且这道题很卡时间,交C++的都TLE了。怎么优化才能不超时,于是就有了尺取法,其实就相当于两个分别指向区间左右指针不断更新区间内容的过程。
尺取法(two point)就是两个指针表示区间[l,r]的开始与结束然后根据题目来将端点移动,是一种十分有效的做法,适合连续区间的问题。
尺取法(two point)基本过程分为4步:
1.初始化左右端点
2.不断扩大右端点,直到满足条件
3.如果第二步中无法满足条件,则终止,否则更新结果
4.将左端点扩大1,然后回到第二步
代码:
#include <cstdio>
#include <cstring>
#