黑妹的遊戲三

2022-03-31 22:48:34 字數 1399 閱讀 2671

ps:列舉質因數很容易想到,比賽的時候想到列舉1e8範圍內,果斷寫不出來。其實只需要列舉10000內的質因數就行了,因為對於a來說大於10000的質因數最多乙個。列舉質因數後怎麼確定能消去多少個呢?最容易想到的方法就是模擬了(我是這樣yy的,最壞的情況:10000個 134217728。需要計算 (10000 * 1000 + 27 * 5000)次,10000內有1000多個素數),挺考驗實現能力的。

#include#include

#define ll long long

#define p pair#define pp pair>

#define pb push_back

#define pp pop_back

#define lson root << 1

#define inf (int)2e9 + 7

#define rson root << 1 | 1

#define linf (unsigned long long int)1e18

#define mem(arry, in) memset(arry, in, sizeof(arry))

using

namespace

std;

const

int maxn = 20000

;const

int mod = 1000000007

;int

t, n;

inta[maxn], prime[maxn];

vector

p;priority_queue

q;void

inite()

}int

main()

if(t) q.push(t);

}while(q.size() > 1

)

if(q.empty()) continue

;

int x =q.top(); q.pop();

for(int j = 0; j < x; j++) ans = (ans * i) %mod;

}sort(a + 1, a + n + 1

);

for(int i = 1; i < n; i++) if(a[i] == a[i + 1]) a[i] = a[i + 1] = 1

;

for(int i = 1; i <= n; i++) ans = (ans * a[i]) %mod;

cout

<< ans <

}return0;

}

牛妹的遊戲

時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld upd 資料保證不會有兩條控制鏈控制的據點完全相同,也保證不會有某條控制鏈兩端控制的據點相同。牛妹最近沉迷於乙個名為 ingress 的遊戲中 遊戲中,藍綠營兩個對...

牛客練習賽21 B 黑妹的遊戲II

有乙個n m的棋盤,每格仔有非負分數,黑妹先手,每次只能下上乙個人選擇的方格的右方或者下方,黑妹和黑弟都在知道最優策略的情況下,從左上角開始到右下角結束,求黑妹最後獲得的分數減去黑弟的分數差是多少。我們由黑妹先手可得,黑妹一定可以獲得左上角和右下角的分數,我們採用逆向dp的思路。dp i j m i...

牛客練習賽21 黑妹的遊戲 記憶化搜尋

傳送門 非常典型的記憶化搜尋博弈 定義f i j f i j f i j 為從 i,j i,j i,j 開始造成的差值大小 先手 後手 那麼先手希望這個值大,後手希望小 就在各自的回合取max maxma x或取min minmi n即可 include using namespace std in...