首页 > 其他分享 >9.19

9.19

时间:2024-09-19 23:24:13浏览次数:7  
标签:9.19 线段 所有 等差数列 质数 根号 mod

abc371F:两种做法。等差数列线段树和 ODT。两种做法实现难度相同,不过后者似乎要快很多。

花 1 个小时复习了 ODT 怎么打,他复杂度正确的原因是因为每次 query(l, r) 过后马上进行了 assign。然后就是基础的 split 和 getpos 操作,记得给边界插入 set。

线段树也是维护三元组 【l, r, pos】 表示左右 id。如果有区间操作的话 lzy 就是 pos 表示等差数列的第一项。每次下传标记记得去右儿子的时候把 lzy 加 lenLS,然后一个线段树节点就是由多个等差数列构成。

注意不要写动态开点的线段树,非常容易 TLE。

abc317G:这玩意场上想了一半正解。

考虑到正式考试不可能高精度,所以我们使用正常算法。

这个东西本质上是多个同余方程合并,每次在合法解里面贪心选,显然 lcm 作为模数需要高精度。

注意到如果:\((m_1,m_2)=1\),则必然可以满足。所以我们要对所有 \(m\) 之间的 gcd 来考虑是否满足,eg:\(\mod 2 = 1,\mod 4 = 0\) 显然无解。

又能够想到质数拆分,如果对于所有质数来判断一定是等价的。而质数因数个数显然是亚根号级别。

所以我们顺序遍历每个环,记录环长 \(l\),然后枚举换上第一个应该是本来的第 \(i\) 个,容易发现这样子要转 \(x=l-i\) 次。那么我们就判断可行即可。

对 \(l\) 的所有质因子考虑(这里考虑所有 \(m_i^{a_i}\) 形式),容易发现等价转化后 \(x\mod m_i^{a_i}\) 这个值在所有环上都一样,所以对每个因数记录一个 mod 值即可。

最后贪心选每个环第一个位置最小的即可。复杂度线性根号,远远跑不满。

标签:9.19,线段,所有,等差数列,质数,根号,mod
From: https://www.cnblogs.com/LCat90/p/18421578

相关文章

  • 吉比特9.19笔试
    第一题给出n,d,m,分别代表多项式个数、维度和修改次数。接下来n行以t开头,接下来t+1个数分别代表0次1次--的项系数接下来m行以p,l,r开头分别代表修改第l个到第r个多项式的前p+1项系数。最后输出n个多项式f(233)的结果,要求结果对1e7+9取模。最后计算结果的次数上限设置为500......
  • 2024.9.19
    双向链表插入:即在单链表插入的基础上增加对前指针的修改循环链表:即将尾部结点的next从NULL改为指向头指针线性表的应用:1.线性表的合并(LB合并到LA中):将LB中元素逐个取出,在LA中进行逐个查访,不存在就插入。2.有序表的合并(LA,LB合并到LC):对LA,LB中元素依次比大小后插入。链式......
  • java学习9.19
    结合前端,在本地运行实现登陆操作。将在输入框的数据传给服务器,服务器再通过调用数据库的数据进行对比,实现简单的判断逻辑到这里的我就感觉内容多了起来,在之前连接数据库,数据库操作的时候,跟着教程走,只是知道简单的用法也能在之后自行配置这里的话数据库等操作变成了一个环节,还有......
  • 2024.09.19短时训练赛总结
    $T1$感觉没有蓝,只有中绿左右。赛时写了正解,漏了个$+$号,寄了,然后逆元处理了$inv$,但是不知道为什么写的是快速幂,于是就T了。考虑枚举两端改变,中间随便的区间$[i,j]$,然后乱搞即可。$\color{black}{zzzcr}$有一个$O(n)$的做法是考虑双指针,然后对于有交的区......
  • 【2024潇湘夜雨】WIN11_Pro_21H2.22000.3197软件选装纯净特别版9.19
    【系统简介】=============================================================1.本次更新母盘来自WIN11_Pro_21H2.22000.3197.2.全程离线精简、无人值守调用优化处理制作。部分优化适配系统可能要重启几次,即使显示适配失败也不要在意,可能部分优化不适用。3.OS版本号为22000.3197。......
  • C语言试题汇编 答案 9.192&9.193
    9.192有4名学生,每个学生考4门课程,要求在用户输入学生序号以后能输出该学生的全部成绩,用指针型函数实现。#include<stdio.h>float*search(float(*pointer)[4],intn);intmain(){ staticfloatscore[][4]={{60,70,80,90},{50,89,67,88},{34,78,67,88},{80,90,100,70}}; ......
  • 9.19
    今天数据结构,讲到了栈结构,大一时候的刘老师提起过,那时我也有所了解,所以还是比较好学习的,马原课探究了一下物质与精神还有世界观的定义作用与反作用,感觉还是很麻烦,不过比之前的什么形而上好理解点。晚上的工程经济,又讲了经济的发展,感觉不难......
  • 9.19日记
    若是DataNode没有启动,可尝试如下的方法(注意这会删除HDFS中原有的所有数据,如果原有的数据很重要请不要这样做):#针对DataNode没法启动的解决方法cd/usr/local/hadoop./sbin/stop-dfs.sh  #关闭rm-r./tmp    #删除tmp文件,注意这会删除HDFS中原有的所有数据./bi......
  • 9.19
    今天做了什么:今天是上的数据结构,马原和文件检索,关于数据结构学了链表的插入删除,还有关于双向循环链表的出入删除等,还有就是开始了新的知识的学习,关于栈和队列.其他的并没有什么,晚上学习了继承的关系和父类中的元素,方法构造方法,继承的特点,想要在子类中调用父类一般要用......
  • 每日总结9.19
    今天是充实而有意义的一天。上午,我参加了算法与数据结构以及马克思主义基本原理的学习。在算法与数据结构的课堂中,我学习了各种常用的数据结构和算法,并了解了它们在程序设计中的应用。这门课程帮助我提高了编程能力,培养了解决问题的思维方式。随后,我参加了马克思主义基本原理的学......