热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ZZNUOJ2141:2333求子串是3的倍数的子串个数(前缀和+规律(On)防T)

题目链接:http:47.93.249.116problem.php?id2141题意是给你给一个数字串,问该数字串有多少个连续子串能整除3因为能被3

题目链接:http://47.93.249.116/problem.php?id=2141

题意是给你给一个数字串,问该数字串有多少个连续子串能整除3
这里写图片描述



因为能被3整除的数字串的和一定是3的倍数,一开始的思路是记录前缀和,再对每一个前缀和遍历之后的前缀和用后面的前缀和减去前面的前缀和如果差值为3的倍数则ans++
但是时间复杂度为O(n^2)&#xff0c;而n<&#61;1e6&#xff0c;肯定会T&#xff0c;这道题的正确思路是
这里写图片描述

这里写图片描述

思考&#xff1a;这个规律要记住&#xff0c;如果问数字串有多少个连续子串是k的倍数&#xff0c;该方法直接套用时间复杂度O(n)

#include
#include
#include
#include
#include
#include
#include
using namespace std;int main()
{char str[1000005];while(scanf("%s",str)!&#61;EOF){long long sum[3]&#61;{0};int s&#61;0;int n&#61;strlen(str);for(int i&#61;0;i&#39;0&#39;;s%&#61;3;sum[s]&#43;&#43;;//统计0, 1, 2个数}long long ans;//求组合数ans&#61;(sum[0]&#43;1)*sum[0]/2&#43;sum[1]*(sum[1]-1)/2&#43;sum[2]*(sum[2]-1)/2;printf("%lld\n",ans);}return 0;
}

推荐阅读
  • 状压dfs。。。。GemsFight!TimeLimit:2000010000MS(JavaOthers)    MemoryLimit:327680327680K ... [详细]
  • Bzoj1185最小矩阵覆盖[旋转卡壳+凸包+处理[0]情况]
    题目链接题目大意:就是给你若干个点用一个最小的矩形把这些点覆盖掉就是给你若干个点用一个最小的矩形把这些点覆盖掉就是给你若干个点用一个最小的矩形把这些点覆盖掉解题思路& ... [详细]
  • Activity为Android应用程序的一个关键组成部分,它通常提供一个用户界面用来和用户交互以完成某个功能,比如拨号,拍照,发送电子邮件或者是浏览地图,在移动设备上,Activ ... [详细]
  • 测试用例的重要局部导入依赖{代码}capabilities设置初始化driverwebdriver.remote 隐式期待,加强用例的稳定性元素定位与操作断言capabilities设置官网文档阐明罕用参数键形容值noReset在以后session下不会重置利用的状态。默认值为falsetrue,falsefullReset(iOS)删除所有的模拟器文件夹。(Android)要革除 ... [详细]
  • ICE(InternetCommunicationsEngine)是一个为现实中程序员而写的中间件平台。作为一个高性能的互联网通信平台,ICE包含了很多分层的服务和插 ... [详细]
  • 如何从PHP中删除数组中的重复值如何从PHP中删除数组中的重复值?21个解决方案204votes使用array_unique()。例:$arrayarr ... [详细]
  • 题意:多模式串匹配,输出模式串的ID思路:典型AC自动机.用向量存储答案ID#include<cstdio>#include<cstring> ... [详细]
  • restful是这些年的高频词汇了,各大互联网公司也都纷纷推出了自己的restfulapi,其实restful和thrift,grpc类似,就是一种协议,但是这种协议有点特殊的就是 ... [详细]
  • 0-0#includeintmain(intargc,charconst*argv[]){std::cout ... [详细]
  • 利用cacti添加mysql监控_cacti监控mysql  mysql复制
    监控mysqlmysql复制5.1.1主机配置1台cactiserver10.10.54.1593台msyqlservermaster:10.10.54.157sla ... [详细]
  • 开发笔记:网络协议系列八传输层TCP之可靠传输
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了网络协议系列八-传输层-TCP之可靠传输相关的知识,希望对你有一定的参考价值。 ... [详细]
  • SparkMLlib提供了一些基本的统计学的算法,下面主要说明一下:1、Summarystatistics对于RDD[Vector]类型,SparkMLlib提供了colStats ... [详细]
  • adbshell模拟发送安卓广播的入门知识和实例讲解:入门 ... [详细]
  • 1.中点画圆算法(1)P为当前点亮象素,那么,下一个点亮的象素可能是P1(Xp+1,Yp)或P2(Xp+1,Yp+1)。(2)构造函数:F(X,Y) ... [详细]
  • 对象与对象之间的成员变量是相互独立的.要想共用数据,则需要使用静态成员或静态方法#只要在类中声明静态成员变量,即使不定义对象,也可以为静态成员变量分配空间,进而可以使用静态成员变 ... [详细]
author-avatar
尼玛的被注册了
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有