牛客練習賽40 B 小A與任務(貪心)
其實是個比較套路的貪心
按照結束時間排序,每個任務依次考慮過去
n o w now now代表當前做任務花費的時間
當我們要做第 i i i個任務的時候,首先讓 n o w + = x i now+=x_i now+=xi
這時候,如果 n o w now now不大於結束時間,就往後考慮
如果 n o w now now比結束時間大了,說明前面的任務需要用金幣來騰出時間
用哪些任務來騰時間最划算??當然是 z z z值比較小的那些任務
由於我們需要動態維護 [ 1 , i ] [1,i] [1,i]任務的 z z z值
所以搞一個優先佇列即可,每次把當前任務壓入佇列
動態維護之前每個任務還有多少時間可以用金幣換,看程式碼就容易了。
#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5+10;
struct node{
int z,x,y;
bool operator < (const node&tmp ) const{ return z<tmp.z; }
}a[maxn]; int n;
bool com( node a,node b ){ return a.y<b.y; }
priority_queue<node>q;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d%d%d",&a[i].z,&a[i].x,&a[i].y );
sort( a+1,a+1+n,com );
int now = 0;//目前花費的時間
double ans = 0;//做完[1,i]任務需要花費的最少金幣
for(int i=1;i<=n;i++)
{
q.push( a[i] );
now += a[i].x;//加上完成時間
while( now>a[i].y )
{
node u = q.top(); q.pop();
int k = min( now-a[i].y,u.x );//用金幣購買的時間
ans += 1.0*k/u.z;
now -= k, u.x-=k;
if( u.x ) q.push( u );
}
}
printf("%.1f\n",ans);
}
相關文章
- nowcoder 牛客練習賽9 B
- 牛客 tokitsukaze and Soldier 貪心
- Mysql 練習(牛客網)MySql
- 牛客周賽 Round 40
- 牛客SQL練習第21題SQL
- 牛客周賽 Round 36 (小白練習記)
- 牛客練習賽74 E CCA的期望(算概率的技巧+floyd處理)
- 牛客小白月賽89
- 牛客小白月賽88
- 數理統計筆記[牛客專項練習]筆記
- Codeforces 854B Maxim Buys an Apartment:貪心
- 牛客網SQL刷題31-40SQL
- [Offer收割]程式設計練習賽1 hihocoder 1271 艦隊遊戲 (狀態壓縮+貪心 好題)程式設計遊戲
- 牛客挑戰賽72 總結
- 野生前端的資料結構練習(12)貪心演算法前端資料結構演算法
- 淺談貪心與動歸
- 牛客小白月賽88 (小白來了)
- C++奧賽一本通貪心題解C++
- java練習-任務1.2-對戰遊戲Java遊戲
- 2017廣東工業大學程式設計競賽決賽 題解&原始碼(A,數學解方程,B,貪心博弈,C,遞迴,D,水,E,貪心,面試題,F,貪心,列舉,LCA,G,dp,記憶化搜尋,H,思維題)...程式設計原始碼遞迴面試題
- 牛客挑戰賽23-A.字串(尺取)字串
- 牛客小白月賽88-DE題解
- 牛客小白月賽88 出題覆盤
- 前端例項練習 - 任務清單 To do list前端
- Codeforces 571B Minimization:dp + 貪心【前後相消】
- CodeForces - 960B:Minimize the error(優先佇列+貪心)Error佇列
- 任務佇列,巨集任務與微任務佇列
- 貪心模式記錄模式
- 貪心演算法演算法
- 牛客周賽 Round 40 (小白醬的被虐之旅嗚嗚嗚)
- 2020牛客NOIP賽前訓練營-普及組第一場牛牛的跳跳棋題解
- 牛客程式設計巔峰賽S2第11場程式設計
- Least Cost Bracket Sequence(貪心)ASTRacket
- HDU 4550卡片遊戲(貪心)遊戲
- 24/03/20 貪心(一)
- JavaScript的巨集任務與微任務JavaScript
- NLP與深度學習(一)NLP任務流程深度學習
- Codeforces Round #537 (Div. 2)B. Average Superhero Gang Power (貪心+暴力)