HDU 5437by cyl優先佇列

2021-08-11 14:24:09 字數 1106 閱讀 5623

題意:

​ 有個人要過生日,有k個朋友來拜訪,但是他家裡實在是有點小,只能依次讓朋友進門,有m個特定的時間,每次可以進入p個人,每乙個朋友來會帶禮物,價值為v。主人還是比較貪心的,他讓朋友進入的條件是誰的禮物價值大誰先進,價值相等就按照拜訪的順序進入。

思路:

​ 可以看出是細節題,考察了對優先佇列的掌握,問題在於要猜測出題人的思路,或者說是演算法不錯但是無法ac的時候,多思考是不是在時間、順序、思路上有問題。

#include

#include

#include

#include

#include

using namespace std;

const int maxn = 150005;

struct ss

ss(int xx,int yy)

bool operator<(const ss& b)const

returnyy;

}}s[maxn];

struct ans

ans[maxn];

struct door

door[maxn];

int k,m,q;

bool cmp1(door a,door b)

int main()

inttime = 1;

intpos = 0;

while(!que1.empty())

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

sort(door+1,door+1+m,cmp1);

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

}while(p > 0 && !que1.empty())

}for(;time

<= k; time++)

while(!que1.empty())

for(int i = 1;i <= q; i++)

else

printf(" %s",ans[temp].name);

}printf("\n");

}return

0;}

HDU 2829 Lawrence dp 斜率優化

題意 一段直線上有n個點,每個點有乙隻價值,一條鐵路的價值等於每兩個點 可以直接或者間接相連,就是聯通路上是否有炸彈把路給炸了 積的和 思路 斜率優化 dp i j 為前i個點,炸j個線段能破壞的最大值 沒優化前的狀態轉移方程為dp i x max x 1 設計算點i時,j比k的值優,dp k x ...

hdu5976 Detachment 逆元 優化

傳送門 題意 給定乙個數x,我們可以把這個數分解成乙個乙個的小的數字a1,a2,a3 定義s a1 a2 a3 問如何分解x使得s最大,並且不能有重複的數字 思路 分解成數量多的小的數字,比分解成數量少的大的數字的乘積更大,這一點我不知道怎麼證明 並且由基本不等式我們可以知道,相等和的兩個數,越接近...

hdu2639 01揹包k優解)

沒怎麼理解題意,題意 有n件物品,揹包體積為v,給出一行價值和一行花費,求第k優解,每個物品只能取一次。思路 不考慮k優解,顯然是個簡單的01揹包,1維的陣列足夠表示。即便要求k優解,在k 30的條件下,此題再加1維也沒什麼好說的,用dp j k 表示揹包體積為j時的k優解,一開始不知道怎麼轉移,原...