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

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

字符迁移

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

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

相关推荐
风曦Kisaki6 分钟前
# Kubernetes(K8s)笔记Day13 :工作负载资源概述与 Job (CronJob)控制器
linux·笔记·云原生·容器·kubernetes
阳明山水10 分钟前
销量预测的“隐形杀手”:概念漂移与自适应学习实战
人工智能·深度学习·算法·机器学习·架构
Zenova EdgeOS13 分钟前
C++ 工业边缘 Qt 桌面应用实战:从 QWidget 到模型视图、网络与多线程
网络·c++·qt
szarron16 分钟前
HT666 0.6-6GHz 定向高增益手持天线:EMC 测试与频谱定位实战指南
网络·算法·5g·信号处理·射频工程·频谱仪
liulilittle27 分钟前
反量化:反量化Q8零(q8_0)
人工智能·算法·机器学习·ai·llm
老洋葱Mr_Onion28 分钟前
【C++】CSP-J复赛dp问题(含模板题)
开发语言·c++
hongmai6668882 小时前
聊聊ESP32-C3-WROOM-02-N8这颗8MB Flash的RISC-V模组
笔记·嵌入式硬件·物联网·智能路由器·risc-v
青 春 记 忆7 小时前
LeetCode 21. 合并两个有序链表|Python 解法详解
python·算法·leetcode·链表
c238568 小时前
MySQL 基础用法(上):库表管理与数据增删改
c语言·数据库·c++·mysql
尤乐娃子9 小时前
进入大厂(厂子大)实习Day12
前端·笔记·实习