首页 > 其他分享 >需要注意的(持续更新)

需要注意的(持续更新)

时间:2024-07-24 21:40:48浏览次数:14  
标签:结点 不要 线段 持续 long 注意 更新 Split

注意

取模。

开 long long。有没有 #define int long long。

scanf 一般要写 &。

二维的东西,注意不要把 m 写成 n。不要把 m 和 n 弄混。

用 getchar() 读字符需谨慎。可以尝试用 cin。

不要把 += 写成 =。

不要把 b 写成 a。

分清要算 r - l(给两个横坐标,算横向的距离) 还是 r - l + 1(算区间里有多少个点)。

变量要先声明再用。

普通的线段树开 ( 4 倍 + 1 ) 空间即可(因为序列长为 \(2 ^ { n - 1 } + 1\) 时是极限情况,\(最大结点编号(不知道能不能取到) ( 2 ^ n + ( 2 ^ n - 1 ) ) = 4 \cdot ( 2 ^ { n - 1 } + 1 ) - 5 < 4 \cdot ( 2 ^ { n - 1 } + 1 )\)),但是不是叶子结点才能下放标记(即不能下放叶子结点上的标记)(有时要判断,如:P3373 【模板】线段树 2)。也可以考虑开 ( 8 倍 + 1 ) 空间,此时可以下放叶子结点上的标记。

倍增时注意数组开到的是多少,枚举的是多少(0~19?)。

注意在 for 循环里是 <= 还是 <,从 0 开始还是从 1 开始。

不要忘了给新开的结点初始化。(创建了就立即初始化)。(尤其是给存 max 和/或 min 的东西初始化)。如:线段树(注意(这个题里不能把 mx 初始化成 - ((int)1e9) 之类的,而应该让其初值为 0):P4556 [Vani有约会] 雨天的尾巴 /【模板】线段树合并)。

注意线段树的范围是 1 到 n 还是其他的。不要习惯性地写就写错了。如:P4556 [Vani有约会] 雨天的尾巴 /【模板】线段树合并。

动态开点线段树开空间时要注意。一般开 (log * 要新开点的操作的次数)(???)。注意有可能一步要操作多次。如:P4556 [Vani有约会] 雨天的尾巴 /【模板】线段树合并。

线段树,不要让叶子结点 PushUp。也可以不管,但要在 PushUp 里特判没有左子结点 且 没有右子节点的情况。

PushUp 时要特判没有左子结点 或 没有右子节点的情况。

https://www.luogu.com.cn/discuss/860700

注意复制之后要彻底地修改。不要把 Split_Value 里的 Split_Value 写成 Split_Size(如:P3369 【模板】普通平衡树(FHQ-Treap 做法))。有两种 DFS 的代码也是这样。

不要忘了给自己写的数据结构初始化。(调用 Init())

不要忘了初始化。

FHQ-Treap 如果用一个结点来维护很多个同一数值的数(对每个结点记一个 cnt),Split_Size(按大小分裂)就可能会出问题(???)(按每个结点只维护一个数,多个同一数值的数用多个结点存的写法的话)。

FHQ-Treap 的 Merge 和 Split_Size 和 Split_Value 里面都是有顺序的。

指数取模。

“CF 多测题不能 memset”——M1ndeveloped

“在CF不能写Hash”——Grimgod

注意结点编号等从 0 开始还是从 1 开始。

注意存边的数组要不要开两倍空间。(无向边(双向边(?)))。

多测要清空。(如果变量、数组等(?)全部在 solve() 里声明就不用清空)(???)。

注意从 0 开始还是从 1 开始。注意是 <= 还是 <。

注意仔细弄好输入。看清输入什么、输入格式是什么。

注意可不可以是负数,可不可以是 0(?)。

怎么算数组之类的占了多少空间?

double 和 long long 哪个大?

注意 sort 后编号可能会变。https://www.luogu.com.cn/discuss/728435
也(?)可以记一下每个点对应的原来的编号。

注意树状数组判 i >= 1。

注意线段树维护的区间(??)是什么。是 1 到 n 还是 1 到 k。

注意树状数组维护的上限是什么。是 n 还是 k。

注意一个东西还是不是原来的它。https://www.luogu.com.cn/discuss/697979

注意遍历顺序。(正/反)。

不要把数据类型搞错。

写 1ll * 。
或者 #define int long long,signed main()。
或者直接开 long long。

指 数 取 模。

区分 p 和 P(都是模数)。不要写混了。尤其是在快速幂中。

在函数内部开的数组里面的值是随机的。——Hanghang
https://www.luogu.com.cn/discuss/815673

cout printf 混用:https://blog.csdn.net/qq_28236309/article/details/52200632

标签:结点,不要,线段,持续,long,注意,更新,Split
From: https://www.cnblogs.com/huangkxQwQ/p/18321801

相关文章

  • 2024年全国职业院校(中职组)技能大赛(ZZ052大数据应用与服务)持续更新中!
    2024年职业院校中职组ZZ052大数据应用与服务赛项赛题第01套【子任务一:基础环境准备】##模块一:平台搭建与运维(一)任务一:大数据平台搭建本模块需要使用root用户完成相关配置;所有组件均在/root/software目录下。1.子任务一:基础环境准备master、slave1、slave2......
  • centos 更新curl版本
    HowtoBuildandInstallLatestcURLVersiononCentOS#WrittenbyTheSuhu(2021).#TestedonCentOS7andCentOS8PreviouslyI'vewrittenabout HowtoBuildandInstallLatestcURLVersiononUbuntu.Inthisarticleinthisarticleexplainho......
  • C++this指针--指针的介绍用法以及相关注意事项
    什么是this指针this指针是在C++中用来指向当前对象的特殊指针。它是每个非静态成员函数的隐式参数,指向调用该函数的对象。在C++类的成员函数中,除了静态成员函数外,每个成员函数都有一个隐含的this指针,它指向调用该函数的对象。这个指针可以让成员函数访问调用它的对象......
  • 如何在新打开的页面中更新Chrome驱动程序并找到iram点击底部
    我正在使用selenium打开页面并单击底部,首先我使用以下代码打开页面并更改iram:driver.get(URL_1)driver.switch_to.frame('ifram1')单击此页面内的项目后,我定向到另一个页面,我需要单击按钮我无法使用driver.find_element(BY.XPATH)或driver.find_element......
  • 使用reloader实现CM热更新后自动重启POD
    目录1.背景2.Reloader简介2.1原理3.Reloader部署4.使用方法1.背景在云原生环境中,配置管理通常通过ConfigMap和Secret对象来实现。尽管这些资源对象可以直接更新,但在更新ConfigMap或Secret时,挂载到Pod中的数据处理存在以下情况:环境变量挂载:通过Env方式挂载的环境变量在更新后......
  • Java面试题总结(持续更新)
    1、this关键字和super关键字的区别及联系this关键字用在本类中。在类的内部,可以在任何方法中使用this引用当前对象。this关键字是用来解决全局变量和局部变量之间的冲突。this()可以调用同类中重载的构造方法,并且需要放在第一行。super关键字用在子类中。在子类中可以通......
  • VMware vCenter Server 6.5 U3w (安全更新) - ESXi 集中管理软件
    VMwarevCenterServer6.5U3w(安全更新)-ESXi集中管理软件集中式控制vSphere环境请访问原文链接:https://sysin.org/blog/vmware-vcenter-6-5/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVMwarevCenterServer是一款高级服务器管理软件,提供了一个集中式......
  • VMware vCenter Server 6.7 U3u (安全更新) - ESXi 集中管理软件
    VMwarevCenterServer6.7U3u(安全更新)-ESXi集中管理软件集中式控制vSphere环境请访问原文链接:https://sysin.org/blog/vmware-vcenter-6-7/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVMwarevCenterServer是一款高级服务器管理软件,提供了一个集中式......
  • C++ 运算符重载的注意事项
    C++的运算符重载是一种强大的特性,它允许开发者为已存在的运算符赋予新的含义,以适应特定数据类型的需求。在使用运算符重载时,需要注意以下几点:不改变运算符原有语义:运算符重载应保持运算符原有的基本含义,避免引起混淆。例如,重载加法运算符+时,应确保其结果与常规加法操作相符。......
  • 【保奖思路】2024年华为杯研究生数学建模D题解题思路分享(点个关注,后续会更新
    您的点赞收藏是我继续更新的最大动力!一定要点击如下的卡片链接,那是获取资料的入口!点击链接加入群聊【2024华为杯研赛资料汇】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=MwNruKbEvR9aZns1l7xXBWmQQKYAEh-F&authKey=igaBN79pz6BhNlDQ6TIZ5YFAbn71aDcYL77uANPquLF%2FTVgeSAhEZ......