A - kcal
题目大意
我们有一种每$100$毫升含有$A$千卡热量的饮料。$B$毫升的这种饮料含有多少千卡热量?
$0\le A, B\le 1000$
输入格式
$A~B$
输出格式
输出$B$毫升这种饮料包含的的千卡数。最大允许浮点数精度误差$10^{-6}$。
样例
$A$ | $B$ | 输出 |
---|---|---|
$45$ | $200$ | $90$ |
$37$ | $450$ | $166.5$ |
$0$ | $1000$ | $0$ |
$50$ | $0$ | $0$ |
分析
废话不多说,答案就是$\frac{AB}{100}$~
代码
|
|
B - Permutation Check
题目大意
给定长度为$N$的序列$A=(A_1,A_2,\dots,A_N)$。
判断$A$是否为$(1,2,\dots,N)$的一种排列。
$1\le A_i\le N\le 10^3$
输入格式
$N$
$A_1~A_2~\dots~A_N$
输出格式
如果$A$是$(1,2,\dots,N)$的一种排列,输出Yes
;否则,输出No
。
样例
样例输入1
|
|
样例输出1
|
|
$(3,1,2,4,5)$是$(1,2,3,4,5)$的一种排列,所以我们输出Yes
。
样例输入2
|
|
样例输出2
|
|
$(3,1,4,1,5,2)$不是$(1,2,3,4,5,6)$的一种排列,所以我们输出No
。
样例输入3
|
|
样例输出3
|
|
样例输入4
|
|
样例输出4
|
|
分析
由于题目保证$1\le A_i\le N$,所以$(1,2,\dots,N)$的一种排列$A$定义如下:
- $A$中$1$到$N$每个数字不重复出现。
因此,我们可以用数组记录每个数字是否出现,所以总时间复杂度为$\mathcal O(n)$。
代码
|
|
C - POW
题目大意
给定三个整数$A,B,C$,判断$A^C$和$B^C$哪个更大。
$-10^9\le A,B\le 10^9$
$1\le C\le 10^9$
输入格式
$A~B~C$
输出格式
本题分如下三种情况输出:
- 如果$A^C < B^C$,输出
<
; - 如果$A^C > B^C$,输出
>
; - 如果$A^C = B^C$,输出
=
。
样例
$A$ | $B$ | $C$ | 输出 |
---|---|---|---|
$3$ | $2$ | $4$ | > |
$-7$ | $7$ | $2$ | = |
$-8$ | $6$ | $3$ | < |
分析
首先,由于负负得正,$(-a)^2=a^2$。
这样,我们可以根据奇偶性得出,如果$n$为偶数,$(-a)^n=a^n$;但如果$n$为奇数,则$(-a)^n=-(a^n)$。
因此,我们只需判断如果$C$为偶数,将$A$替换为$|A|$,再将$B$替换为$|B|$。
最后,$A$和$B$的大小关系就是$A^C$和$B^C$的大小关系。
代码
|
|
D - Kth Excluded
题目大意
给定长度为$N$的正整数序列$A=(A_1,A_2,\dots,A_N)$和$Q$次查询。
在第$i$次查询中,给定正整数$K_i$,求第$K_i$小的不在$A$中的正整数。
$1\le N,Q\le 10^5$
$1\le A_1 < A_2 < \dots < A_N\le10^{18}$
$1\le K_i\le 10^{18}$
输入格式
$N~Q$
$A_1~A_2~\dots~A_N$
$K_1$
$K_2$
$\hspace{5pt}\vdots$
$K_N$
输出格式
输出$Q$行。第$i$行应该包含第$K_i$小的不在$A$中的正整数。
样例
样例输入1
|
|
样例输出1
|
|
不在$A$中的正整数有$1,2,4,8,9,10,11,\dots$,其中有:
- 第$2$小的$2$;
- 第$5$小的$9$;
- 第$3$小的$4$。
因此,我们应该依次输出2
,9
,4
。
样例输入2
|
|
样例输出2
|
|
分析
本题我们可以先预处理出$A$中每个元素比它小的元素的数量,再二分查找即可。
代码
|
|
E - White and Black Balls
题目大意
有多少种排列$N$个白球和$M$个黑球的方法使得下列条件成立?
- 对于每个$i$ ($1\le i\le N+M$),设$w_i$和$b_i$分别是最左边$i$个球中白球和黑球的数量,$w_i\le b_i+K$成立。
答案对$(10^9+7)$取模。
$0\le N,M\le10^6$
$1\le N+M$
$0\le K\le N$
输入格式
$N~M~K$
输出格式
输出答案,对$(10^9+7)$取模。
样例
$N$ | $M$ | $K$ | 输出 |
---|---|---|---|
$2$ | $3$ | $1$ | $9$ |
$1$ | $0$ | $0$ | $0$ |
$1000000$ | $1000000$ | $1000000$ | $192151600$ |
分析
首先,本题中合法排列数就是如下符合任意$y\le x+K$的$(0,0)\to(M,N)$的最短路径的数量:
由此可见,如果$N > M+K$(即终点超出限制),答案一定为$0$。
我们还可以发现,如果没有$y\le x+K$这个限制,答案为$\binom{N + M}{N}$。
我们再考虑不合法的路径数,数量为$\binom{N + M}{M + K + 1}$。
因此,答案为$\binom{N + M}{N}-\binom{N + M}{M + K + 1}$。
代码
这里用AtCoder Library
好像比较方便唉~
|
|