(題目鏈結)
題意:給出n個三維的飛彈,每次攔截只能打x,y,z嚴格上公升的若干個飛彈,求最多能一次攔截下多少個飛彈,以及最少攔截幾次將所有飛彈全部攔截。
solution
第一問直接排序後n²的dp即可。
第二問我們考慮二分圖匹配,連邊後轉換模型成為最小路徑覆蓋。
**:
// codevs1409
#include
#include
#include
#include
#include
#include
#define ll long long
#define inf 2147483640
#define pi acos(-1.0)
using
namespace
std;
const
int maxn=1010;
struct edge e[maxn*maxn];
struct point p[maxn];
int head[maxn],f[maxn],cnt,n,vis[maxn],t[maxn];
void link(int u,int v)
bool cmp(point a,point b)
}return0;}
int main()
printf("%d\n",ans);
ans=cnt=0;
for (int i=1;i<=n;i++)
printf("%d",ans);
return
0;}
codevs1409 攔截飛彈2
問題描述 一場戰爭正在 a 國與 b 國之間如火如荼的展開。b 國憑藉其強大的經濟實力開發出了無數的遠端攻擊飛彈,b 國的領導人希望,通過這些飛彈直接毀滅 a 國的指揮部,從而取得戰鬥的勝利 當然,a 國人民不會允許這樣的事情發生,所以這個世界上還存在攔截飛彈。現在,你是一名 a 國負責飛彈攔截的高...
codevs 攔截飛彈 1044
題目描述 description 某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統。但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高於前一發的高度。某天,雷達捕捉到敵國的飛彈來襲。由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有的飛彈...
codevs1044攔截飛彈
這個題第一問是求最長下降子串行,第二問可以轉化成求最長上公升子串行,為什麼?因為我們每遇到有hi hj的情況 i j 都要再使用一枚飛彈,因為飛彈只處理hi hj的情況嘛,很好理解的吧 所以 如下 完全可以更短 include include include include using namesp...