gym 100430 G 貪心 map瞎搞

2021-07-05 12:36:41 字數 3358 閱讀 6460

題意:

給你n個東西,其中任意兩種東西可以合成。

問你最多可以合成多少東西。

在最多合成東西的情況下,要使得字典序最小。

思路:

先按照貪心的方法構造出字典序列最優的解。

然後有可能有乙個剩下了一些的數量的東西(也可能沒有)

那麼就按照字典序從後往前掃,強行將最後的幾對拆開來和剩餘的匹配。

#include 

#include

#include

#include

#include

#include

#define maxn 100005

using

namespace

std;

typedef

long

long ll;

map< pair, long

long > ans;

map< pair , long

long, greater< pair > > res;

long

long a[maxn];

int n;

void update(int x, int y, ll z)

int main()

int remain_id = -1;

ll remain_num = 0;

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

if(a[i] > 0)

if(remain_id!=-1)

remain_num = a[remain_id]/2;

else

remain_num = 0;

for(auto it: res)

else

}else

}cout

//      whn6325689

// mr.phoebe

//

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#pragma comment(linker, "/stack:1024000000,1024000000")

using

namespace

std;

#define eps 1e-9

#define pi acos(-1.0)

#define inf 0x3f3f3f3f

#define llinf 1ll<<62

#define speed std::ios::sync_with_stdio(false);

typedef

long

long ll;

typedef

unsigned

long

long ull;

typedef

long

double ld;

typedef pairpll;

typedef

complex

point;

typedef pair pii;

typedef pairint> piii;

typedef

vector

vi;

#define clr(x,y) memset(x,y,sizeof(x))

#define cpy(x,y) memcpy(x,y,sizeof(x))

#define clr(a,x,size) memset(a,x,sizeof(a[0])*(size))

#define cpy(a,x,size) memcpy(a,x,sizeof(a[0])*(size))

#define debug(a) cout << #a" = " << (a) << endl;

#define debugarry(a, n) for (int i = 0; i < (n); i++)

#define mp(x,y) make_pair(x,y)

#define pb(x) push_back(x)

#define lowbit(x) (x&(-x))

#define mid(x,y) (x+((y-x)>>1))

#define getidx(l,r) (l+r | l!=r)

#define ls getidx(l,mid)

#define rs getidx(mid+1,r)

#define lson l,mid

#define rson mid+1,r

template

inline

bool read(t &n)

template

inline

void write(t n)

int len = 0,data[20];

while(n)

if(!len) data[len++] = 0;

while(len--) putchar(data[len]+48);

}//-----------------------------------

const

int maxn=100010;

map ans,res;

int a[maxn],n;

int main()

int remain_id=-1;

ll remain_num=0;

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

if(a[i]>0)

if(remain_id!=-1)

remain_num=a[remain_id]/2;

else

remain_num=0;

for(map

::reverse_iterator it=res.rbegin();it!=res.rend();it++)

else

if(remain_num!=0)

else

}else

ans[mp(i,j)]+=res;

}cout

gym初級 初始gym環境(二)

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

Ubuntu 10 04 3配置Samba服務

記錄一下,以備後用。要求 訪問samba服務,有可讀可寫許可權,實現windowsxp與ubuntu10.04.3虛機擬的檔案交換。機器 ubuntu 10.04.3 32位 步驟 1.安裝軟體 sudo apt get install samba smbfs 2.建立共享目錄,修改許可權 mkdi...

Ubuntu 10 04 3 掛載NTFS行動硬碟

說明 本文全部在root許可權下進行 一 檢視行動硬碟有沒有被連線到系統 fdisk l 檢視所有連線到電腦上的儲存裝置 從上面可以看到,已經有乙個名叫 sdc 的1t ntfs 格式行動硬碟連線到系統。如果不確定這個硬碟是不是我們的行動硬碟,我們通過檢視已經掛載的硬碟做對比 通過執行掛載命令,看看...