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

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

字符迁移

心有猛虎,细嗅蔷薇。你好朋友,这里是锅巴的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;
}

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

相关推荐
m4Rk_2 小时前
【论文阅读】Agent 记忆机制(83):Inside Out——用可演化 PersonaTree 构建 Agent 的核心长期记忆
论文阅读·人工智能·学习·开源·github
不会就选b2 小时前
算法日常・每日刷题--<贪心>25
数据结构·算法
andyweike2 小时前
php笔记
开发语言·笔记·php
蒸蒸yyyyzwd2 小时前
秋招学习笔记 day46
c++·八股
鬓戈3 小时前
Rust 语言与 AI 应用生态调研及学习路径
人工智能·学习·rust
传奇开心果编程3 小时前
【SwiftUI娓娓道来】第3课:让界面活起来——交互与动画指南
学习·macos·ui·ios·swiftui·swift
xian_wwq3 小时前
【学习笔记】等保合规安全基线核查实战
笔记·学习
传奇开心果编程3 小时前
【Jetpack Compose进阶学与练】第14课:系列收尾复习总结;Compose项目常见坑点汇总;学习路线与后续学习方向
android·学习·ui·kotlin·android jetpack
yangmu32034 小时前
发动机是怎么把油变成动力的:四冲程内燃机原理拆解
学习
m4Rk_4 小时前
【论文阅读】Agent 记忆机制(81):EMR——用情景记忆避免 Agent 在多步推理中反复绕圈
论文阅读·人工智能·学习·开源·github