NOIP 2017 Day1 解題報告

2022-04-02 13:22:26 字數 1675 閱讀 7238

t1

###題意簡化:

給定兩個互質的數字,輸出最大不能表示的數;

基礎數論題目

**:

#includeusing namespace std;

inline long long read()

while(isdigit(ch))

return x*f;

}int main()

return res;

}int geto()

int check() ;

bool ef[26]=;

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

}if(a>b)

}if(code[i][0]=='e') }}

if(s.size()) return -1;

return res;

}int main()

}}

t3:

然後發現不會:

那就暴力一下,資料很良心,給了k=0的情況,那就十分類似於[路徑統計](

之後我們就開始正解了

#include #include #include #include #include #include #define inf 0x3f

using namespace std;

const int maxn=1e5+10;

struct node

;node edge1[maxn<<1],edge2[maxn<<1];

int head1[maxn<<1],head2[maxn<<1];

int number_edge1,number_edge2;

int n,m,k,p;

//***************正反建圖***************==

void add1(int from,int to,int weath)

void add2(int from,int to,int weath)

inline int read()

while(isdigit(ch))

return x*f;

}//*****==標準spfa*****====

int dis[maxn],vis[maxn];

queueq;

void spfa(int x)//標準spfa }}

}}//出現了無窮條,意味著出現了0環,那麼標記一下,用的陣列 lh(輪迴)

int lh[maxn<<1][60],f[maxn<<1][60];

//lh的右陣列為什麼開60,因為出現0環,在這個環上,無論那乙個點,哪一種情況都將是 j的距離

//f[i][j]表示 從i號點到 n號點走了 j的多餘路徑

//***************==尋找路徑**********====

int dfs(int u,int x)

lh[u][x]=2;

return f[u][x];

} int main()

spfa(n);

f[n][0]=1;

int ans=0;

for(int i=0;i<=k;i++)

else

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

}return 0;

}

NOIP2017 提高Day2 2 寶藏 解題報告

參與考古挖掘的小明得到了乙份藏寶圖,藏寶圖上標出了 n 個深埋在地下的寶藏屋,也給出了這 n 個寶藏屋之間可供開發的 m 條道路和它們的長度。小明決心親自前往挖掘所有寶藏屋中的寶藏。但是,每個寶藏屋距離地面都很遠,也就是說,從地面打通一條到某個寶藏屋的道路是很困難的,而開發寶藏屋之間的道路 則相對容...

解題報告 NOIP2017

思路 這個是當年選手最後悔的也是大部分人能猜出來但是無法嚴格證明的題目 我來證明一下 好吧,我不會 但我們直接打表找規律,發現答案就是 ab a b include using namespace std long long a,b int main int main for int i 0 i0 ...

NOIP2017解題報告

啊不小心點發布了,懶得刪了就這樣吧,雖然還沒寫完,也不打算寫了大概。d1t1 結論題 沒什麼好說的 d1t2 模擬 沒什麼好說的 d1t3 70分演算法其實比較好想。沒有0邊,就跑最短路,然後按dis從小到大轉移。場上最後十分鐘才發現單向邊,就沒時間考慮0邊,並且相當於 一樣排了個序,水了60 肯定...