- 陈阳阳 的博客
因没有U盘而诞生的代码传输助手
- @ 2026-6-2 22:00:43
B4016 树的直径
#include<bits/stdc++.h>
using namespace std;
const int N = 1000000;
vector<pair<int, int>> vec[N];
vector<int> ans[N];
bool hasp[10*N];
int main() {
int n;
cin >> n;
for(int i = 1; i < n; i++) {
int u, v;
cin >> u >> v;
vec[v].push_back(u); // 记录父子关系
hasp[v] = true;
}
long long rt = -1;
for(int i = 1; i <= n; i++) {
if(!hasp[i]) {
rt = i;
break;
}
}
for(int i = 1; i <= n;i++){
if(i == rt){
continue;
}
int now =
while
}
}
AtCoder E - Alternating Costs
#pragma GCC optimize(3)
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
ll dp[1000][1000];
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin >> t;
while (t--) {
ll a, b, x, y;
cin >> a >> b >> x >> y;
memset(dp, 0, sizeof(dp));
ll dx = abs(x), dy = abs(y);
ll ans = 0, k = 0;
for(int i = 0; i <= dx; i++) {
for(int j = 0; j <= dy; j++) {
if(k%2 == 0) {
dp[i][j] = min(dp[i-1][j]+a, dp[i][j-1]+b);
} else {
dp[i][j] = min(dp[i-1][j]+b, dp[i][j-1]+a);
}
}
}
cout << dp[dx][dy] << '\n';
}
}