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;
}

Nowcoder84D的更多相关文章

随机推荐

  1. android的PackageManagerService详解

    PackageManagerService主要是一个包的管理服务,在开机的时候会解析以前保存的一些安装包的相关数据,android运行过程中新安装的apk也会保存到PackageManagerServ ...

  2. iOS中 KVO 键值观察者

    KVO Key-Value-Obsever 键值观察者 1.首先要有一个观察者,此时被观察者是自己找一个观察者观察自己的key值对应的value值有没有改变,如果改变了就可以做一些响应的操作 创建一个 ...

  3. javascript之DOM编程增加附件

    在开始这个案例之前,需要学习一下有关于根据子关系节点获取标签的几个方法.罗列如下 /*通过关系(父子关系.兄弟关系)找标签.parentNode 获取当前元素的父节点.childNodes 获取当前元 ...

  4. MyEclipse 报错:Errors running builder 'DeploymentBuilder' on project '工程名'

    并没有更换MyEclipse版本,只是重新卸载了下,然后就报错误,参考了网上的文章 解决版本 .就是删除工程下部署文件

  5. (NO.00001)iOS游戏SpeedBoy Lite成形记(十九)

    最后就是要完成前面设定的第3件事:如果玩家赌对了则赢钱,反之输钱. 前面的框架搭的差不多了,所以这里实现起来也就不难了 ;) 首先我们怎么知道用户输入完毕,然后关闭窗口了?只有在这个点上GameSce ...

  6. daemontools安装和使用

    daemontools安装和使用 参考: http://cr.yp.to/daemontools/install.html daemontools用于自动重启进程.当某个关键服务进程崩溃,可以利用da ...

  7. batch gradient descent(批量梯度下降) 和 stochastic gradient descent(随机梯度下降)

    批量梯度下降是一种对参数的update进行累积,然后批量更新的一种方式.用于在已知整个训练集时的一种训练方式,但对于大规模数据并不合适. 随机梯度下降是一种对参数随着样本训练,一个一个的及时updat ...

  8. UML之活动图

    活动图,她的英文名字叫Activity Diagram,是一种说明业务用例实现的工作流程,活动图是UML大家族中用于对系统的动态方面建模的无中图之一. 举个简单的例子,以建房的工作流为例,首先,我们要 ...

  9. Obj-C中内存的管理一瞥

    注意,ARC仅仅(自动)释放你手工管理的Objective-C类实例的内存, 但是不会释放由C函数或者Core Foundation(Cocoa的底层,C语言的变体)申请的内存.

  10. linux打包压缩常用命令

    打包: zip   gzip  bzip2 tar  xz     //rar zip 包 zip   xxx.zip     test.c  压缩 unzip  xxx.zip            ...