Gym 101617Jbfs 優先佇列

2021-08-13 15:22:39 字數 934 閱讀 4317

題意:

​ n個金礦,每乙個金礦都有乙個初始值代表第一天裡面所含的金子數量,每天減少di,現在從金礦1出發,問最多能獲得多少金子。

思路:

​ 用bfs的方式思考,對於每乙個狀態就是沿著路徑暴力搜尋,利用bfs層的思想,對於採金礦的時間也是合理的,但是這樣會超時,所以需要用到優化。

1. 對於時間有乙個最大的時間,可以通過輸入算出

2. 對於某乙個金礦的到達存在不同的方式,記錄到達的時間和獲得的金子數量,每次判斷是否是最優。

3. 對於金礦查詢的時候按照時間的順序從小到大排列,每次優先選擇時間早的可以避免很多計算。

#include 

#include

#include

#include

#include

using

namespace

std;

const

int maxn = 1005;

int n,m;

int ans;

int dp[maxn][maxn];

int d[maxn],v[maxn];

int head[maxn],pos;

int mday;

struct node

edge[maxn*2];

struct gold

};void add_edge(int u,int v,int w)

void bfs()

}}int main()

pos = 0;

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

bfs();

printf("%d\n",ans);

return

0;}

gym初級 初始gym環境(二)

import gym env gym.make cartpole v0 print env.action space print env.observation space 輸出結果為 discrete 2 box 4,意思是動作空間中的動作是離散 discrete 的2個動作,狀態空間中的狀態是4...

gym訓練記錄

upd 12.18 老年選手也該看看歐洲的acm了,不然以後就再也沒有機會了 problem a 挺牛逼的結論,與y軸平行的直線最多隻會經過 o log c 個點,拿乙個線段樹維護一下每個x對應哪些圓即可。複雜度 o n log n log c o n problem b 對每種圖討論即可 prob...

gym 倒立擺學習

參考資料 import gym 匯入模組 from policynet import policygradient import matplotlib.pyplot as plt import time display reward threshold 1000 render false 建立乙個環...