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 的資料我是這樣的 先離散化,再二維陣列記錄所有顏色的在每個位置的字首和,然後四層迴圈暴力查詢。而正解是 先離散化,再把每種顏色的每...