首页 > 其他分享 >2024.8 总结

2024.8 总结

时间:2024-08-19 20:15:14浏览次数:11  
标签:总结 le frac 个点 2024.8 坐标 两点 排序

杂题

【YBOJ】 Pair

题目描述

给出二维平面上的 \(n\) 个点,第 \(i\) 个点的坐标为 \(x_i,y_i\) 。
定义点 \(i\) 与点 \(j\) 之间的距离为 \(\frac{|x_i-x_j|+|y_i-y_j|}{\sqrt{(x_i-x_j)^2+(y_i-y_j)^2}}\) ,求平面上两点的距离最大为多少。($ 1 \le n \le 10^5$)

解题思路

首先,我们可以发现两点之间的距离最大为 \(\sqrt{2}\) ,在 \(|x_i-x_j|\) 与 \(|y_i-y_j|\) 接近的时候最大。
这就说明两点的连线在最接近 \(45\) 度的时候距离最大。
我们可以把所有点绕原点转 \(45\) 度,将原点坐标变为 \((\frac{x_i+y_i}{2},\frac{x_i-y_i}{2})\) ,这样我们只需找两点使它们的连线斜率接近 \(0\) 或 \(1\)。
容易发现,满足条件的点它们总有一维排序之后是连续的,那我们可以分别按 \(x\) 坐标排序一次,\(y\) 坐标排序一次,两次排序分别检查前后两点的距离。
时间复杂度 \(O(nlogn)\) 。

【YBOJ】 Tree

题目描述

有 \(n\) 个点,下标分别为 \(0,1,...,n-1\) ,给出参数 \(k\) ,每次操作可一将点 \(u\) 与点 \(v\) ,点 \((u+k)\% n\) 与点 \((v+k)\% n\) 连上。
你要构造一棵树,树中包含 \(n\) 个节点,找出一种可行方案并输出或输出 \(-1\) ,\(1 \le n \le 10^6\)。

解题思路

首先 \(n\) 为偶数的时候肯定是不存在方案的,输出 \(-1\) 。
考虑 \(gcd(n,k)=1\) 时候的情况,我们可以按 \((0,k)\) ,\((2k\% n,3k\% n)\) 连的顺序连完,直接这样输出即可。
考虑 \(gcd(n,k)=m\) 的情况。
我们可以构造一个矩阵有 \(m\) 行 \(n/m\) 列,一列里面的数 \(+k\) 可以变成下一列数。
我们可以把每个数与位于它右下角的数给连上,那么我们可以发现形成了一条条往右下角延伸的直线,只需把上下连接在一起即可。

标签:总结,le,frac,个点,2024.8,坐标,两点,排序
From: https://www.cnblogs.com/dijah/p/18368044

相关文章

  • 2024.8.19
    #include<stdio.h>#include<sys/types.h>#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>#include<string.h>#include<stdlib.h>intmain(){ //1.创建套接字 intsock_fd=socket(AF_I......
  • tcp与udp的总结+connect阻塞+tcp三次握手、四次挥手+常见的服务器IO(发送数据+接收数
    一,TCP与UDP的基本总结TCP(传输控制协议)和UDP(用户数据报协议)是两种主要的传输层协议。TCP是面向连接的,提供可靠、顺序的传输,适用于需要高可靠性的应用,如网页浏览和文件传输。它通过重传机制和流量控制确保数据完整性。UDP是无连接的,速度快但不保证数据的可靠性和顺序,适用于对实时性......
  • [Mysql]日志刷盘总结
    Mysqlredolog的刷盘时机mysql正常关闭的时候redologbuffer写入超过一半的时候后台线程每隔一秒写入磁盘一次0把redologbuffer中的内容刷盘2把pagecache中的内容刷盘事务提交的时候0每次提交事务,redolog留在buffer中不写入磁盘1每次提交事务,redolog写入磁......
  • Java基础——HttpStatus.class 源码中状态码总结
    HttpStatus.class源码中状态码总结HttpStatus.class源码////Sourcecoderecreatedfroma.classfilebyIntelliJIDEA//(poweredbyFernFlowerdecompiler)//packageorg.springframework.http;importorg.springframework.lang.Nullable;publicenumH......
  • test 2024.8.19
    test考试时PUCK:我们攻克了一个技术问题,现在可以用c++14了结果:评测机发神经吃我100分T1T2T3T4没错就是这道吃了我100pts一眼可以发现是一个很典的最大费用最大流模型,暴力建图发现边数\(n^2\)不可过注意到曼哈顿距离是两个绝对值构成的注意到\(|a|+|b|=\max(a+b,-a......
  • 数论总结
    数学是毒瘤基础数论总结。数论题的代码都是一个个板子拼起来的,本博客只放板子。声明:本博客中出现的所有代码,都视为加入了#defineintlonglong数论题的特点题目大意简洁易懂。但有的题还是会古舟一堆码量小,全是板子极其难想,需要手推公式longlong是标配筛......
  • HW行动之蓝军总结参考
    HW行动,攻击方的专业性越来越高,ATT&CK攻击手段覆盖率也越来越高,这对于防守方提出了更高的要求,HW行动对甲方是一个双刃剑,既极大地推动了公司的信息安全重视度和投入力量,但同时对甲方人员的素质要求有了很大提升,被攻破,轻则批评通报,重则岗位不保;大的金融、央企可能不担心,有很强的防护,......
  • jdk8的Steam流工作常用方法总结
    Steam流工作常用方法总结收集list以某几个字段为键以内容为list的mapMap<String,List<TVoucherDetail>>tVoucherDetailMap=list.stream().collect(Collectors.groupingBy(obj->obj.getDocumentNumber()+"-"+obj.getCertificationData()......
  • JS逆向总结
    总结在进行JS逆向中常用的手段1)Object.defineProperty:对于对象属性的监控 该方法是es5的方法(千万不要以为是es6的哦),作用是直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回这个对象。(切记只能用在对象身上不能用在数组身上)1、语法 代码解读Obj......
  • 总结指针数组与数组指针的区别
    1、指针数组1-1、定义指针数组是一个数组,其元素是指针。这意味着数组的每个位置都存储了一个指针,这些指针可以指向任何类型的数据(包括其他数组、结构体等)。1-2、类型如果有一个指向整数的指针数组,其类型可能是 int*arr[N];,这里 arr 是一个数组,包含 N 个 int* 类型......