題目鏈接:點擊打開鏈接
給定n個氣球
下面n行 x y t val 表示氣球出現的坐標(x,y) 出現的時刻t,氣球的價值val
槍每秒移動1個單位的距離
問:
射擊的最大價值,開始時槍瞄准的位置任意。
思路:
dp一下。。
#include #include #include #include #include #include #include #include using namespace std; #define ll long long #define N 2005 ll n; struct node{ ll x,y,t; double val; }a[N]; bool cmp(node aa, node bb){ return aa.t>n){ for(i = 1; i <= n; i++) cin>>a[i].x>>a[i].y>>a[i].t>>a[i].val; sort(a + 1, a + 1 + n, cmp); for(i = 1; i <= n; i++) { for(j = i+1; j <= n; j++) dis[i][j] = dis[j][i] = dist(a[i],a[j]); } for(i = 1; i <= n; i++) { dp[i] = a[i].val; for(j = 1; j < i; j++) { if(dis[i][j] > ((a[i].t-a[j].t)*(a[i].t-a[j].t))) continue; dp[i] = max(dp[i], dp[j]+a[i].val); } } double ans = 0; for(i = 1; i <= n; i++) ans = max(ans, dp[i]); printf("%.10lf\n",ans); } return 0; }
求一元二次方程 using System; using
漢諾塔的非遞歸解法 似乎這個問題的
poj2718-Smallest Difference(枚舉
環境:VS2010 問題:探
給定有n個要相乘
UVA11796 Dog Distance 計算幾何