• 珂学的 vector 存反边,删边

    存边,是 $99\%$ 的图论题都会用到的,目前主流是采取链式前向星的写法,记录 head 数组表示第 $i$ 个点的第一条边,next 数组表示下一条边的编号,go 数组表示这条边走向哪里,还可以记录个 val 表示这条边的权值。链式前向星的优点是寻找反边,删除边比较方便,缺点是比较长,内存访问不连续在大数据下慢。


  • C++ bit 库介绍

    C++20 加入了一个叫做 bit 的库,不如来看看里面有什么?


  • C++ ranges 库介绍

    ranges 库是 c++20 开始具有的语法,对应的头文件是 #include<ranges>


  • C++ adl 机制区分

    namespace f1{
    	namespace f2{
    		struct cow{
    			friend void solve(cow){cout<<"f1::f2::cow";}
    		};
    	}
    	void solve(f2::cow){cout<<"f1\n";}
    	namespace f2{
    		void solve(cow){cout<<"f1::f2\n";}
    	}
    }
    void solve(f1::f2::cow){cout<<"::";}
    namespace g1{
    	void solve(f1::f2::cow){cout<<"g1";}
    	namespace g2{
    		void solve(f1::f2::cow){cout<<"g1::g2";}
    		void print(){solve(f1::f2::cow{});}
    	}
    }
    

  • CF1619G Unusual Minesweeper 题解

    题意:平面上有 $n$ 个地雷,第 $i$ 颗地雷在 $(x_i,y_i)$,会在第 $t_i$ 秒自动爆炸,在一个地雷爆炸后,在这个雷正十字形内距离小于 $k$ 的雷也会爆炸。你可以在第 $i$ 秒手动引爆一个雷,问要让所有雷爆炸要多久?


  • CF1285D Dr. Evil Underscores 题解

    给定一个序列 $a$,选取一个 $x$,使 $\max_{i=1}^na_i\oplus x$ 最小。


  • CF1276B Two Fairs 题解

    给定图和两个点 $p_1,p_2$,问有多少点对满足这对点之间的路径必须经过 $p_1,p_2$。


  • LGP8671 [蓝桥杯 2018 国 AC] 约瑟夫环题解

    约瑟夫环有 $\mathcal O(n)$ 做法相信大家都知道。这里就不在介绍了,这里给出一个不知道这个结论的 $\mathcal O(n\log n)$ 简单做法。


  • 如何产生高强度好记密码?

    人在家中坐,盗号天上来。


  • LeetCode2447 最大公因数等于 K 的子数组数目题解

    看到这题,发现可以直接枚举字串进行 check,复杂度是 $\mathcal O(n^2(n+\log w))$,但是可以固定左端点,向右推右端点统计答案优化到 $\mathcal O(n(n+\log w))$。