第一次icpc比賽,最後是以3題300多名的成績直接打鐵,很可惜,d題賽後才知道是精度的問題,不然估計可以拿銅。
從比賽中也能得到很多經驗與教訓。
1.選好賽區,少打兩年。這次站除去打星隊都有600多隊,只有210個牌,聽說濟南站只有500隊牌子數跟上海站一樣,枯了。
2.這次思維題有足足5題,全做了可以到銀牌,以後要加強手速和思維題的鍛鍊,可以多打cf。
3.數學題偏多。前5題:g b m d i 中,有g d i 都是數學題,注重公式推導,數**算,這方面以後要加強鍛鍊。
個人反思:
1.簽到題推公式速度慢
2.一開始b題很久沒思路,有點自暴自棄,m題莽了幾發,應該交題之前多測幾組資料。
3.英語讀題能力還要鍛鍊
團隊反思:
1.個人能力普遍較低,前期不能多開快速a掉思維題
2.英語讀題能力普遍較低
b mine sweeper ii
將圖翻轉後發現,和與原來一樣,構造的時候只需構造成與原來一樣或者翻轉,都不滿足輸出-1 。一開始還以為是搜尋…
#include
using
namespace std;
char map1[
1005][
1005
],map2[
1005][
1005];
int m,n,a;
intmain()
if(ans<=n*m/2)
return0;
}for
(int i=
1;i<=n;i++
)for
(int j=
1;j<=m;j++
) ans=0;
for(
int i=
1;i<=n;i++
)for
(int j=
1;j<=m;j++)if
(ans<=n*m/2)
return0;
}printf
("-1\n");
return0;
}
c sum of log
d walker
在這裡插入**片
g fibonacci
簽到題,等差數列求和
#include
using
namespace std;
long
long n,m,ans,l;
intmain()
i sky garden
暴力即可,列舉每一層,每一層上的點都是一樣的,然後列舉每一層上的每乙個點,複雜度o(nnm),
#include
using
namespace std;
const
double pi=
acos(-
1);int
main()
tmp_sum+=2
*j;}
ans+
=tmp_sum*(2
*m);
tmp_sum=0;
for(
int k=
1;k(m==1)
ans+
=(tmp_sum*
2*m+m*
2*i)
;else ans+
=(tmp_sum*
2*m+m*
4*i);}
printf
("%.15lf\n"
,ans)
;return0;
}
m gitignore
將不需刪除的標記,已刪除了的也標記,遍歷到已刪除的資料夾,直接看下乙個,遍歷到不需刪除的忘後面的資料夾看,檔名不能標記,遍歷到檔名時直接ans+1 。
刪除了的需要標記字首,不需刪除的將字首都標記,因為資料夾名可以相同,一開始只標記資料夾名wa了幾發,然後莽交wa了幾發。
#include
using
namespace std;
mapint>del,mp;
intmain()
for(
int i=
0;i}int len;
for(
int i=
0;i(a[i]
[j]==
'/')
else}}
} cout<}return0;
}
2020ICPC上海站補題題解
這場4題銅,5 6題銀 去年比賽的時候還沒用過git,被題意整懵了硬是看了巨久。然後場上的思路是模擬,結果碼力太差沒寫出來,tcl。題意 gitignore,上傳檔案,n個路徑是要刪的,m個路徑是不能刪的,問最小刪幾個檔案。思路 對於m個不能刪的,把他所有的父目錄都標註為1保護起來。然後再去遍歷n個...
IOI2020 部分題解
乙個 n 個點的無向圖,給定每兩個點之間的簡單路徑條數 p 構造乙個滿足要求的無向圖或判斷無解。1 le n le10 3,0 le p le 3 這個 p 3 非常煩,但是可以發現若 p 3 則無解。考慮乙個最簡單的情況 其它情況一定可以從這種情況加一些點得到 2 到 4 有 3 條路徑,則 1 ...
Grakn Forces 2020部分題解
要求從三個陣列中每個位置取乙個數字,構成乙個相同長度的陣列,要求相鄰的不相等 環形 那麼我們直接暴力選,記錄當前不能取的值就可以了,然後要記得特判一下首位的兩個元素。首先通過模擬樣例我們發現相同的元素其實是一點用都沒有的,所以我們先去重了再說,然後我們的做法就是貪心的取四個不同的元素一直到取完為止。...