01:59(160)

This commit is contained in:
Your Name committed 2026-11-01 01:59:35 +08:00
1 parent 9362c48811
commit bbc2a605d4
3 files changed
+133 -5

No files matched your search

+25 -4
View File
@@ -1,16 +1,36 @@
#include<bits/stdc++.h>
using namespace std;
int c, t;
int n, d;
int x[2000005];
int n;
long long d;
long long x[2000005];
long long fa[5005][5005];
int main() {
freopen("migrate.in", "r", stdin);
freopen("migrate.out", "w", stdout);
scanf("%d%d", &c, &t);
while(t--) {
scanf("%d%d", &n, &d);
scanf("%d%lld", &n, &d);
for(int i = 1; i <= n; ++i) {
scanf("%d", &x[i]);
scanf("%lld", &x[i]);
}
if(c <= 10) {
long long ans = 0;
for(int i = 1; i < n; ++i) {
fa[i][i] = 1;
fa[i][i + 1] = (x[i + 1] - x[i] <= d) && (fa[x + 2] - x[i]) > d;
}
fa[n][n] = 1;
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 - 1; ++mid) {
fa[l][r] += fa[l][mid] * fa[mid + 1][r];
}
if(fa[l][r] == 2) ans++;
}
}
printf("%lld\n", ans);
}
}
return 0;
@@ -20,4 +40,5 @@ g++ migrate/migrate.cpp -o migrate/migrate -std=c++14 -O2 -static -Wall && cp mi
每次飞行长度不超过 d
体力消耗为飞行次数
长度最短一定不回溯
*/