URAL 1055 Combinations
URAL_1055
将组合数展开后的每个数依次分解素因子,最后再统计一下有多少种素因子就可以了。
#include<stdio.h> #include<string.h> #define MAXD 1010 #define MAXN 50010 int N, M, isprime[MAXD], prime[MAXD], P, h[MAXN]; void prepare() {int i, j;P = 0;memset(isprime, -1, sizeof(isprime));for(i = 2; i <= 1000; i ++)if(isprime[i]){prime[P ++] = i;for(j = i * i; j <= 1000; j += i)isprime[j] = 0;} } void deal(int n, int d) {int i;;for(i = 0; prime[i] * prime[i] <= n; i ++)while(n % prime[i] == 0)h[prime[i]] += d, n /= prime[i];h[n] += d; } void solve() {int i, ans = 0;memset(h, 0, sizeof(h));for(i = N - M + 1; i <= N; i ++)deal(i, 1);for(i = 1; i <= M; i ++)deal(i, -1);for(i = 2; i <= N; i ++)if(h[i])++ ans;printf("%d\n", ans); } int main() {prepare();while(scanf("%d%d", &N, &M) == 2){solve();}return 0; }
URAL 1055 Combinations相关推荐
- pku,zju题目分类
哎呦喂,直接ctrl+A了.话说浙江大学的题还见过的呢.. 公告: [意见反馈][官方博客] ural pku Zju 题目分类 收藏 感谢 mugu 的提供.... Ural Problem ...
- [Leetcode] Combinations 组合数
Combinations Given two integers n and k, return all possible ombinations of k numbers out of 1 ... n ...
- LeetCode 17. Letter Combinations of a Phone Number--笔试题--C++,Python解法
题目地址:Letter Combinations of a Phone Number - LeetCode Given a string containing digits from 2-9 incl ...
- Ural 1018 (树形DP+背包+优化)
题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=17662 题目大意:树枝上间连接着一坨坨苹果(不要在意'坨'),给 ...
- bzoj1814 Ural 1519 Formula 1(插头dp模板题)
1814: Ural 1519 Formula 1 Time Limit: 1 Sec Memory Limit: 64 MB Submit: 924 Solved: 351 [Submit][S ...
- LeetCode-17-Letter Combinations of a Phone Number
算法描述: Given a string containing digits from 2-9 inclusive, return all possible letter combinations t ...
- 1055. 集体照 (25)
1055. 集体照 (25) 时间限制 400 ms 内存限制 65536 kB 乙级练习题解目录 拍集体照时队形很重要,这里对给定的N个人K排的队形设计排队规则如下: 每排人数为N/K(向下取整) ...
- itertools库 combinations() 和 permutations() 组合 和 排列选项的方法
combinations方法重点在组合,permutations方法重在排列. combinations和permutations返回的是对象地址,原因是在python3里面,返回值已经不再是list ...
- LeetCode Combinations (组合)
问题:给出n,k,要求输出从1到n选取k个数的所有组合 思路:使用dfs,第一层是从1到n中选取一个数,第二层是从基于上一层选取的数+1到n中选取一个数,依次类推. 具体代码参考: https://g ...
最新文章
- 《Algorithm算法》笔记:元素排序(2)——希尔排序
- Android之jni编译报错comparsion between signed and unsigned integer expressions解决办法
- 作者:夏虎, 男, 电子科技大学副研究员、 教育大数据研究所所长。
- mysql linux 关闭防火墙_linux常用命令和关闭防火墙
- 【华为云技术分享】自动网络搜索(NAS)在语义分割上的应用(一)
- 漫画让你秒懂5G黑科技....
- java逗号的转义字符是,Java是否有'@'字符来转义字符串引号?
- printf(%d,5.01)和printf(%f,5)的输出结果
- mvc三层架构_Java架构-代码分层的设计之道
- Python的collections模块中namedtuple结构使用示例
- window启动过程讲解--PPT截图[张银奎]
- 理解XML Schema: XML Schema 初步 (I)(转)
- linux 链表头文件,Linux下单链表的实现
- systemtap调试linux内核源码,内核调试工具SystemTap:适合懒人的printk替代品
- HDU 1358 Period【KMP】
- mysql 批量更新_MySQL批量更新
- c++类与对象之默认成员函数
- @my_decorator
- 电脑计算机的快捷键是什么,电脑保存的快捷键是什么-电脑知识
- RecyclerView的 overScrollMode,scrollbars属性含义