Compare commits
2
Commits
4f2e9e42b1
...
4fb89722a1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4fb89722a1 | ||
|
|
cd0ec40cf0 |
No files matched your search
@@ -0,0 +1,7 @@
|
||||
#include<bits/stdc++.h>
|
||||
using namespace std;
|
||||
long long x, y;
|
||||
int main() {
|
||||
scanf("%lld%lld", &x, &y);
|
||||
printf("%lld\n", (long long) ceil((y - x) / (long double)2.0));
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
# B3984 [语言月赛 202406] 编程学习
|
||||
|
||||
## 题目描述
|
||||
|
||||
小 B 喜欢学习编程,他已经做了 $x$ 道题目。在接下来的一段时间,小 B 每天可以做 $1$ 道或 $2$ 道编程题。小 B 至少还需要多少天,才能做到 $y$ 道题?
|
||||
|
||||
## 输入格式
|
||||
|
||||
输入一行两个整数 $x,y$。
|
||||
|
||||
## 输出格式
|
||||
|
||||
输出一行一个整数,表示最小的天数。
|
||||
|
||||
## 输入输出样例 #1
|
||||
|
||||
### 输入 #1
|
||||
|
||||
```
|
||||
3 6
|
||||
|
||||
```
|
||||
|
||||
### 输出 #1
|
||||
|
||||
```
|
||||
2
|
||||
|
||||
```
|
||||
|
||||
## 输入输出样例 #2
|
||||
|
||||
### 输入 #2
|
||||
|
||||
```
|
||||
4 10
|
||||
|
||||
```
|
||||
|
||||
### 输出 #2
|
||||
|
||||
```
|
||||
3
|
||||
|
||||
```
|
||||
|
||||
## 输入输出样例 #3
|
||||
|
||||
### 输入 #3
|
||||
|
||||
```
|
||||
4 135428
|
||||
|
||||
```
|
||||
|
||||
### 输出 #3
|
||||
|
||||
```
|
||||
67712
|
||||
|
||||
```
|
||||
|
||||
## 说明/提示
|
||||
|
||||
### 数据规模与约定
|
||||
|
||||
- 对于 $20\%$ 的测试数据,$1 \leq x < y \leq 10$;
|
||||
- 对于 $60\%$ 的测试数据,$1 \leq x < y \leq 10^6$;
|
||||
- 对于 $100\%$ 的测试数据,$1 \leq x < y \leq 10^{18}$。
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
#include<bits/stdc++.h>
|
||||
using namespace std;
|
||||
int n, a[510], dp[510][510], w[510][510];
|
||||
int main(){
|
||||
memset(dp, 0x7f, sizeof(dp));
|
||||
scanf("%d" , &n);
|
||||
for(int i = 1; i <= n; i++)
|
||||
scanf("%d" , &a[i]) , dp[i][i] = 1 , w[i][i] = a[i];
|
||||
for(int len = 2; len <= n; len++)
|
||||
for(int l = 1; l + len - 1 <= n; l++){
|
||||
int r = l + len - 1;
|
||||
for(int mid = l; mid < r; mid++){
|
||||
dp[l][r] = min(dp[l][r] , dp[l][mid] + dp[mid + 1][r]);
|
||||
if(dp[l][mid] == dp[mid + 1][r] && dp[l][mid] == 1 && w[l][mid] == w[mid + 1][r])
|
||||
dp[l][r] = 1 , w[l][r] = w[l][mid] + 1;
|
||||
}
|
||||
}
|
||||
printf("%d" , dp[1][n]);
|
||||
return 0;
|
||||
}
|
||||
+89
@@ -0,0 +1,89 @@
|
||||
# CF1312E Array Shrinking
|
||||
|
||||
## 题目描述
|
||||
|
||||
给你一个长度为 $n(1 \le n \le 500)$ 的数组 $a$,每次你可以进行以下两步操作:
|
||||
|
||||
1. 找到 $i \in [1, n)$,使得 $a_i = a_{i + 1}$;
|
||||
|
||||
2. 将 **它们** 替换为 $a_i + 1$。
|
||||
|
||||
每轮操作之后,显然数组的长度会减小 $1$,问剩余数组长度的最小值。
|
||||
|
||||
## 输入格式
|
||||
|
||||
第一行包含一个整数 $n(1 \le n \le 500)$,表示数组的原长。
|
||||
|
||||
第二行包含 $n$ 个整数 $a_1, a_2, \cdots a_n (1 \le a_i \le 1000)$,表示原数组 $a$。
|
||||
|
||||
## 输出格式
|
||||
|
||||
共一行仅一个整数 $num$,表示进行许多轮操作之后,$a$ 剩余长度的最小值。
|
||||
|
||||
### 样例解释
|
||||
|
||||
第一组样例中,最优操作之一为 $\text{4 3 2 2 3} \to \text{4 3 3 3} \to \text{4 4 3} \to \text{5 3}$
|
||||
|
||||
第二组样例中,最优操作之一为 $\text{3 3 4 4 4 3 3} \to \text{4 4 4 4 3 3} \to \text{4 4 4 4 4} \to \text{5 4 4 4} \to \text{5 5 4} \to \text{6 4}$
|
||||
|
||||
对于第三和第四组样例,你并不能进行任何操作。
|
||||
|
||||
## 输入输出样例 #1
|
||||
|
||||
### 输入 #1
|
||||
|
||||
```
|
||||
5
|
||||
4 3 2 2 3
|
||||
```
|
||||
|
||||
### 输出 #1
|
||||
|
||||
```
|
||||
2
|
||||
```
|
||||
|
||||
## 输入输出样例 #2
|
||||
|
||||
### 输入 #2
|
||||
|
||||
```
|
||||
7
|
||||
3 3 4 4 4 3 3
|
||||
```
|
||||
|
||||
### 输出 #2
|
||||
|
||||
```
|
||||
2
|
||||
```
|
||||
|
||||
## 输入输出样例 #3
|
||||
|
||||
### 输入 #3
|
||||
|
||||
```
|
||||
3
|
||||
1 3 5
|
||||
```
|
||||
|
||||
### 输出 #3
|
||||
|
||||
```
|
||||
3
|
||||
```
|
||||
|
||||
## 输入输出样例 #4
|
||||
|
||||
### 输入 #4
|
||||
|
||||
```
|
||||
1
|
||||
1000
|
||||
```
|
||||
|
||||
### 输出 #4
|
||||
|
||||
```
|
||||
1
|
||||
```
|
||||
Reference in new issue
Block a user