几何
timidcatt
永远不要放弃战斗
展开
-
L. Puzzle: Sashigane The 13th Shandong ICPC Provincial Collegiate Programming Contest
我们不妨从最小的部分开始考虑,我们围绕黑格,加一个长度为1的L即可构造一个2*2的正方形,然后再加两个长度为2的L就可以构造出一个4*4的正方形,以此类推,最终就能得到n*n的正方形。题目大意:有一个n*n的方格网,其中有一个黑格位于第x行第y列,其余格子都是白格,要求用任意个L型填满白格,输出每个L的拐点坐标和延伸长度。思路:我们多模拟一下就可以发现,构造的方案是肯定存在的,只需考虑一种通法。不同颜色代表dfs到不同深度时构造出的L。原创 2023-09-02 18:13:05 · 288 阅读 · 0 评论 -
Typhoon 2023“钉耙编程”中国大学生算法设计超级联赛(5)hdu7324
tips:hdu oj 1s=1e8,没有special judge,纯靠文本比较,所以精度要求很高,能用整数用整数,浮点数用long double。题目大意:直角坐标系内有n个点连接成固定的n-1条线段,另有m个点,问每个点距离最近的线段的距离是多少。思路:直接对于每个点遍历所有线段,求出距离后维护最小值即可。原创 2023-08-01 19:20:21 · 218 阅读 · 0 评论 -
Merge the squares! 2023牛客暑期多校训练营4-H
思路:对于一个a*b(a>b)的矩形,我们可以用类似黄金分割的办法将其分割成cnt个b*b的正方形,然后剩下一个(a-cnt)*b*b的矩形,继续分割,一定能最后分割到剩下的矩形边长为1的情况,所以我们将一开始的大正方形分割成左上、右下两个边长分别为a,b的正方形,和剩下两个a*b的矩形,就可以完成题目要求。题目大意:有n*n个边长为1的小正方形摆放在边长为n的大正方形中,每次可以选择不超过50个正方形,将其合并为一个更大的正方形,求一种可行的操作使所有小正方形都被合并成一个n*n的大正方形。原创 2023-07-29 14:35:27 · 572 阅读 · 0 评论 -
D. The Butcher codeforces 1820D
思路:如果对原长方形竖着切一刀,那么被扔在一边的那个长方形的高一定等于切之前的长方形的高,也就是说他一定是所有切出来的n个长方形里面高最大的那个,以此类推,切出来的长方形的长和宽是分别随着切的次数增多而递减的,而且我们同时可以得知原长方形的面积也就是每个小长方形的面积和,然后用面积除以这个最大的高就能得到原长方形的宽,所以问题就变成了给出的n个小长方形能否拼成已知宽和高的一个大长方形。按同样的逻辑再进行一次第一刀先横着切的循环,最后注意判断两个答案是否是完全相同的,只输出一个即可。原创 2023-04-26 14:38:48 · 143 阅读 · 0 评论 -
A. Parallel Projection codeforces 1782A
思路:因为无论怎么走,在z轴上走的长度都等于长方体的高,所以我们从上方向下俯瞰,从一个点出发要先走到长方形的一条边再走到另一个点,因为有四条边,所以有四种走法,取最小值即可。题目大意:在立方体内的上表面和下表面各有一个点,从一个点出发,沿平行于坐标轴的方向在表面上走到另一个点的最短路径是多少。原创 2023-01-16 17:59:13 · 166 阅读 · 0 评论 -
2022CCPC绵阳 H.Life is Hard and Undecidable, but... codeforces 104065H
令对角线上的点初始为存活状态,左上和右下的两个点周围只有一个点,下一秒会离世,其余存活的点周围都有两个点,不会离世,同时也没有离世的点会转为存活,所以每一秒减少两个点,那么初始需要的点的数量就是(k+1)*2。规则2:如果一个存活状态的点周围八格内恰好有2或3个点,那么这个点在下一秒仍然是存活的点,否则会变成离世的点。规则1:如果一个离世状态的点周围八格范围内恰好有三个存活的点,那么这个点在下一秒就会变成一个存活的点。原创 2022-11-24 18:55:42 · 2304 阅读 · 0 评论 -
2022CCPC威海 C. Grass (gym104023C)
判断三点共线的方法就是斜率相等,(y2-y1)/(x2-x1)=(y3-y1)/(x3-x1),因为小数会员精度丢失所以移项为(y2-y1)*(x3-x1)=(y3-y1)*(x2-x1),所以我们首先先判断前五个点,然后固定两点,看其他点是否和那个点共线,如果有一个点不共线,就存在答案,如果前5个点共线,那么我们就固定前4个点,枚举其他点,如果4个点中的前两个点与枚举的点共线,那么就是五点共线,不是答案。有两组三点共线且呈T字形,按上图方式可构造出可行答案。只有一组三点共线,按上图方式可构造出可行答案。原创 2022-11-11 20:27:39 · 353 阅读 · 0 评论 -
2022CCPC桂林 E. Draw a triangle (gym104008E)
我们设向量AB=(a,b)向量AC=(x,y),那么三角形的面积就等于ay-bx的最小值,根据斐蜀定理可知,一个二元一次方程的解c为形如ax+by这样的式子中的a,b的最大公因数的倍数,所以三角形面积的最小值就等于a和-b的最大公因数, 然后我们可以通过扩展欧几里得(题目大意:在平面坐标系中给出两个整数点的坐标(x1,y1)(x2,y2),求第三个整数点(x3,y3)使三角形面积最小。)算出向量AC的坐标,然后C的坐标就等于AC的坐标+A的坐标。原创 2022-11-02 11:56:49 · 842 阅读 · 0 评论 -
Arpa and an exam about geometry CodeForces - 851B
Problem - 851B - Codeforces题目大意:平面上有三个点,问能否旋转坐标系使a去到b的位置,c去到b的位置。思路:b和c旋转同样的角度后位置相同,所以他们经过的路径长度应该相同,即ab=bc,同时再abc不能在一条直线上。...原创 2022-07-05 18:52:15 · 99 阅读 · 0 评论