题目:https://www.luogu.org/problemnew/show/P1311
记录一下每个位置往后的各种颜色个数,再记录每个位置往后第一个可作为咖啡店的位置在哪即可。
#include
#include
#include
#include
using namespace std;
const int N=2e5+5,M=55;
int n,k,p,col[N],w[N],ans,g[N],ct[N][M];
int rdn()
{int ret&#61;0;bool fx&#61;1;char ch&#61;getchar();while(ch>&#39;9&#39;||ch<&#39;0&#39;){if(ch&#61;&#61;&#39;-&#39;)fx&#61;0;ch&#61;getchar();}while(ch>&#61;&#39;0&#39;&&ch<&#61;&#39;9&#39;) ret&#61;(ret<<3)&#43;(ret<<1)&#43;ch-&#39;0&#39;,ch&#61;getchar();return fx?ret:-ret;
}
int main()
{n&#61;rdn(); k&#61;rdn(); p&#61;rdn();for(int i&#61;1;i<&#61;n;i&#43;&#43;)col[i]&#61;rdn(),w[i]&#61;rdn();int p0&#61;n&#43;1;for(int i&#61;n;i;i--){if(w[i]<&#61;p)p0&#61;i; g[i]&#61;p0;for(int j&#61;0;j
}