Uva_11361 Investigating Div-Sum Property
题意:
在[A,B]区间内找出满足条件的数有多少个。
条件:这个数本身 能够整除K, 且各位数字之和能够整除K。
思路:
数据范围过大2^31
2^31 = 2147483648 ~ 2*10^10
各位数字之和不会超过 2 + 9 * 9 = 83 , 所以 当K >= 83 时 答案为0
设F[n] 为 [0,n]区间内符合条件的数, 那么 答案就为F[B] - F[A-1].
暴力枚举O(N^2) 针对这么大的数据显然超时。
设f[i][s_mod][x_mod] 为 前i位数字确定时, 当前数(将后面未知数均视为0) 除以K 余x_mod, 各位数字之和除以K 余s_mod时的方案数
则f[i][s_mod][x_mod] = f[i - 1][(s_mod + p) % K][(x_mod * 10 + p) % K] (p = 0, 1, 2, 3, ..., 9)
代码:
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
#define LL long long
#define MAXN 11
int num[MAXN];
int e[MAXN];
LL f[MAXN][][];
int A, B, K, len;
void init()
{
e[] = ;
for(int i = ; i < MAXN; i ++)
e[i] = e[i-] * ;
}
LL func(int x)
{
//
memset(num, , sizeof(num));
memset(f, , sizeof(f));
int s1 = ;
int s2 = ;
for(int i = ; i >=; i --)
{
num[i] = x % ;
x /= ;
}
for(int i = ; i < ; i ++)
{
s1 = (s1 + num[i]) % K;
s2 = (s2 * + num[i]) % K;
for(int s_mod = ; s_mod < K; s_mod ++)
for(int x_mod = ; x_mod < K; x_mod ++)
for(int p = ; p < ; p ++)
f[i + ][(s_mod + p) % K][(x_mod * + p) % K] += f[i][s_mod][x_mod];
for(int j = ; j < num[i + ]; j ++)
f[i + ][(s1 + j) % K][(s2 * + j) % K] ++;
}
if((s1 + num[]) % K == && (s2 * + num[]) % K == ) ++ f[][][];
return f[][][];
} int main()
{
init();
int T;
scanf("%d",&T);
while(T--)
{
scanf("%d %d %d",&A, &B, &K);
if(K >= )
printf("0\n");
else
printf("%lld\n", func(B) - func(A - ));
}
return ;
}
Uva_11361 Investigating Div-Sum Property的更多相关文章
- Data Structure Binary Tree: Convert an arbitrary Binary Tree to a tree that holds Children Sum Property
http://www.geeksforgeeks.org/convert-an-arbitrary-binary-tree-to-a-tree-that-holds-children-sum-prop ...
- Data Structure Binary Tree: Check for Children Sum Property in a Binary Tree
http://www.geeksforgeeks.org/check-for-children-sum-property-in-a-binary-tree/ #include <iostream ...
- DOM概念的区分:Attribute和Property, html()及.text(), .val()
Attribute就是dom节点自带的属性 例如:html中常用的id.class.title.align等: <div id="immooc" title="慕课 ...
- JavaScript动态设置div的样式的方法
有时候需要根据需要动态设置div的样式,当然对于稍有经验的javascript开发者来说,这一切都是那么的简单,但是对于初学者或者说没有相关经验的开发者来说可能就是一个不大不小的难关,下面就通过实例简 ...
- Solr调研总结
http://wiki.apache.org/solr/ Solr调研总结 开发类型 全文检索相关开发 Solr版本 4.2 文件内容 本文介绍solr的功能使用及相关注意事项;主要包括以下内容:环境 ...
- solr教程,值得刚接触搜索开发人员一看
http://blog.csdn.net/awj3584/article/details/16963525 Solr调研总结 开发类型 全文检索相关开发 Solr版本 4.2 文件内容 本文介绍sol ...
- Solr总结
http://www.cnblogs.com/guozk/p/3498831.html Solr调研总结 开发类型 全文检索相关开发 Solr版本 4.2 文件内容 本文介绍solr的功能使用及相关注 ...
- 【转载】solr教程,值得刚接触搜索开发人员一看
转载:http://blog.csdn.net/awj3584/article/details/16963525 Solr调研总结 开发类型 全文检索相关开发 Solr版本 4.2 文件内容 本文介绍 ...
- Solr调研总结(转)
Solr调研总结 开发类型 全文检索相关开发 Solr版本 4.2 文件内容 本文介绍solr的功能使用及相关注意事项;主要包括以下内容:环境搭建及调试.两个核心配置文件介绍.中文分词器配置.维护索引 ...
随机推荐
- 【转】YUV420P的格式以及转换为RGB565的代码(Android摄像头的输出一般为YUV420P)
http://blog.csdn.net/daisyhd/article/details/38866809 static void cvt_420p_to_rgb565(int width, int ...
- asp.net中利用session对象传递、共享数据[session用法]
下面介绍Asp.net中利用session对象传递.共享数据用法: 1.传递值: 首先定义将一个文本值或单独一个值赋予session,如下: session[“name”]=textbox1.text ...
- JSP 内置对象的四种属性范围
在jsp页面中的对象,包括用户创建的对象(例如,javaBean对象)和JSP的隐含对象,都有一个范围属性.范围定义了在什么时间内,在哪一个JSP页面中可以访问这些对象.例如,session对象在会话 ...
- Git学习笔记(一)
刚开始学Git,记录下来,讹误之处还望指教. 安装好git之后,有两个东东,如图: git bash 表示是命令行操作. git GUI 表示是图形化操作.但是这个界面用起来不方便,另一个图形化操作工 ...
- Go语言学习资料汇总
网站: Go语言官网(访问)(中文镜像) Go语言中文网(访问) Go编译器(访问) Go语言中国社区(访问) golanghome(访问) GoLang中国(访问) Gopher Academic( ...
- 用Module元素实现SharePoint Webpart Page的自动生成
最近研发的项目中开发了很多的WebPart,每次部署这些WebPart到新环境中总是很麻烦,因为自己要新创建WebpartPage,同时还要把这些WebPart放到指定的WebPart页中去: 为了方 ...
- java: Eclipse jsp tomcat 环境搭建(完整)
] 欢迎您! 要学习一门语言,首先要做的就是搭建环境,然后能写一个小的Demo(类似Helloworld),不仅可以建立信心,而且还可以为之后的学习搭建一个验证平台,事半功倍. net领域的vs,号称 ...
- pom.xml中<dependency>
当想下载jar包时,需要在pom.xml追加<dependency>即可. 通过如下餐叙: 如下图 http://mvnrepository.com/artifact/cglib/cgli ...
- mac下使用自带的apache与php
启动apache 运行命令 sudo apachectl -k start 启动apache 如果报 AH00526: Syntax error on line 20 of /private/etc ...
- xcode 7种使用coredata遇到 Class not found, using default NSManagedObject instead.问题
CoreData: warning: Unable to load class named 'CoreDataSwift2_2.Bowtie' for entity 'Bowtie'. Class n ...