码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【无标题】


    链接:登录—专业IT笔试面试备考平台_牛客网
    来源:牛客网
     

    小Why拿到了一个密码长度为 mmm 的密码锁,这个密码锁可输入内容无限,并只对最后输入的 mmm 位字符进行检测,检测正确时密码锁会解锁一次,同时清空包含检测正确字符串在内的之前的所有字符。

    小Why输入了一个长度为 nnn 的字符串 sss 后,密码锁一共解锁了 kkk 次,请你告诉他有多少种密码是可能正确的。

    输入描述:

    第一行包含三个整数 n,m,k (1≤m∗k≤n≤106)n,m,k \ (1 \leq m*k \leq n \leq 10^6)n,m,k (1≤m∗k≤n≤106),表示字符串 sss 的长度,密码长度和解锁次数。

    第二行包含一个长度为 n \ n \  n 的字符串 sss,保证字符串 sss 中只含有 0∼90\sim90∼9 的数字。


    分析:

      字符串哈希unsigned long long类型


    1. #include<bits/stdc++.h>
    2. typedef long long ll;
    3. #define ull unsigned long long
    4. using namespace std;
    5. const ll N=1e6+3;
    6. const ull mod=1313;
    7. ull p[N],h[N];
    8. ull get(ll l,ll r)
    9. {
    10. return h[r]-h[l-1]*p[r-l+1];
    11. }
    12. void solve()
    13. {
    14. memset(p,0,sizeof p);
    15. memset(h,0,sizeof h);
    16. ll n,m,k;
    17. cin>>n>>m>>k;
    18. map<ull,ull> hash,la;
    19. string s;
    20. cin>>s;
    21. s=" "+s;
    22. p[0]=1;
    23. for(ll i=1;i<=n;i++)
    24. {
    25. p[i]=p[i-1]*mod;
    26. h[i]=mod*h[i-1]+s[i];
    27. }
    28. for(ll i=1;i+m-1<=n;i++)
    29. {
    30. ull res=get(i,i+m-1);
    31. if(la[res]&&la[res]+m-1>=i)continue;
    32. la[res]=i;
    33. hash[res]++;
    34. }
    35. ull sums=0;
    36. for(auto [uu,vv]:hash)
    37. {
    38. if(vv==k)sums++;
    39. }
    40. cout<<sums<<'\n';
    41. }
    42. int main()
    43. {
    44. ios_base::sync_with_stdio(false);
    45. cin.tie(0);
    46. cout.tie(0);
    47. ll t=1;
    48. while(t--)
    49. solve();
    50. return 0;
    51. }

  • 相关阅读:
    “蔚来杯“2022牛客暑期多校训练营(加赛) K.Killer Sajin‘s Matrix
    STM32 你不知道的看门狗细节
    Java进阶之博客大牛优秀好文之文章友情链接与好书推荐
    老卫带你学---leetcode刷题(215. 数组中的第K个最大元素)
    【必知必会的MySQL知识】①初探MySQL
    医工科投稿期刊推荐——9/27
    智能物联网解决方案:蓝牙IOT主控模块打造高效监测和超低功耗
    Hexagon_V65_Programmers_Reference_Manual(18)
    Linux下最新版MySQL 8.0的下载与安装(详细步骤)
    2023全球软件开发大会-上海站:探索技术前沿,共筑未来软件生态(附大会核心PPT下载)
  • 原文地址:https://blog.csdn.net/Ch714254994/article/details/132644188
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号