摘要: GJK(Gilbert-Johnson-Keerthi)算法 背景知识 凸多边形 定义:对于平面上的一个多边形,如果延长它的任意一条边,使整个多边形都位于延长线的同侧,这样的多边形为凸多边形 显然,人可以直观的判断一个多边形是否为凸多边形,那么在程序中,应该如何判断一个多边形是否为凸多边形 利用向量 阅读全文
posted @ 2023-11-19 21:49 DSHUAIB 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给出一个 N 个整数构成的序列,有 M 次操作,每次操作有一下三种: ①Insert Y X,在序列的第 Y 个数之前插入一个数 X; ②Add L R X,对序列中第 L 个数到第 R 个数,每个数都加上 X; ③Query L R,询问序列中第 L 个数到第 R 个数的平方和。 输入格 阅读全文
posted @ 2021-11-12 09:03 DSHUAIB 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 用于解决一类题目给出多个询问,每次询问只涉及一部分点的树上DP。 很明显如果直接DP那么每次询问都要做一遍DP,复杂度是不能接受的。 虚树 顾名思义就是一棵虚拟创建的树,这棵树上只会保留与答案有关的关键点以及关键点的 LCA, 这样整棵树的规模不会超过原树的两倍。 虚树的建立 预处理出建立虚树所需要 阅读全文
posted @ 2021-11-09 12:00 DSHUAIB 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 这题暴力建图再加个最短路就可以过。 对于一个点 \(x\),我们给它和它相邻的点之间连一条有向边,若相邻的点为石头,则边权为 \(1\),反之,则为 \(0\)。 然后大力枚举每一个点 \(x\),对于每一个点都跑一遍 Dijskra 算法,这时候,我们就已经求出了点 \(x\) 到其他所有点需要经 阅读全文
posted @ 2021-10-22 15:59 DSHUAIB 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 哈希表 头文件 #include<ext/pb_ds/assoc_container.hpp> #include<ext/pb_ds/hash_policy.hpp> using namespace __gnu_pbds 两种定义方式 cc_hash_table<string,int>mp1;//拉 阅读全文
posted @ 2021-09-03 15:33 DSHUAIB 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 又是一道构造题,题目所求的是一个单调不降序列,并且要用不超过 \(2n\) 的操作, 咋一眼看上去似乎没什么思路,但我们可以尝试一种构造方案,那就是令 \(a_i=i-1\),这样的话这个序列就是一个单调上升的序列,满足题目要求,那么接下来的问题就是如何在 \(2n\) 次操作内转化成这个序列,对于 阅读全文
posted @ 2021-08-28 16:24 DSHUAIB 阅读(86) 评论(0) 推荐(1) 编辑
摘要: 「SWTR-6」Snow Mountain 假设我们已经构造出一种方案摧毁了所有的水晶,要求最小的花费,显然是一个经典的贪心问题,直接从大到小选即可。 那么问题就在与我们要如何构造出一个满足条件的方案并让它的花费最小,题目中保证了 \(n\) 为偶数,并且 \(a_{x_i}>a_i\),不妨将这个 阅读全文
posted @ 2021-08-28 08:27 DSHUAIB 阅读(52) 评论(0) 推荐(0) 编辑
摘要: P5008 [yLOI2018] 锦鲤抄 为啥感觉这道题作为紫题有点水 给你一张有向图,每个点有一个点权。任意时刻你可以任意选择一个有入度的点,获得它的点权并把它和它的出边从图上删去。最多能选择 \(k\) 个点,求最多能获得多少点权。 首先考虑DAG的情况,不难发现,对于DAG上的每一个点,如果它 阅读全文
posted @ 2021-08-23 08:08 DSHUAIB 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 主要是解决几个数能否拼凑成其他数的问题 例题P3403 跳楼机 给定三个数 \(x,y,z\),问有多少 \(w=ax+by+cz\le h-1\) 定义 \(dis_i\) 表示$x,y,z$ 能够组成 \(w\mod x=i\) 的最小的数 可以这样建图 \(i\stackrel{y}{\lon 阅读全文
posted @ 2021-08-21 20:32 DSHUAIB 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 在做一道题的时候遇到了就顺手学了 罗马游戏 刚开始打的线段树合并,结果空间直接炸裂,然后尝试玄学得了60分 后面看标签才知道要用左偏树. 左偏树满足下面几个性质 1.根节点的 \(val\) 小于儿子节点的 \(val\) 2.左儿子到叶子结点的 \(dis\) 大于等于右儿子的 \(dis\) 3 阅读全文
posted @ 2021-08-14 17:11 DSHUAIB 阅读(38) 评论(0) 推荐(0) 编辑