链接:https://ac.nowcoder.com/acm/problem/15559
来源:牛客网
一天durong同学买了一个无限长的杯子,同时买了n个球,并且标号为1,2,3......n,durong同学突然想到一个问题----如果他把n个球依次,也就是按照1,2,3...n的顺序放进杯子里,然后在全部拿出来(注意不一定要等到全部放进去才能拿出球),并且会记录放进和拿出球的顺序,
durong想知道,要满足当第m个球进去后,杯子中此时恰好有k个球,然后仍然要把剩下的n-m个球放进去,最后杯中的球要取光,这样的放进和拿出球的顺序有多少种,答案有可能很大,所以mod上1e9+7
1<=n,m,k<=1e6(m可能大于n,k可能大于m) 第一行一个正整数T,表示数据组数。(1<=T<=10000) 对于每组数据包含一行三个正整数n,m,k。
对于每组数据输出一个正整数表示答案。 由于答案可能过大,所以只需要输出对1e9+7取模后的答案
示例1
复制
2 3 3 3 3 3 2
复制
1 2
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
链接:https://ac.nowcoder.com/acm/problem/15564
来源:牛客网
最近对抗生成网络(GAN)很火,其中有一种变体WGAN,引入了一种新的距离来提高生成图片的质量。这个距离就是Wasserstein距离,又名铲土距离。
这个问题可以描述如下:
有两堆泥土,每一堆有n个位置,标号从1~n。第一堆泥土的第i个位置有ai克泥土,第二堆泥土的第i个位置有bi克泥土。小埃可以在第一堆泥土中任意移挪动泥土,具体地从第i个位置移动k克泥土到第j个位置,但是会消耗k⋅∣i−j∣k\cdot\left| i-j \right|k⋅∣i−j∣的体力。小埃的最终目的是通过在第一堆中挪动泥土,使得第一堆泥土最终的形态和第二堆相同,也就是ai=bi (1<=i<=n), 但是要求所花费的体力最小
左图为第一堆泥土的初始形态,右图为第二堆泥土的初始形态,颜色代表了一种可行的移动方案,使得第一堆泥土的形态变成第二堆泥土的形态
输入测试组数T,每组测试数据,第一行输入n,1<=n<=100000,紧接着输入两行,每行n个整数,前一行为a1, a2,…,an,后一行为b1,b2,…,bn.其中0<=ai,bi<=100000,1<=i<=n,数据保证 ∑i=1nai=∑i=1nbi\sum_{i=1}^{n}{a_{i}}=\sum_{i=1}^{n}{b_{i}}∑i=1nai=∑i=1nbi
对于每组数据,输出一行,将a土堆的形态变成b土堆的形态所需要花费的最小体力
示例1
复制
2 3 0 0 9 0 2 7 3 1 7 6 6 6 2
复制
2 9
输入数据量较大,建议使用scanf/printf
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
链接:https://ac.nowcoder.com/acm/problem/15565
来源:牛客网
小埃和小森在玩一个数字游戏,小埃先从区间[L1, R1]里选择1个数字n1,小森看到小埃选的数字后,从[L2,R2]里选择1个数字n2, 将n1和n2连接在一起(n1在前, n2在后),形成一个新的数字,若这个数字可以被mod整除,那么小森获胜,否则小埃获胜。若两个人均采取最优策略,试问谁获胜?
输入测试组数T,每组数据,输入一行整数L1, R1, L2, R2, mod,其中1<=L1<=R1<109,1<=L2<=R2<109, 1<=mod<=106
每组数据输出一行,若小埃获胜,输出WIN,否则输出LOSE
示例1
复制
2 6 9 3 5 1 5 10 7 8 6
复制
LOSE WIN
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include