NOIP2017模擬 舉辦比賽

2021-08-07 11:22:36 字數 1249 閱讀 6539

2017.8.27 t1 1946

樣例資料1

輸入

5 5 1 2 3 4 5

輸出

樣例資料2

輸入

10000000 10000000 555 888 777 666 12345

輸出

分析:第一次做這種隨機概率題……看到資料那麼大o(n)的做法根本想不到就直接放棄了。結果就是個撞運氣的fffffff!因為新讀入乙個數。如果比最小值大,不影響;如果讀入值比最小值還小,更新最小值,也不影響,只有在最小值所在的點的值被改大的時候重新掃一遍找到最小值……

ps.可以小優化,記錄最小值的s有多少個,這樣,只有在最小值的s被改完的時候才會再次掃瞄,更快一些。

**

優化後

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

#define uint unsigned int

inline

int getint()

for(;ch>='0'&&ch<='9';ch=getchar())

sum=(sum<<3)+(sum<<1)+ch-48;

return sum*f;

}const

int inf=2147483647;

uint x0,x1,a,b,c,n,m;

uint now=1,tot=0,mins,minnum=0,tot1=10000000;

uint s[10000010];

inline uint nxt()

int main()

else

if(s[i]==ans) tot1++;

}now*=10099;

tot+=now*ans;

}cout

0;}

本題結。

比賽 NOIP2017 逛公園

考試的時候靈光一閃,瞬間推出dp方程,但是不知道怎麼判 1,然後?然後就炸了。後來發現,我只要把拓撲和dp分開,中間加乙個判斷,就ac了,可惜。看這道題,我們首先來想有哪些情況是 1 只要有零環在滿足題目要求的路徑上,那麼這條路徑就可以不停地走,於是就 1了。如何判有沒有零環呢?機械化地兩遍不同方向...

NOIP2017模擬 鴨舌

題目 小美喜歡吃鴨舌。有乙個 n 個點的樹,每個節點 i 第 i 個點上有 ai 個鴨舌。小美一開始處於 x 號點。每次小美可以選擇乙個與現在的點有邊的點而且那個點還有鴨舌,那麼小美會走到那個點並吃乙個鴨舌。要保證小美最後還是走到 x 號點。問小美最多能吃幾個鴨舌?輸入格式 輸入第一行乙個整數 n ...

NOIP2017模擬 區間

2017.11.3 t1 2032 樣例資料 輸入3 2 1 2 1 1 2 4 5輸出 2 6分析 這道題為什麼要放在t1 考得我懷疑人生。本來也只會暴力找,對於30 的資料我是這樣的 先離散化,再二維陣列記錄所有顏色的在每個位置的字首和,然後四層迴圈暴力查詢。而正解是 先離散化,再把每種顏色的每...