HDOJ 4562 西山居複賽2 守護雅典娜

2021-06-14 13:46:30 字數 877 閱讀 9117

比賽的時候wa得一塌糊塗~~原因!..讀題粗心了!!上一題的輸出是case #1: 0 , 而本題居然是case 1: 1 ... 同一套題..神坑...

思路很簡單了..能產生防禦效果的..無非是能包住雅典娜或者包住怪獸的圓..而當乙個圓同時包住了雅典娜和怪獸..同樣也沒有了防禦效果..

考慮n個圓包住乙個點並且互不相交/切能取最多圓的個數問題..用dp解決..dp順序按照圓的半徑從小到大(很明顯,乙個圓要包住另乙個圓,其半徑必須比它大)...

分別算出了包住雅典娜dp[0],包住怪獸的dp值dp[1]..再找兩個不相衝突能得到的最大圓個數...既是答案..

program:

#include#include#include#include#include#include#include#include#include#define pi acos(-1.0)

#define ll long long

#define oo 1000000000

#define maxn 1005

using namespace std;

struct node

a[maxn];

int n,x,y,sum[2][maxn];

bool cmp(node a,node b)

{ return a.r=a[i].r*a[i].r ||

(a[i].x-x)*(a[i].x-x)+(a[i].y-y)*(a[i].y-y)<=a[i].r*a[i].r ) //找出包住雅典娜,但又包不住怪獸的圓

continue;

for (j=1;j=a[i].r*a[i].r ) //找出包住怪獸,但又包不住雅典娜的圓

continue;

for (j=1;j

西山居決賽

很刺激的比賽,雖然表現很捉雞,但還是很開心。tc cf規則,3小時,其中0.5小時是hack環節 分數分布 1000 1000 1500 2000 2000 01 看了一下發現是道sb的拓撲排序 事實上不是 輕鬆過掉pretest 02 分析錯了最壞情況,以為暴力能過,然後就暴力了。03 一開始就覺...

西山居 筆試題

1.char sztest 12345 t n 0abcd 0 則 strlen sztest 值為 7 sizeof sztest 值為 14 2.int antest 5 10 int n1 antest 4 antest 10 n2 antest 3 1 antest 1 3 則 n1和n2 ...

Kingsoft西山居筆試試題

一 填空題 1.char sztest 12345 t n 0abcd 0 則strlen sztest 值為 sizeof sztest 值為 2.int antest 5 10 int n1 antest 4 antest 10 n2 antest 3 1 antest 1 3 則n1 的值為 ...