深圳模板网站多少钱,个人网站经营性备案,nas做流媒体网站,做网站后端用户用什么写文章目录 前言代码思路 前言
还是实力不允许啊#xff0c;要是实力允许我就一道一道中等题刷了。简单题真够呛。有些题看题解都是看老半天看不懂#xff0c;假设是这种我是真感觉没必要钻研。我现在大三#xff0c;要是看一遍题解看不懂就算了#xff0c;果断放弃。真可以… 文章目录 前言代码思路 前言
还是实力不允许啊要是实力允许我就一道一道中等题刷了。简单题真够呛。有些题看题解都是看老半天看不懂假设是这种我是真感觉没必要钻研。我现在大三要是看一遍题解看不懂就算了果断放弃。真可以这么果断吗不管是做题还是生活真可以这么果断吗。看到省赛的数据还有部分的分数的反正就是写个暴力放在那里就好了准备明年的蓝桥杯和 9 月的 csp 26 年 3 月的 csp 看时间要是可以的话也参加一下。就当机试模拟考试了。查了一下是三月底那时候机试都结束了那算了。
代码
#includebits/stdc.h
using namespace std;
const int N100010;
int l[N],r[N],p[30];
char s[N];
typedef long long LL;
int main(){scanf(%s,s1);//从下标为 1 的位置开始存int nstrlen(s1);for(int i1;in;i){int ts[i]-a;//p 的下标表示的是这个是啥字母l[i]p[t];//最开始的时候因为是全局数组所以是 0 这里是特判了一下边界情况p[t]i;//相当于每次就是该元素左边的元素}//表示当前的元素的位置循环这块有点巧妙for(int i0;i26;i){//这里映射的是每一个字母的位置p[i]n1;//右边界}for(int in;i1;i--){int ts[i]-a;r[i]p[t];p[t]i;}LL ans0;ans(LL)(i-l[i])*(r[i]-i);//贡献法for(int i1;in;i){}coutansendl;return 0;
}思路
看了一下五个零是十万。我知道的算法就是排序二分O(nlogn) 这个时间复杂度。这个题是啥意思啊。从一个字符串里面截取一段字符串计算这段字符串的 f 函数的数值对于所有的函数值求和输出这个和。这么复杂。看题解理解了一部分不想放弃。又看了一遍大概懂了。这种就挺难受的。因为这种大概懂把代码删掉自己很难独立写出来。每行写了注释之后感觉也还好就是循环那块有点难。多写几遍就好了。贡献法的关键就是要找到某一个字母相邻的两个相同的字母假设没有就找边界因为从下标为 1 开始存的所以边界就是 0 和 n1 .