• 2024-02-24Codeforces 1025F Disjoint Triangles
    结论:如果两个三角形不相交,那么一定存在两条内公切线。于是可以考虑枚举这条内公切线的端点\(x,y\)。那么一个三角形的两个端点就会在\(x\toy\)这条线的同一侧,另外一个三角形的两个端点会在这条线的另一侧。同时这条线的一侧与其配对的端点可能是\(x\)也可能是\(y\)。
  • 2023-11-01CF1025F Disjoint Triangles
    虽然我不懂计算几何,但是两个三角形互相进入,感觉很涩啊!——By【】考虑两个互不相交的三角形,寻找一个方式能够不重不漏地统计它们。容易发现两条不交的线段\(A_1A_2,B_1B_2\)之间,必然存在一条直线将\(A_1A_2,B_1B_2\)分在直线两端,且与\(A_1A_2,B_1B_2\)无交。证明的话,
  • 2023-07-13并查集(Disjoint Set)
    并查集是算法竞赛中常用的一种数据结构。其主要功能是查询两个元素是否在同一个集合以及将两个集合合并。第一部分并查集的基本操作算法思想我们将所有元素建成很多树(森林),每一棵树就是一个集合,比如下图有\(\{1,2,3,4,5,6\},\{7,9,10,11,12,13\}\)两个集合。
  • 2023-02-21最大流应用(Maximum Flow Application)
    1.BipartiteMatching1.1MatchingDef.Givenanundirectedgraph\(G=(V,E)\),subsetofedges\(M⊆E\)isamatchingifeachnodeappearsinatmostone
  • 2023-01-21并查集(Disjoint-Set)
    并查集目录并查集定义模板题目原题链接题目描述输入格式输出格式数据范围分析并查集基本原理实现步骤问题1问题2问题3优化代码实现定义并查集(Disjoint-Set)是一种可以
  • 2022-10-24Leetcode第915题:分割数组(Partrition Array Into Disjoint Intervals)
    解题思路最终的是将一个数组分为两个数组:左数组和右数组。这两个数组满足:左数组的最大值小于右数组的任何值。需要一个变量left_max来记录左数组的最大值。左数组长度