8月16日模拟赛

前言

永远不要相信出题人 永远不要贪心(不是指算法)不要懒

$ 我:谁会为了5分去写正解呢?$

于是: 100 ——> 32

\(对不起,我错了,我反思\)

T1 极源流体

打算单拎出来写\(LCT\).

T2 等差数列

大水题,枚举公差,再枚举位置,用桶存储首项的可能值,最后取出现次数最多的即可

然而是一道坑很多的题

  • 记得清空桶

  • 记得不能小于等于0

  • 记得每一项都不超w

T3 送给好朋友的礼物

在这里在这里

T4 非常困难的压轴题

题目

数据范围在前言部分。

做法是搞\(L,LW,LWS\)的前缀和即可

这道题难就难在,你想不想做正解。

\(code\):

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=142857;
string s;
int L[N],W[N],S[N];//前缀 
signed main(){
	cin>>s;
	for(int i=0;i<s.size();i++){
		L[i]=L[i-1];
		if(s[i]=='L')L[i]++;
	}
	for(int i=0;i<s.size();i++){
		W[i]=W[i-1];
		if(s[i]=='W')W[i]+=L[i];
	}
	for(int i=0;i<s.size();i++){
		S[i]=S[i-1];
		if(s[i]=='S')S[i]+=W[i];
	}
	cout<<S[(s.size()-1)];
	return 0;
}

\(书写ing\)

posted @ 2021-08-17 17:32  Nickle-NI  阅读(35)  评论(0编辑  收藏  举报