hdu 4864 任務分配貪心

2021-06-26 11:56:56 字數 843 閱讀 2806

有n臺機器,m個任務,每台機器有xi時間,yi等級,每個任務也有xj,yj,當乙個任務可以被處理的條件是,xj<=xi 且 yj

對於每個任務,時間大的優先去匹配,時間相同的,等級大的優先去匹配,因為時間佔得多,時間多1就多500,而等級最多才差200。然後匹配的時候,盡量使用等級小的去匹配,而時間只要大於它的都可以用,因為是按時間優先,所以如果該時間能匹配大的,其他肯定也能匹配,那麼肯定優先匹配大的,所以只要在等級上盡量小就可以了

#include #include #include #include #include #include #include #include using namespace std;

#define rd(x) scanf("%d",&x)

#define rd2(x,y) scanf("%d%d",&x,&y)

#define clr0(x) memset(x,0,sizeof(x))

#define x first

#define y second

typedef __int64 ll;

int a[1500][105],b[1500][150],t,f;

ll g;

int main()

for(int i = 0;i < m;++i)

g = t = 0;

for(int i = 1440;i >= 0;i--)

else

}}else

else

}f = 0;}}

if(i)

}printf("%d %i64d\n",t,g);

}return 0;

}

1301 任務分配

2003年浙江省隊選拔賽 時間限制 1 s 空間限制 128000 kb 題目等級 大師 master 題解檢視執行結果 有n位工作人員,同時有n項任務,每人必須承擔一項任務,若給出某人不能從事的某些任務,問要安排好工作,共有多少種方案?輸入描述 input description 輸入檔案第1行為...

HDU4864 貪心好題

這道題的意識是給你n個機器和m個任務,每個任務有兩個值花費時間x和難度y,每個機器也有兩個值最大工作時間x1和最大工作難度y1,機器可以勝任某個工作的條件是x1 x y1 y,機器勝任乙個工作可以拿到x 500 2 y的錢,現在問你怎麼匹配才能使匹配數最大且錢數最多。由於資料量過大我們考慮使用貪心來...

CODEVS 1301 任務分配

描述 有n位工作人員,同時有n項任務,每人必須承擔一項任務,若給出某人不能從事的某些任務,問要安排好工作,共有多少種方案?分析 容斥原理的應用.先看看樣例 四個人 a,b,c,d a 不能選擇 2 b 不能選擇 2 3 c 不能選擇 3 4 d 不能選擇 4 總數是1 4全排列的個數 4 24 再考...