Nowcoder84D
2024-10-14 19:50:54
Nowcoder84D
很有趣的进制转换题!
如果x满足题意,那么x+k-1
一定能符合要求!
因为k-1用k进制表示就是1,-1
,1+(-1)=0
所以数位之和不变!
用map维护一下前缀和。就好了。
#include <iostream>
#include <map>
using namespace std;
typedef long long LL;
const int N=100002;
LL k,b,n;
LL a[N],s[N],s2[N];
map<LL,LL> mp,mp2;
int main() {
scanf("%lld%lld%lld",&k,&b,&n);
for(int i=1;i<=n;i++) {
scanf("%lld",&a[i]);
s2[i]=s2[i-1]+a[i]; mp2[s2[i]]++;
a[i]%=(k-1); s[i]=s[i-1]+a[i]; s[i]%=(k-1);
mp[s[i]] ++;
}
mp[0]++; mp2[0]++;
LL ret=0,zero=0;
for(int i=0;i<=n;i++) {
mp2[s2[i]] --;
zero += mp2[s2[i]];
}
for(int i=0;i<=n;i++){
mp[s[i]] --;
ret += mp[(s[i]+b)%(k-1)];
}
if (b==0) {
ret = zero;
}
if (b==k-1) {
ret -= zero;
}
cout<<ret<<endl;
}
最新文章
- linux 安装python-setuptools
- PythonS12-day4学习笔记
- 基于OpenCV 的iOS开发
- HDU 4833 Best Financing (DP)
- java集合-HashTable
- java list
- Java项目导出war包 security alert:integrity check error”
- Windows 8 图标前面的勾选
- Interview Check If n Is A Perfect Square
- mysql避免插入重复数据
- C++ 构造函数讲解
- java 小结2 多态问题和容器介绍
- java 静态文件使用注解
- ASP.NET Core:使用Dapper和SwaggerUI来丰富你的系统框架
- C语言指针作业总结
- linux系统服务详解
- winform自定义控件开发
- 如何判断一个js对象是否是Array
- linux服务器账号密码正确无法登录
- Objekt Orientierte Programmierung C++
热门文章
- windbg分析运行在64位环境下的32位程序的dump
- TCP模型及其重点协议总结
- Android进阶(八)Can&#39;t create handler inside thread that has not called Looper.prepare()
- 2015年iOS开发工程师前景分析
- c#一些特殊语法
- 【shell脚本练习】批量添加用户和设置密码
- AngularJS进阶(三十六)AngularJS项目开发技巧之利用Service&;Promise&;Resolve解决图片预加载问题(后记)
- JAVA之旅(五)——this,static,关键字,main函数,封装工具类,生成javadoc说明书,静态代码块
- mysql语法、特殊符号及正则表达式的使用
- LeetCode之“树”:Binary Tree Level Order Traversal &;&; Binary Tree Level Order Traversal II