TodoList


种类并查集(食物链、关押罪犯)

记忆化dfs与拓扑排序之间的联系,bfs式拓扑排序

记忆化搜索/dp->dijkstra、spfa->次短路、k短路(A*)

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

kmp与mp,求字符串周期系列……

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

主席树卡空间、整体二分

  • BZOJ 1901 洛谷 P2617 ZOJ 2112 Dynamic Rankings

线段树进阶

  • BZOJ1018 堵塞的交通

线性基第k大之类的问题

  • HDU 3949 XOR
  • BZOJ 2844 albus就是要第一个出场
    • https://blog.sengxian.com/algorithms/linear-basis
    • https://oi.men.ci/bzoj-2844/
    • https://blog.csdn.net/FromATP/article/details/71217516
    • https://www.cnblogs.com/MashiroSky/p/6341571.html
    • https://www.cnblogs.com/luyouqi233/p/8819185.html
    • https://blog.csdn.net/strangeDDDF/article/details/86569161
  • BZOJ 3811 玛里苟斯
    • https://blog.csdn.net/smallsxj/article/details/73205569
    • ………………
  • CF742G

贪心反悔

  • https://www.cnblogs.com/antiquality/p/9289671.html
  • https://www.cnblogs.com/Miracevin/p/9795871.html
  • https://www.cnblogs.com/wawcac-blog/p/11359534.html CF1203F2
  • CSUOJ 2337 终局,官方数据是不是有点问题
  • 洛谷 P2949 [USACO09OPEN]工作调度Work Scheduling(if和if嵌套时注意可能不能缩减if数量)
  • BZOJ 1029: [JSOI2007]建筑抢修
  • ………………HDU6709钓鱼大师

tarjan相关

  • 缩点
    • HDU 5934 Bomb
    • POJ 1236 Network of Schools
  • 求割点和桥
    • UVA 315 POJ 1144 ZOJ 1311 Network 神奇的简化板子,dfn和low记录的是深度,不是时间戳,要仔细想一下
    • BZOJ 1123 [POI2008]BLO (记住无向图只有两种边啊)
  • 上面两个综合起来再加个LCA可得:HDU 2460 POJ 3694 Network
  • 点双联通和边双联通=》仙人掌
  • 再加个求最小环的,一般情况dfs不能求最小环,要Floyd或者多次dijkstra什么的
    • 洛谷 P4151 BZOJ 2115 [WC2011]最大XOR和路径 求环的方法,这篇里面也再更新一下。这题可以dfs求环是因为——对于有公共边的两个环,总的和两个小的这三个环求出任意两个就可以异或出第三个
    • CF1206D,那些wa14 wa1 wa74
    • hdu1599 裸的最小环
    • https://vijos.org/p/1423 也可以算是最小环板子,不过有点变化

DP

  • 数位DP
  • 斜率优化和优先队列优化的一堆题

数学

  • 无穷级数,把猴子排序那篇博客的坑填了
  • min25筛
  • 数论函数专题(莫比乌斯反演 最裸的BZOJ2301 百度之星初赛C轮C题HDU6715)
  • 拉格range 插值
    • CF622F、教科书般的亵渎->https://www.luogu.org/problemnew/solution/CF622F求自然数幂和,除了拉格朗日插值(关于那个多项式次数的证明),还有好像差分、用杨辉三角、组合数之类的递推(李善兰自然数幂求和公式?),还有伯努利数(https://www.cnblogs.com/hbyer/p/10821363.html)、斯特林数……https://www.cnblogs.com/Hany01/p/10220530.html……但其他做法好像没有拉格朗日快……做了教科书那题就把拉格朗日博客补了吧
    • 查自然数幂和的论文还发现一些奇奇怪怪的不太适合竞赛的做法,有些还不错的感觉,还有不少是上面几种方法,但总感觉其中有些文章作者不想让人看懂,https://www.luogu.org/problemnew/solution/P4593真的,竞赛题这种东西,洛谷题解、博客比论文好懂不少
  • 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

  • D:简单容斥https://blog.csdn.net/liufengwei1/article/details/100030671
  • E交互题https://blog.csdn.net/liufengwei1/article/details/100030936

湖南省赛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<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的正解就只剩网络流了(开始时读错题,还拿基尔霍夫定理搞了一会)