摘要: Description 求出n!的末尾有多少个0(连续的)。 每组测试点有t个测试数据,输入格式为第一行一个t,后面2~t+1行每行一个n,输出其结果。 Sample Input Sample Output 题解: 求一个数阶乘的末尾0的个数。 10=2*5,显然2的个数总比5多, 即转化为,求阶乘 阅读全文
posted @ 2017-09-03 15:51 BK-Edwina 阅读(191) 评论(0) 推荐(0) 编辑
摘要: Description 组合数C(n,m)​​表示的是从n个物品中选出m个物品的方案数。举个例子,从(1,2,3) 三个物品中选择两个物品可以有(1,2),(1,3),(2,3)这三种选择方法。根据组合数的定义,我们可以给出计算组合数的一般公式: C(n,m) = n! / (m!(n-m)!) 其 阅读全文
posted @ 2017-09-03 15:45 BK-Edwina 阅读(285) 评论(0) 推荐(0) 编辑
摘要: Description 现在有一片N*M的田地,其中有一些格子不能种玉米,且种植玉米时,也不能同时种在相邻的两个格子。求种植方案数。 Sample Input 2 31 1 10 1 0Sample Output 9 题解: 状压dp的基础题啊qwq但我还是写了有一会儿……(完全忘了这种题的套路了) 阅读全文
posted @ 2017-09-02 15:32 BK-Edwina 阅读(184) 评论(0) 推荐(0) 编辑
摘要: Description 给一个不递减的长度为n的数列,q个询问,每次询问[l,r]区间内众数出现的次数。 Sample Input 10 3-1 -1 1 1 1 1 3 10 10 102 31 105 100 Sample Output 1 4 3 题解: 因为是有了不递减的限制,所以可以当成r 阅读全文
posted @ 2017-09-02 08:13 BK-Edwina 阅读(245) 评论(0) 推荐(0) 编辑
摘要: Description 有n头牛排成一个数列,给q个询问,每个询问给定l和r,求[l,r]区间内最高的牛和最低的牛的身高差。 Sample Input 6 31734251 54 62 2 Sample Output 6 3 0 题解: 下午依然很水…… RMQ问题,这次用st表来解决,直接上板子就 阅读全文
posted @ 2017-09-01 17:21 BK-Edwina 阅读(149) 评论(0) 推荐(0) 编辑
摘要: Description 每次给你6种商品的数量,第1种商品的价值为1,第2种商品价值为2……第6种商品价值为6。 问能否将商品分成两堆,使得既不拆分商品,且两堆的价值和相等。 Sample Input 1 0 1 2 0 0 1 0 0 0 1 1 0 0 0 0 0 0 Sample Output 阅读全文
posted @ 2017-09-01 10:15 BK-Edwina 阅读(276) 评论(0) 推荐(0) 编辑
摘要: Description 假设你现在有现金cash,有n种商品,给定你它们各自的价格和数量。如果你想尽可能多地购买商品,请求出最多能买商品的总价值。 Sample Input 735 3 4 125 6 5 3 350633 4 500 30 6 100 1 5 0 1735 00 3 10 100 阅读全文
posted @ 2017-09-01 07:29 BK-Edwina 阅读(129) 评论(0) 推荐(0) 编辑
摘要: Description 现在给你n种硬币,每个硬币的价值是a[i],以及此种硬币的数量为c[i],问你能用这些小硬币拼出来几种不同价值的大硬币,使得大硬币的价值在1~m之间。 Sample Input 3 10 1 2 4 2 1 1 2 5 1 4 2 1 0 0 Sample Output 8 阅读全文
posted @ 2017-08-31 20:59 BK-Edwina 阅读(137) 评论(0) 推荐(0) 编辑
摘要: Description 有1~n个数字,两个人轮流选择一个数字,并把它和它的约数擦去。擦去最后一个数的人赢,问谁会获胜。 题解: 类似于chomp博弈的巧克力游戏(把约数1当作右上角那块格子)。每个数的约数都有1,先手可以取走1把必败态扔给对方。 所以除了n==0的情况,总有先手必胜。 1 #inc 阅读全文
posted @ 2017-08-27 18:37 BK-Edwina 阅读(577) 评论(0) 推荐(0) 编辑
摘要: Description 我们知道c中有这样一个循环语句 for(int i=A;i<=B;i+=C) { i%=(1<<k); } 给定A,B,C,k的值,问此循环是否能够在有限次数内终止,不能则输出"FOREVER"。 for(int i=A;i<=B;i+=C) { i%=(1<<k); } 给 阅读全文
posted @ 2017-08-27 11:11 BK-Edwina 阅读(191) 评论(0) 推荐(0) 编辑