日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Duplicate Strings 字符串 取模 牛客练习赛95

發(fā)布時間:2025/3/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Duplicate Strings 字符串 取模 牛客练习赛95 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

鏈接:https://ac.nowcoder.com/acm/contest/11185/A
來源:牛客網(wǎng)

時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 262144K,其他語言524288K
64bit IO Format: %lld
題目描述
給出僅包含小寫字母的字符串字符串 ss,qq 次操作,每次操作有兩種類型:

  • 把當(dāng)前的字符串 ss 復(fù)制 kk 次之后接在自己后面。
  • 詢問當(dāng)前字符串 ss 中某個字符 cc 出現(xiàn)的次數(shù),答案對 10^9+710
    9
    +7 取模。
  • 請你對每個第二種類型的操作輸出答案。

    輸入描述:
    第一行兩個正整數(shù) n,qn,q,nn 表示字符串長度。(1\le n,q\le 10^5)(1≤n,q≤10
    5
    )

    接下來一行一個字符串 ss,僅包含小寫字母。

    接下來 qq 行,每行第一個正整數(shù) opop 表示操作類型。(1\le op\le 2)(1≤op≤2)

    • op=1op=1,則后接一個整數(shù) kk,表示把 ss 復(fù)制 kk 次后接在自己后面。(0\le k\le 10^9)(0≤k≤10
      9
      )
    • op=2op=2,則后接一個小寫字母 cc,表示求 ss 中 cc 的出現(xiàn)次數(shù)。
      輸出描述:
      對每個詢問操作輸出答案。
      示例1
      輸入
      復(fù)制
      3 3
      aba
      1 5
      2 a
      2 b
      輸出
      復(fù)制
      12
      6
      說明
      第一次操作后,字符串變?yōu)?abaabaabaabaabaaba。
    #include <iostream> using namespace std;typedef long long ll;const ll mod = 1e9 + 7;ll v[26];int main() {ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);int n, m; cin >> n >> m;string s; cin >> s;for (auto ch : s) v[ch - 'a'] ++ ;int op; ll k; char ch;ll cnt = 1;while (m -- ){cin >> op;if (op & 1){cin >> k;(cnt *= (k + 1)) %= mod;}else{cin >> ch;cout << (cnt * v[ch - 'a']) % mod << endl;}} }

    總結(jié)

    以上是生活随笔為你收集整理的Duplicate Strings 字符串 取模 牛客练习赛95的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。