AcWing 4261.孤独的照片

2024-03-11 08:28
文章标签 acwing 照片 孤独 4261

本文主要是介绍AcWing 4261.孤独的照片,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这道题其实也是和子串分值的题是一样的,运用贡献法的思路来算的。

这里需要强调一一点:这里的说的是不小于3的子序列,而不是全部序列。

所以,在我们算出来这个值之后,需要进行减法处理,首先需要减去只有一个字符的子字符串。然后就是两个的,之后就是正确答案了。

注意:在减去两个长度的子子串的时候需要每个子串多减去一次,因为轮流对于G和H进行贡献处理,会对于同一个字符串进行操作。

上代码:

#include<iostream>
#include<stdio.h>
#include<cstring>
#include<cstdlib>
#include<cmath> 
#include<vector>
#include<algorithm>
#include<stack>
#include<queue>
#include<sstream>
#include<map>
#include<limits.h>
#include<set>
#define MAX 500050
#define _for(i,a,b) for(int i=a;i<(b);i++)
#define ALL(x) x.begin(),x.end()
using namespace std;
typedef long long LL;
typedef pair<int,int> PII;LL n, m, counts, num;
char s[MAX];
int l[MAX];
int r[MAX];
int p[MAX];
int main() {ios::sync_with_stdio(false);cin.tie(NULL); cout.tie(NULL);cin >> n;cin >> s + 1;int size = strlen(s + 1);for (int i = 1; i <= size; i++) {int tmp = s[i] - 'A';l[i] = p[tmp];p[tmp] = i;}for (int i = 0; i < 26; i++)p[i] = n + 1;for (int i = size; i; i--) {int tmp = s[i] - 'A';r[i] = p[tmp];p[tmp] = i;}for (int i = 1; i <= size; i++) {counts += (LL)(i - l[i]) * (r[i] - i);}for (int i = 1; i <= size-1; i++) {if (s[i] != s[i + 1])num++;}counts = counts - num*2 - n;cout << counts << endl;return 0;
}

这篇关于AcWing 4261.孤独的照片的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/797252

相关文章

【AcWing】851. 求最短路

spfa算法其实是对贝尔曼福特算法做一个优化。 贝尔曼福特算法会遍历所有边来更新,但是每一次迭代的话我不一定每条边都会更新,SPFA是对这个做优化。 如果说dist[b]在当前这次迭代想变小的话,那么一定是dist[a]变小了,只有a变小了,a的后继(b)才会变小。 用宽搜来做优化,用一个队列,队列里边存的就是所有变小了的结点(队列里存的是待更新的点)。 基本思路就是我更新过谁,我再拿

Windows11电脑上自带的画图软件修改照片大小(不裁剪尺寸的情况下)

针对一张图片,有时候上传的图片有大小限制,那么在这种情况下如何修改其大小呢,在不裁剪尺寸的情况下 步骤如下: 1.选定一张图片,右击->打开方式->画图,如下: 第二步:打开图片后,我们可以看到图片的大小为82.1kb,点击上面工具栏的“重设大小和倾斜”进行调整,如下: 第三步:修改水平和垂直的数字,此处我修改为分别都修改为50,然后保存,可以看到大小变成63.5kb,如下:

想要从OPPO手机恢复数据?免费OPPO照片视频恢复软件

此实用程序可帮助那些寻找以下内容的用户: 在OPPO手机中格式化存储卡后可以恢复图片吗?我删除了 OPPO上的视频和图片,我感觉很糟糕,因为里面有我在拉斯维加斯拍摄的视频和照片 免费OPPO照片视频恢复软件 您能恢复OPPO上已删除的照片吗?我不小心格式化了OPPO SD 卡,有希望恢复已删除的照片吗? 救命!我在清理时删除了我的照片,我的问题是是否有任何免费软件可以从OPPO中恢复已

【AcWing】852. spfa判断负环

#include<iostream>#include<algorithm>#include<cstring>#include<queue>using namespace std;const int N= 1e5+10;int n,m;int h[N],w[N],e[N],ne[N],idx;int dist[N],cnt[N];//cnt存最短路径的边数bool st[N];v

快速搞定“照片调色”!50000+Lr预设滤镜模板,一键让你照片不再丑!

照片调色不仅仅是调整颜色,更是一种艺术表达。通过巧妙地运用 LR 预设,可以突出照片的主题,增强情感共鸣。比如,在风景照片中,使用特定的预设可以让天空更蓝、草地更绿,让大自然的美丽更加生动地展现出来。 在人像摄影中,合适的 LR 预设可以让肤色更加自然、眼神更加明亮,让人物更加迷人。而且,LR 预设还可以根据不同的风格和场景进行定制,满足各种个性化的需求。如果你对照片调色还不是

照片信息的读取与分类(1)

拿到了照片的拍摄时间后,就可以根据拍摄的年份和月份来确定照片要移动到的文件夹路径了。现在我们来分析一下如何从表示拍摄时间这个字符串中(2015:12:10 21:08:08 )提取出拍摄的年份和月份。整个字符串由一个空格将拍摄的日期和具体的时间分隔开来 在拍摄日期的部分中,拍摄的年、月、日又被两个冒号分隔开来。同样的,拍摄时间也被两个冒号分隔成了时、分、秒三个部分。

uniapp本地上传照片并转化为base64格式

const upPhoto = async () => {         try {             // 选择图片             const result = await uni.chooseImage({                 count: 1,                 sizeType: ['original', 'compressed'],

win10使用系统自带照片查看器的步骤

1、按【win+r】组合快捷键,输入:regedit,打开注册表 2、依次点击展开:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations 3、在FileAssociations项的右侧窗口,右击选择【新建→字符串值】,将新建值名称改为图片的扩展名如 .jpg

苹果不小心删除了照片怎么恢复?这5个方法都能解决

“天啊,不小心把手机上的照片删除了怎么办?相册里保存了很多重要的照片。”别慌,这些都是小事儿!小编这有5个可以解决不小心删除了照片怎么恢复问题的方法,只要你掌握了这些恢复技巧,那恢复被删除的照片就是分分钟的事。赶紧跟上小编的脚步,让小编带你看看这些方法的实用之处吧。 方法一:使用数据恢复工具恢复删除的照片 苹果手机删了的照片如何找回?用专业的数据恢复工具快速找回!数据 蛙苹果恢复专家,

怎样将所有照片拼接在一起?教你5种拼图技巧

拼图的乐趣与创意,在每一块碎片的精准契合中绽放,直至那幅独一无二的画面跃然眼前,让每一位参与者都沉醉于那份亲手构筑的喜悦之中。 那么,问题来了——在线拼图用什么软件好呢?接下来的篇章将带你一探究竟,解锁拼图软件带来的无限可能~ №1:拼图工具箱 ——创意与便捷并存的选择 这是一款专为拼图设计的应用程序,它提供了丰富的拼图模板和编辑功能,界面简洁直观,即便是拼图新手也能轻松上手。 ◎拼