發表文章

目前顯示的是 2019的文章

給時雨熱愛資訊學弟妹的話 以及 暫時停刊至學測後

當然給時雨熱愛資訊學弟妹的話都在下方連結(word檔) 連結: https://drive.google.com/open?id=1yOKP9K7a_wt7bBi6c2l7wZomdJLBkpA-    3月10號的TOI初選結束後,雖然被師長逼迫著回學校把課業補齊以及拼學業,但我還是在閒暇時間盡可能的翻翻營隊講義、腦書、演算法筆記,可是至於解題紀錄的上傳我會在學測後陸陸續續更新(可能會直接自架個人網站,把過去資料搬遷~><)    當然地現在是個 特選 兼 學測 戰士, 真心希望特選上了後可以在上大學前瘋狂刷題、在學校親自帶學弟妹、以及更精進地學其他語言、甚至不衝突學測地再拼一次資奧 。當然不免俗地——各位今年的特選與學測的戰士們一起為了夢想拼搏吧~~!

TIOJ[1152] 1.銀河帝國旅行社

題目連結: https://tioj.ck.tp.edu.tw/problems/1152 "樹直徑"定義:一顆樹上任兩點距離最大 這是一題裸裸的樹直徑題,不難發現dfs一次找到最遠點,再用那個點當作第二次dfs的根,再找一次最遠點,不外乎就是樹直徑(很greedy的想法(?)。 PS:我的code超爛,ranklist超後面QAQ #pragma GCC optimize("O2") #include<bits/stdc++.h> #define jizz ios_base::sync_with_stdio(false),cin.tie(NULL) #define int long long int #define pb push_back #define po pop_back #define F first #define S second #define CN cout<<"\n" #define MAXN 1000005 #define lson int lson=index*2 #define rson int rson=index*2+1 #define mid int mid=(l+r)/2 using namespace std; vector < int > v[ 10005 ]; int vis[ 10005 ],ans_p = 0 ,ans_s = 0 ,root; void init( int n) { fill(vis,vis + n, 0 ); } void dfs( int now, int sum) { for ( auto x : v[now]) { if (vis[x] == 0 ) { vis[x] = 1 ; dfs(x,sum + 1 ); } } if (sum > ans_s) { ans_p = now; ans_s = sum;

[NTHU]10322 - PC - 費式數列與矩陣快速冪

題目連結: https://acm.cs.nthu.edu.tw/problem/10322/ 一題矩陣快速冪裸題(題目就表明(?) 當然是好好地把矩陣的乘法定義定好,注意一些0/1擺放的細節,把其套上快速冪的模板,就大功告成了。>< #pragma GCC optimize("O2") #include<bits/stdc++.h> #define int long long int #define jizz ios_base::sync_with_stdio(false) , cin.tie(NULL) , cout.tie(NULL); #define pb push_back #define po pop_back; #define F first #define S second #define CN cout<<"\n" #define m 100000007 using namespace std; typedef array < array < int , 2 > , 2 > Matrix; Matrix operator * (Matrix A , Matrix B) { Matrix C; for ( int i = 0 ;i < 2 ;i ++ ) { for ( int j = 0 ;j < 2 ;j ++ ) { C[i][j] = 0 ; for ( int k = 0 ;k < 2 ;k ++ ) C[i][j] = (C[i][j] % m + (A[i][k] % m * B[k][j] % m) % m) % m; } } return C; } Matrix power(Matrix A, int n) { Matrix ans = {{{ 1 , 0 },{ 0 , 1 }}}; while (n) {

2019新北市國際資訊奧林匹亞研習營初選資格選拔

圖片
來寫個心得~ (不算長文(?而且很流水帳喔>< 2019資奧TOI初選前熱身營隊(? ==============Day1(1/21)============== 因為是第一天報到,所以試著早起(5 點喔 來到了板中,開始上課時發現我沒吃早餐.....可悲 第一天只教DP但也是顛覆我人生的第 一次聽到如此動人又詳盡的DP,才開 始發現我以前原來跟DP很不熟。 然後很順利的跟坐附近的同學們聊得很來(? 還有一個保送科大,電m(_ _)m 大部分都寫ZJ 的題目,而且很多是蝸牛老師出的,感到有一種循序漸進~>< 回家坐在椅子上直接睡著,耶~習題沒寫完 ==============進入Day2(1/22)============== 早上四點起床發現沒寫習題,開拼~ 不知不覺5:30了,差一點錯過第一班公車 然後,到了板橋車站附近我居然記得吃早餐ww 小抱怨,快上課了警衛才記得把樓下鐵捲門打開QAQ 第二天教的是簡單的資料結構、前中後序轉換、DFS、BFS,也是邊刷題邊上課 然後神奇的鄰座學長是樹大神,解惑了些許對於樹的疑惑~(聽說高職專學樹(?羨慕) 回家亦然倒頭就睡 ==============差點遲到的Day3(1/23)============== 居然睡過頭了QQ但趕上了第三班6:00的公車,因此來不及用電腦裡的頭貼為昨天要選拔賽的我送上祝福(? 據說這選拔賽的全名是2019新北市國際資訊奧林匹亞研習營初選資格選拔(? 差10分鐘遲到,匆匆忙忙得趕上後聽說今天教圖論&二分 再來驚喜的是親眼遇見大神們陳威翰和蘇柏瑄(架CMS辛苦了><) 題目有5題 PA:單純的stack&queue(100%) PB:題目包裝得很漂亮,拆開來是我曾經精神AC卻沒實做過的LCS(100%) PC:想了想,原本想說跟TIOJ 的Comiket一樣左加1,(右+1)減1 直接掃過去,但紙張上畫一畫發現會爛掉(? 所以突發奇想想起今天教了binary search,所以我就開了pair反過來二分搜,結過記憶體爛掉(27%) PD:給一張格子圖,求某位置通過一些點到達目的的最短總長。(0%) PE:並查集(精神100%) 過程: 前14分鐘寫完PA,由於精神不濟刻出來的code,

[Codeforces]1100A. Roman and Browser

題目來源:  https://codeforces.com/problemset/problem/1100/A 這題單純地將間格以依序取出("+1總數"-間隔+1數量)-("-1總數"-間隔-1數量)的最大值 #pragma gcc optimize("o2") #include<bits/stdc++.h> #define IO ios_base::sync_with_stio(false) #define CI cin.tie(NULL) #define int long long int using namespace std; signed main() { int n,k,po = 0 ,ne = 0 , str [ 1005 ]; cin >> n >> k; int times = k; for ( int i = 1 ;i <= n;i ++ ) { cin >> str [i]; if ( str [i] == 1 ) po ++ ; else ne ++ ; } // cout << po << " " << ne << endl; int flag = 0 ,totalne[ 1005 ] = { 0 },totalpo[ 1005 ] = { 0 }; while (times -- ) { flag ++ ; for ( int i = flag;i <= n;i += k) { // cout << "i=" << i << endl; if ( str [i] ==- 1 ) total