B - 来找一找吧 HihoCoder - 1701
题目:
这次到渣渣问桶桶了。。。
准备给你n个数a1, a2, ... an,桶桶你能从中找出m个特别的整数吗,我想让任意两个之差都是k的倍数。
请你计算有多少种不同的选法。由于选法可能非常多,你只需要输出对1000000009取模的结果。
Input
第一行包含三个整数n、m和k。
第二行包含n个整数a1, a2, ... an。
对于30%的数据,2 ≤ m ≤ n ≤ 10
对于100%的数据,2 ≤ m ≤ n ≤ 100 1 ≤ k, ai ≤ 100
Output
一个整数表示答案。
Sample Input
5 3 2
1 2 3 4 5
Sample Output
1
题解:
因为“任意两个数的差是k的倍数,那么两个数取余k后相等”,所以只需要统计一下取余k之后有多少数等于x(1<=x<k)
假设这个数是ans,然后从ans里面挑出来m个数就行(也就是排列组合)


我们这里用的第二个公式
但是排列组合要求阶乘,为了防止爆long long,我们要边乘边除(具体见代码)
代码:
1 #include<stdio.h>
2 #include<string.h>
3 #include<iostream>
4 #include<algorithm>
5 #include<queue>
6 #include<vector>
7 #include<map>
8 using namespace std;
9 const int INF=0x3f3f3f3f;
10 const int maxn=110;
11 const int mod=1000000009;
12 typedef long long ll;
13 ll v[maxn];
14 int main()
15 {
16 ll n,m,k;
17 while(~scanf("%lld%lld%lld",&n,&m,&k))
18 {
19 memset(v,0,sizeof(v));
20 ll temp1,temp2,ans=0;
21 for(ll i=0; i<n; i++)
22 {
23 ll x;
24 scanf("%lld",&x);
25 v[x%k]++;
26 }
27 for(ll i=0; i<k; i++)
28 {
29 temp1=1;
30 temp2=1;
31 if(v[i]<m)
32 continue;
33 // for(ll j=m+1; j<=v[i]; j++)
34 // {
35 // temp1=temp1*j;
36 // }
37 // for(ll j=m+1; j<=v[i]-m; j++)
38 // {
39 // temp2=temp2*j;
40 // }
41 // temp1/=temp2;
42 for(ll j=m+1;j<=v[i];j++) //这个for循环就是分子的阶乘
43 {
44 temp1=temp1*j;
45 //注意要加判断条件temp1%temp2==0,只有这样才会保证结果正确
46 while (temp1%temp2==0 && temp2<=(v[i]-m)) //这个temp2就是分母的阶乘
47 {
48 temp1=temp1/temp2;
49 temp2++;
50 }
51 }
52
53 ans+=(temp1%mod);
54 }
55 printf("%lld\n",ans);
56 }
57 return 0;
58 }
B - 来找一找吧 HihoCoder - 1701的更多相关文章
- tyvj1013 找啊找啊找GF
描述 "找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手,你是我的好GF.再见.""诶,别再见啊..."七夕...七夕...七夕这个日子,对于sqybi这种单身的 ...
- BZOJ-1228 E&D 博弈SG+找啊找啊找规律
讨厌博弈,找规律找半天还是错的.... 1228: [SDOI2009]E&D Time Limit: 10 Sec Memory Limit: 162 MB Submit: 666 Solv ...
- TYVJ P1013 找啊找啊找GF Label:动态规划
做题记录:2016-08-15 22:19:04 背景 MM七夕模拟赛 描述 "找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手,你是我的好GF.再见.""诶,别再见啊.. ...
- 找啊找啊找GF
P1013 找啊找啊找GF 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 MM七夕模拟赛 描述 "找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手, ...
- Delphi下实现全屏快速找图找色
前言 最近有好几个朋友都在问我找图找色的问题,奇怪?于是乎写了一个专门用于找图找色的单元文件“BitmapData.pas”.在这个单元文件中我实现了从文件中导入位图.屏幕截图.鼠标指针截图.在图片上 ...
- P1509 找啊找啊找GF
P1509 找啊找啊找GF 题目背景 "找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手,你是我的好GF.再见." "诶,别再见啊..." 七夕...七夕...七 ...
- C#实现按键精灵的'找图' '找色' '找字'的功能
http://www.cnblogs.com/JimmyBright/p/4355862.html 背景:游戏辅助功能通常使用按键精灵编写脚本,按键精灵的最大卖点就是能够找到画面中字,图,色,这对于模 ...
- 洛谷 P1509 找啊找啊找GF
题目背景 "找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手,你是我的好GF.再见." "诶,别再见啊..." 七夕...七夕...七夕这个日子,对于sqybi这 ...
- hunnu--11548--找啊找啊找朋友
找啊找啊找朋友 Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit users: 14, ...
- 牛客网 Wannafly挑战赛9 A.找一找-数据处理
好几天没好好学习了(咸鱼晒干了) 把稍微没那么咸鱼的几天前的一场牛客网的比赛稍微看了一下,菜的要死,这一场大数的比较多,都死了. A.找一找 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C ...
随机推荐
- 通过show profile分析sql语句
set profling=1; select count(*) from xuehao; show profiles; show profile for query 1; mysql> set ...
- 【IMP】IMP导入表的时候,如果表存在怎么办
在imp导入的时候,如果表存在的话,会追加数据在表中, 所以如果不想追加在表中的话,需要将想导入的表truncate掉后,在imp SQL: truncate table TEST1; imp tes ...
- online创建索引中途取消导致索引无法删除解决办法
问题:有一个表ID栏位没有索引,但是在一个update语句的where中被使用,因此打算online创建索引,但是长时间没有成功,此时决定取消,取消后发现索引无法删除 过程: 数据库监控报警有行锁,进 ...
- druid discard long time none received connection问题解析
最新项目中用的druid连接数据库遇到一个困扰很久的问题 1 开始用的druid版本是1.1.22版本,由于业务需求,单个连接需要执行很久,理论上不需要用到自动回收,但为了安全,还是加了自动回收,时间 ...
- Python Debug工具
最近在github上冒出了一个python的debug神器PySnooper,号称在debug时可以消灭print.那么该工具有哪些优点呢,如何使用该工具呢.本文就介绍该工具的优缺点和使用方式. 前言 ...
- 【Android初级】使用TypeFace设置TextView的文字字体(附源码)
在Android里面设置一个TextView的文字颜色和文字大小,都很简单,也是一个常用的基本功能.但很少有设置文字字体的,今天要分享的是通过TypeFace去设置TextView的文字字体,布局里面 ...
- TCP/IP中的Payload概念以及由此引申出的一些问题
TCP报文一次性最大运输的货物量(Payload),大体可以这么来计算: IP报文头长度 + TCP报文头长度 + Payload长度 ≤ MTU 即左边的三者之和,要小于等于右边MTU的长 ...
- calc, support, media各自的含义及用法?
@support主要是用于检测浏览器是否支持CSS的某个属性,其实就是条件判断,如果支持某个属性,你可以写一套样式,如果不支持某个属性,你也可以提供另外一套样式作为替补. calc() 函数用于动态计 ...
- Redis击穿、穿透、雪崩产生原因以及解决思路
击穿 大家都知道,计算机的瓶颈之一就是IO,为了解决内存与磁盘速度不匹配的问题,产生了缓存,将一些热点数据放在内存中,随用随取,降低连接到数据库的请求链接,避免数据库挂掉.需要注意的是,无论是击穿还是 ...
- (万字好文)Dubbo服务熔断与降级的深入讲解&代码实战
原文链接:(万字好文)Dubbo服务熔断与降级的深入讲解&代码实战 一.Dubbo服务降级实战 1 mock 机制 谈到服务降级,Dubbo 本身就提供了服务降级的机制:而 Dubbo 的服务 ...