小D和他的魔法石

2021-10-13 19:07:30 字數 1377 閱讀 1420

我們發現題目的關鍵是魔法樹可以生產無限魔法石,所以如果我們想讓魔力最多的話,我們可以選中乙個抗力最小但是魔力最大的一直吸,由於我們必須把交換次數全部用光,但是我們觀察資料範圍,考慮特殊情況,我們發現有可能不能通過交換使得抗力最小的和魔力最大的到一塊,當n為2的時候,每次只能左右交換,,當k為0的時候,我們就發現不能通過交換使得最小抗力和最大的魔力放到一塊,所以我們此時需要觀察,發現這不是個完全揹包問題嗎,求出在當前抗力下可以有的最大魔力

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

#define pair(a, b) make_pair(a, b)

#define memset(a, b) memset(a, b, sizeof a)

#define max(a, b) ((a) > (b) ? (a) : (b))

#define min(a, b) ((a) < (b) ? (a) : (b))

#define x first

#define y second

typedef __int128 int;

typedef

long

long ll;

typedef

unsigned

long

long ull;

typedef pair<

int,

int> pii;

typedef pair pll;

const

int n =

1e3+10;

const

int m =

2e5+10;

const

int mod =

1e9+7;

const

int inf =

0x3f3f3f3f

;const ll inf =

0x3f3f3f3f3f3f3f3f

;const

int p =

13331

;int n, m, k;

int a[n]

, b[n]

;ll f[n]

;int

main()

for(

int i =

1; i <= n; i ++)if

(n ==1||

(k && n >2)

) cout <<

(ll)m / mined * maxed;

else

return0;

}

魔法石之戀

問題描述 在 harry potter and the sorcerer s stone 中,想得到魔法石,必須要通過許許多多的測試和遊戲。現在阿不思 鄧布利多認為這些遊戲都具有魔法力,魔法師們能夠輕鬆的通過,我們要增加一些只能夠通過智力解決的題目,需要真正的聰明人才能夠通過。現在由於我們敬愛的ha...

強聯通 魔法石

任意門 幻象群島是由n個孤立的島嶼構成。島嶼之間有一些殘破的石橋,而橋心的石墩上,就有可能鑲嵌著上古魔法石。約翰尼可以通過這些石橋,從一座島跑到另一座島,如果島上恰好有魔法石,他就可以順便收集。但是由於這些石橋實在是太殘破了,約翰尼經過之後,石橋就會崩塌,不能再次通過。由於約翰尼踩過的部分很快就會崩...

RQNOJ魔法石之戀

魔法石之戀 stone.pas c cpp 問題描述 在 harry potter and the sorcerer s stone 中,想得到魔法石,必須要通過許許多多的測試和遊戲。現在阿不思 鄧布利多認為這些遊戲都具有魔法力,魔法師們能夠輕鬆的通過,我們要增加一些只能夠通過智力解決的題目,需要真...