TodoList

種類並查集(食物鏈、關押罪犯)php

記憶化dfs與拓撲排序之間的聯繫,bfs式拓撲排序html

記憶化搜索/dp->dijkstra、spfa->次短路、k短路(A*)算法

 

2019年4月25日18:59:02 咕咕咕咕咕咕咕咕咕咕咕數組

kmp與mp,求字符串週期系列……網絡

 

2019年8月16日12:12:39 咕咕咕咕咕咕咕咕咕咕咕函數

主席樹卡空間、總體二分post

線段樹進階優化

  • BZOJ1018 堵塞的交通

線性基第k大之類的問題url

貪心反悔spa

tarjan相關

  • 縮點
  • 求割點和橋
    • UVA 315 POJ 1144 ZOJ 1311 Network 神奇的簡化板子,dfn和low記錄的是深度,不是時間戳,要仔細想一下
    • BZOJ 1123 [POI2008]BLO (記住無向圖只有兩種邊啊)
  • 上面兩個綜合起來再加個LCA可得:HDU 2460 POJ 3694 Network
  • 點雙聯通和邊雙聯通=》仙人掌
  • 再加個求最小環的,通常狀況dfs不能求最小環,要Floyd或者屢次dijkstra什麼的

DP

  • 數位DP
  • 斜率優化和優先隊列優化的一堆題

數學

  • 無窮級數,把猴子排序那篇博客的坑填了
  • min25篩
  • 數論函數專題(莫比烏斯反演 最裸的BZOJ2301 百度之星初賽C輪C題HDU6715)
  • 拉格range 插值
  • FFT
    • 多項式乘法、字符串匹配

字符串

  • AC自動機
  • 後綴數組
  • 後綴自動機

一堆一堆又一堆

2019年8月18日15:24:29:昨天沒寫博客,只更新了這個TODOlist,作題量就上去了……寫博客不詳細,連兩年後如今的本身都看不懂;詳細,時間又不夠……先拿Todolist緩衝一下吧

 

寧夏網絡賽

  • HDU6705 -》CodeForces 1196F K-th Path -》洛谷 P2483 BZOJ 1975 [SDOI2010]魔法豬學院
    • 建超級源點超級匯點跑k短路、選前k短的邊跑Floyd、lfw的
  • HDU6704後綴自動機還沒學
  • HDU6709又是神奇的貪心——
    • 煮魚的時間對k取模後排序(排序規則見代碼)。而後開始抓一條,煮每一條的時候,去抓t_i/k條,把餘數扔進大根堆,煮下一條,發現下一條還沒抓,從大根堆裏取出最大的,時間加上k-最大餘數,在煮那條魚時多抓一條。若是發現餘數未零,就別扔了,堆爲空時,就直接 ans+=k。"原來商也要排嗎"「要的,若是一個魚t巨長,足夠抓全部魚,而餘數爲1,其它的t爲k-1 ,不把商大排前面不行」。代碼——https://www.luogu.org/paste/63ebppl2
    • https://blog.csdn.net/liufengwei1/article/details/100047318又是可反悔的貪心

 

CF1207

湖南省賽2017K,留坑……

百度之星第三輪初賽B即HDU6714

  • 最短路dag上dp,而後通過簡化,dag都不用建了,dijkstra過程當中就能夠搞出來
  • 湖南省賽2017 I,看上去差很少
  • ccf csp 201903-5 317號任務可能能夠用這個思路?

第三輪D即HDU6715

  • 數論題,如今還不會……yehs的想法是——先篩出$\mu(x)$,而後暴力跑三重循環——
prepare();//篩出mu函數
    s(T);//快讀
    while(T--){
        s(n);s(m);
        int h=min(n,m);
        long long  ans=0;
        for(int d=1;d<=h;d++){
            if(!mu[d])continue;
            for(int i=1;i<=n/d;i++){
                if(!mu[i])continue;
                if(gcd(i,d)!=1)continue;
                for(int j=1;j<=m/d;j++){
                    if(!mu[j])continue;
                    if(gcd(i,j)!=1||gcd(d,j)!=1)continue;
                    ans+=mu[d]*mu[i]*mu[j];
                }
            }
        }
        cout<<ans<<endl;;
    }

結果確定是T了,賽後看別人代碼,發現能夠把最裏面的兩重循環用前綴積預處理出來……留坑

 

百度之星初賽D輪什麼**出的題,數據一塌糊塗——

第一題(HDU6719)題面說n>=1,結果實測n爲0時答案要輸出1

最後一題HDU6724原本是網絡流,很多人用一個假算法A過去了,就——每一個點的度數都大於等於k就yes,賽後交流時Artoriax給了一組hack數據:

1
3 7 4
1 2
1 2
1 2
2 3
2 3
2 3
1 3

這個圖,度數知足要求了,但邊的數量m都不夠k棵樹的邊數總和(k*(n-1)),後來你們討論過程又提出彌補辦法——每一個點度數都大於等於k且全部點度數總和大於等於k*2(n-1)(換句話說,m>=k*(n-1)),而後Artoriax又給了一組hack數據——

1
4 6 2
1 2
1 2
1 2
2 3
2 4
3 4

今後,HDU6724的正解就只剩網絡流了(開始時讀錯題,還拿基爾霍夫定理搞了一會)

相關文章
相關標籤/搜索