题目大意:
你知道New Orange Industry Palatable公司吗?这是老板Smart为了与苹果公司竞争而新开的一家橘子公司,它的业务是栽培美味的橘子并售卖,公司简称为NOIP。 NOIP公司新推出N+1个橘子,每个橘子上都贴有一个标签,其中有N个普通的橘子上面印有一个”N”或”O”或”I”字母。还有一个独一无二的幸运橘子标签印有”P”字母。 NOIP公司搞了一个优惠活动,把N个普通橘子排成一排,从左到右依次编号为1~N。让顾客从左到右选三个橘子,如果依次排列组成了”NOI”,就可获得优惠券。Smart想把贴有标签P的幸运橘插入到排列中的(可以插入到队列的任意位置)。在换取优惠券时,P橘子可以作为N橘子或O橘子或I橘子使用。Smart想知道加入P橘子以后,第一个选购的顾客最多有多少种选法可以得到优惠券。
解题思路:
一系列骚操作。模拟+一系列优化、剪枝+骚操作
#include#include using namespace std;char c[100005],l[3]={ 'N','O','I'};int n,sI,sN,sO,ai,an,ao,a[100005],b[100005],ansum;unsigned long long ans;int main(){ //freopen("noip.in","r",stdin); //freopen("noip.out","w",stdout); scanf("%d\n",&n);gets(c); for(int i=0;i