310117: CF1784F. Minimums or Medians
Memory Limit:512 MB
Time Limit:4 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Minimums or Medians
题目描述
Vika has a set of all consecutive positive integers from $ 1 $ to $ 2n $ , inclusive. Exactly $ k $ times Vika will choose and perform one of the following two actions: - take two smallest integers from her current set and remove them; - take two median integers from her current set and remove them. Recall that medians are the integers located exactly in the middle of the set if you write down its elements in increasing order. Note that Vika's set always has an even size, thus the pair of median integers is uniquely defined. For example, two median integers of the set $ \{1, 5, 6, 10, 15, 16, 18, 23\} $ are $ 10 $ and $ 15 $ . How many different sets can Vika obtain in the end, after $ k $ actions? Print this number modulo $ 998\,244\,353 $ . Two sets are considered different if some integer belongs to one of them but not to the other.输入输出格式
输入格式
The only line contains two integers $ n $ and $ k $ ( $ 1 \le k \le n \le 10^6 $ ).
输出格式
Print a single integer — the number of sets Vika can obtain in the end, modulo $ 998\,244\,353 $ .
输入输出样例
输入样例 #1
3 1
输出样例 #1
2
输入样例 #2
3 2
输出样例 #2
3
输入样例 #3
3 3
输出样例 #3
1
输入样例 #4
7 4
输出样例 #4
11
输入样例 #5
23 8
输出样例 #5
88
输入样例 #6
100 77
输出样例 #6
825430474
说明
In the first example, Vika's initial set is $ \{1, 2, 3, 4, 5, 6\} $ . She can remove the minimums from it to obtain $ \{3, 4, 5, 6\} $ , or she can remove the medians from it to obtain $ \{1, 2, 5, 6\} $ . In the second example, Vika can obtain $ \{1, 6\} $ , $ \{3, 6\} $ , or $ \{5, 6\} $ . For instance, Vika can obtain $ \{3, 6\} $ if she removes two smallest integers first ( $ \{1, 2, 3, 4, 5, 6\} \rightarrow \{3, 4, 5, 6\} $ ), and then she removes two median integers ( $ \{3, 4, 5, 6\} \rightarrow \{3, 6\} $ ). In the third example, regardless of Vika's choices, she'll end up with an empty set.Input
暂时还没有翻译
Output
**题目大意**
Vika有一个从1到$2n$(含)的所有连续正整数的集合。
Vika将恰好执行以下两种操作中的$k$次:
- 从她当前的集合中取出两个最小的整数并移除它们;
- 从她当前的集合中取出两个中位数整数并移除它们。
中位数是在将集合元素按递增顺序写下时位于正中间的整数。注意Vika的集合总是有偶数个元素,因此中位数的两个整数是唯一确定的。例如,集合$\{1, 5, 6, 10, 15, 16, 18, 23\}$的中位数是$10$和$15$。
在执行了$k$次操作之后,Vika可以获得多少不同的集合?请输出这个数字对$998,244,353$取模的结果。如果某个整数属于其中一个集合而不属于另一个,则认为两个集合是不同的。
**输入输出数据格式**
**输入格式:**
- 一行包含两个整数$n$和$k$($1 \le k \le n \le 10^6$)。
**输出格式:**
- 输出一个整数,即Vika最终可以获得的集合数量,对$998,244,353$取模的结果。
**输入输出样例**
**输入样例 #1**
```
3 1
```
**输出样例 #1**
```
2
```
**输入样例 #2**
```
3 2
```
**输出样例 #2**
```
3
```
**输入样例 #3**
```
3 3
```
**输出样例 #3**
```
1
```
**输入样例 #4**
```
7 4
```
**输出样例 #4**
```
11
```
**输入样例 #5**
```
23 8
```
**输出样例 #5**
```
88
```
**输入样例 #6**
```
100 77
```
**输出样例 #6**
```
825430474
```**题目大意** Vika有一个从1到$2n$(含)的所有连续正整数的集合。 Vika将恰好执行以下两种操作中的$k$次: - 从她当前的集合中取出两个最小的整数并移除它们; - 从她当前的集合中取出两个中位数整数并移除它们。 中位数是在将集合元素按递增顺序写下时位于正中间的整数。注意Vika的集合总是有偶数个元素,因此中位数的两个整数是唯一确定的。例如,集合$\{1, 5, 6, 10, 15, 16, 18, 23\}$的中位数是$10$和$15$。 在执行了$k$次操作之后,Vika可以获得多少不同的集合?请输出这个数字对$998,244,353$取模的结果。如果某个整数属于其中一个集合而不属于另一个,则认为两个集合是不同的。 **输入输出数据格式** **输入格式:** - 一行包含两个整数$n$和$k$($1 \le k \le n \le 10^6$)。 **输出格式:** - 输出一个整数,即Vika最终可以获得的集合数量,对$998,244,353$取模的结果。 **输入输出样例** **输入样例 #1** ``` 3 1 ``` **输出样例 #1** ``` 2 ``` **输入样例 #2** ``` 3 2 ``` **输出样例 #2** ``` 3 ``` **输入样例 #3** ``` 3 3 ``` **输出样例 #3** ``` 1 ``` **输入样例 #4** ``` 7 4 ``` **输出样例 #4** ``` 11 ``` **输入样例 #5** ``` 23 8 ``` **输出样例 #5** ``` 88 ``` **输入样例 #6** ``` 100 77 ``` **输出样例 #6** ``` 825430474 ```
Vika有一个从1到$2n$(含)的所有连续正整数的集合。
Vika将恰好执行以下两种操作中的$k$次:
- 从她当前的集合中取出两个最小的整数并移除它们;
- 从她当前的集合中取出两个中位数整数并移除它们。
中位数是在将集合元素按递增顺序写下时位于正中间的整数。注意Vika的集合总是有偶数个元素,因此中位数的两个整数是唯一确定的。例如,集合$\{1, 5, 6, 10, 15, 16, 18, 23\}$的中位数是$10$和$15$。
在执行了$k$次操作之后,Vika可以获得多少不同的集合?请输出这个数字对$998,244,353$取模的结果。如果某个整数属于其中一个集合而不属于另一个,则认为两个集合是不同的。
**输入输出数据格式**
**输入格式:**
- 一行包含两个整数$n$和$k$($1 \le k \le n \le 10^6$)。
**输出格式:**
- 输出一个整数,即Vika最终可以获得的集合数量,对$998,244,353$取模的结果。
**输入输出样例**
**输入样例 #1**
```
3 1
```
**输出样例 #1**
```
2
```
**输入样例 #2**
```
3 2
```
**输出样例 #2**
```
3
```
**输入样例 #3**
```
3 3
```
**输出样例 #3**
```
1
```
**输入样例 #4**
```
7 4
```
**输出样例 #4**
```
11
```
**输入样例 #5**
```
23 8
```
**输出样例 #5**
```
88
```
**输入样例 #6**
```
100 77
```
**输出样例 #6**
```
825430474
```**题目大意** Vika有一个从1到$2n$(含)的所有连续正整数的集合。 Vika将恰好执行以下两种操作中的$k$次: - 从她当前的集合中取出两个最小的整数并移除它们; - 从她当前的集合中取出两个中位数整数并移除它们。 中位数是在将集合元素按递增顺序写下时位于正中间的整数。注意Vika的集合总是有偶数个元素,因此中位数的两个整数是唯一确定的。例如,集合$\{1, 5, 6, 10, 15, 16, 18, 23\}$的中位数是$10$和$15$。 在执行了$k$次操作之后,Vika可以获得多少不同的集合?请输出这个数字对$998,244,353$取模的结果。如果某个整数属于其中一个集合而不属于另一个,则认为两个集合是不同的。 **输入输出数据格式** **输入格式:** - 一行包含两个整数$n$和$k$($1 \le k \le n \le 10^6$)。 **输出格式:** - 输出一个整数,即Vika最终可以获得的集合数量,对$998,244,353$取模的结果。 **输入输出样例** **输入样例 #1** ``` 3 1 ``` **输出样例 #1** ``` 2 ``` **输入样例 #2** ``` 3 2 ``` **输出样例 #2** ``` 3 ``` **输入样例 #3** ``` 3 3 ``` **输出样例 #3** ``` 1 ``` **输入样例 #4** ``` 7 4 ``` **输出样例 #4** ``` 11 ``` **输入样例 #5** ``` 23 8 ``` **输出样例 #5** ``` 88 ``` **输入样例 #6** ``` 100 77 ``` **输出样例 #6** ``` 825430474 ```