2020NYIST個人積分賽第六場 D

2021-10-05 03:01:04 字數 1119 閱讀 5252

題意

給n個點,m條邊,讓構建乙個有向無環無重邊的圖,並且圖的最短路是素數,最小生成樹也是素數。

思路

題意的可塑造性很強,我們可以讓最小生成樹就是最短路,呢麼我們現在就是給最小生成樹找乙個素數,很明顯最小生成樹的素數範圍在[1,

1e14]

[1,1e14]

[1,1e1

4],所以預處理1-1e14不太可能,所以我們只需要找距離不小於n-1最近的素數即可,然後讓最小生成樹上的一條邊和最小生成樹上的其餘為1的邊組成這個素數即可

坑點

沒有注意邊權w最大是1e9,我給非最小生成樹上的邊賦值為無窮了,一直wa

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

const

int inf =

1<<30;

const

int maxn =

1e5+5;

typedef long

long ll;

//const int n = 5005;

int ans[maxn]

;bool vis[maxn]

, cnt;

vector<

int>

vec;

void

isprime()

}}for(

int i =

2; i <= n; i++)}

intmain()

m=m-n+1;

for(

int i=

1;i<=n;i++

)for

(int j=i+

2;j<=n;j++

)}

2020NYIST個人積分賽第二場 A

疫情當下,有兩個很無聊的人,小a和小b,準備玩乙個遊戲,玩法是這樣的,從兩個自然數開始比賽。第乙個玩家小a從兩個數字中的較大者減去兩個數字中較小者的任何正倍數,前提是得到的數字必須是非負的。然後,第二個玩家小b對得到的兩個數字做同樣的處理,兩個玩家交替進行,直到乙個玩家能夠從大的數字中減去較小數字的...

2020NYIST個人積分賽第四場 F

原題鏈結 hihocoder 1032 就是最長回文子串 sample input 3abababa aaaabaa acacdas sample output75 3以某個位置為中心位置,向兩邊擴充套件判斷是否是回文串,再判斷是否為最長回文串 注意邊界處理 include include incl...

2020NYIST個人積分賽第六場 H

我看沒人寫這題題解,那本菜雞來寫一下 題意 給長度為n的序列,m次詢問,每次詢問區間 l,r l,r l,r 中有多少數符合該數出現的個數等於它本身 思路 這題的題意非常符合莫隊演算法 莫隊演算法的時間複雜度是o n sqrt n o nsqrt n o nsqr t n 所以如果常數很大的話,會t...