main
黄海 1 year ago
parent 8c4bafa02b
commit d2b1beea5a

@ -1,30 +1,30 @@
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
struct Node {
int id;
int score;
const bool operator<(const Node &t) {
if (score == t.score) return id < t.id;
return score > t.score;
const int N = 100010;
vector<int> g[N];
int c[N];
int dfs(int u, int fa, int k) {
if (k == 0) return c[u];
int sum = c[u];
for (int i = 0; i < g[u].size(); i++) {
if (g[u][i] == fa) continue;
sum += dfs(g[u][i], u, k - 1);
}
} a[N];
/*
3
3 84
1 87
2 84
*/
return sum;
}
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) cin >> c[i];
for (int i = 1; i < n; i++){
int a, b;
cin >> a >> b;
g[a].push_back(b);
g[b].push_back(a);
}
int k;
cin >> k;
for (int i = 1; i <= n; i++)
cin >> a[i].id >> a[i].score;
sort(a + 1, a + 1 + n);
for (int i = 1; i <= n; i++)
cout << a[i].id << " " << a[i].score << endl;
cout << dfs(i, -1, k) << endl;
return 0;
}

@ -0,0 +1,10 @@
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
int a[N];
int main() {
cin >> a[0] >> a[1] >> a[2];
sort(a, a + 3);
cout << a[1] << endl;
return 0;
}

@ -0,0 +1,24 @@
#include <bits/stdc++.h>
using namespace std;
bool isQm(int x) {
int t = x;
while (t) {
int a = t % 10;
if (a > 0 && x % a > 0) return false;
t /= 10;
}
return true;
}
int main() {
int n, m;
cin >> n >> m;
int cnt = 0;
for (int i = n; i <= m; i++)
if (isQm(i)) {
cout << i << " ";
cnt++;
}
if (cnt == 0) cout << -1;
return 0;
}

@ -0,0 +1,29 @@
#include <bits/stdc++.h>
using namespace std;
const int N = 5010;
int f[N]; // DP结果数组 f[i]含义第i层台阶共有多少种到达的方法数
int n, k;
/*
4 2
5
*/
int main() {
cin >> n >> k;
// 特判K=1
if (k == 1) {
cout << 1 << endl;
exit(0);
}
// 初始化 K>=2
f[1] = 1;
f[2] = 2;
// 状态转移方程
for (int i = 3; i <= n; i++)
for (int j = max(i - k, 1); j <= max(1, i - 1); j++)
f[i] += f[j];
// for (int i = 1; i <= n; i++) cout << f[i] << " ";
cout << f[n] << endl;
return 0;
}

@ -0,0 +1,47 @@
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202403072025874.png)
办法:将十六进制向十进制化,**而不是** 将十进制向十六进制转换。上来直接排除$D$(出题人不会太仁慈,否则就直接秒杀了),其它的靠算。
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202403072030081.png)
```cpp {.line-numbers}
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
int a[N];
int main() {
cin >> a[0] >> a[1] >> a[2];
sort(a, a + 3);
cout << a[1] << endl;
return 0;
}
```
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202403072034607.png)
```cpp {.line-numbers}
#include <bits/stdc++.h>
using namespace std;
bool isQm(int x) {
int t = x;
while (t) {
int a = t % 10;
if (a > 0 && x % a > 0) return false;
t /= 10;
}
return true;
}
int main() {
int n, m;
cin >> n >> m;
int cnt = 0;
for (int i = n; i <= m; i++)
if (isQm(i)) {
cout << i << " ";
cnt++;
}
if (cnt == 0) cout << -1;
return 0;
}
```
Loading…
Cancel
Save