每日一题|字符迁移【算法赛】|字符数组+前缀和+差分

每日一题|字符迁移【算法赛】

字符迁移

心有猛虎,细嗅蔷薇。你好朋友,这里是锅巴的C\C++学习笔记,常言道,不积跬步无以至千里,希望有朝一日我们积累的滴水可以击穿顽石。

字符迁移

注意
预习知识:前缀和+差分

实践代码

c 复制代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#define INF 0x3f3f3f3f
#define PII pair<int,int>
const int N = 1e6+10;
const int mod = 1e9+7;
int a[N],b[N];
char c[N];
void solve(){
    int n,q;cin>>n>>q;
    string s;cin>>s;
    for(int i=1;i<=n;i++){
        a[i]=s[i-1]-'a';
        b[i]=a[i]-a[i-1];//差分数组
    }
    while(q--){
        int l,r,k;cin>>l>>r>>k;
        /*差分的关键一步*/
        b[l]+=k;
        b[r+1]-=k;
    }
    for(int i=1;i<=n;i++) a[i]=a[i-1]+b[i];//前缀和
    for(int i=1;i<=n;i++) {c[i]=(a[i])%26+'a';cout<<c[i];}//右移且在26个小写字母中循环
}
signed main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout<<fixed<<setprecision(2);//保留两位小数
    int t=1;
    //cin>>t;
    while(t--){
        solve();
    }
    return 0;
}

心有猛虎,细嗅蔷薇。再见了朋友~

相关推荐
DuHz2 小时前
论文精读:大语言模型 (Large Language Models, LLM) —— 一项调查
论文阅读·人工智能·深度学习·算法·机器学习·计算机视觉·语言模型
是烟花哈2 小时前
【前端】React框架学习
前端·学习·react.js
檀越剑指大厂2 小时前
32 万星的面试学习计划 + 内网穿透工具,程序员面试准备效率翻倍!
学习·面试·职场和发展
加农炮手Jinx2 小时前
LeetCode 72. Edit Distance 题解
算法·leetcode·力扣
借雨醉东风2 小时前
程序分享--常见算法/编程面试题:旋转矩阵
c++·线性代数·算法·面试·职场和发展·矩阵
_深海凉_2 小时前
LeetCode热题100-打家劫舍
算法·leetcode·职场和发展
Oll Correct2 小时前
实验二十一:验证OSPF可以划分区域
网络·笔记
jghhh013 小时前
使用 MATLAB 实现支持向量回归 (SVR) 预测未来数据
算法·matlab
云泽8083 小时前
笔试算法 - 双指针篇(二):四大经典求和题型 + 有效三角形计数问题
c++·算法
YangYang9YangYan4 小时前
2026年工作后学习数据分析的价值与路径
学习·数据挖掘·数据分析