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\)
座右铭:我从来没有见过这样阴郁而又光明的日子。