首页 > 其他分享 >闲话 11.20

闲话 11.20

时间:2024-11-20 20:58:28浏览次数:1  
标签:闲话 线段 11.20 tag 复杂度 mathcal 维护 考虑

10 days left.

不说闲话,捡重点说。


P4113 [HEOI2012] 采花

hh 的项链加强版。

首先考虑莫队,轻松写,轻松 133pts,轻松过不了后两个 hack,考虑优化。

既然是加强版,那么就考虑沿用之前的思路。记录上次出现某个数的位置和上上次出现某个数的位置,离线之后将询问挂到右端点上,依然是树状数组维护前缀和,我们只用在上上次的位置赋成 1 即可,手模容易理解左端点小于等于这个位置的该颜色一定会有贡献。然后做完了,复杂度 \(\mathcal{O(n\log n)}\)。

P2023 [AHOI2009] 维护序列

其实就是线段树 2。不过还是花了 20min 才切。

难点在 tag 维护。发现分别对加和乘维护 tag 二者是会相互影响的,下放也很不方便。于是直接钦定加的 tag 为最终加算,乘法为直接乘算即可。区间加不需要任何多余操作,区间乘需要同时修改加的 tag,下放时按先乘后加的顺序就做完了。

P4588 [TJOI2018] 数学计算

有些智慧的。

比较一眼出的是直接乘逆元,但是发现互质的影子没有所以求不了一点,于是考虑在操作上维护线段树的区间积。初始值都为 1,遇到乘操作就修改某个位置,遇到除就将某个位置置为 1 即可,答案就是 \(t_1\)。复杂度 \(\mathcal{O(n\log n)}\)。

P5490 【模板】扫描线 & 矩形面积并

感觉是做过最难的扫描线。

做法都写到题面上了,只用考虑怎么维护。对横坐标显然可以离散化,但纵坐标因为要算面积,如果离散化我就不会算了,所以考虑动态开点线段树,线段转到点上做,还是挺轻松的。

但是被控了 20min+,怎么会是呢?原来 1e9 这个小东西是 double 类型的,跟我的其他东西一算就疯狂搞乱我的精度,办法是手写 9 个 0 或者强转类型。

P8865 [NOIP2022] 种花

被签到控了,厉害吧。

思路挺好出的,一列一列扫,维护可行的行的数量。关键在于两个行之间需要隔至少一行。所以考虑暂时记一下上一行的数量,计算完这一行的贡献后再加入。F 就是 C 长了几块,可以同时算。复杂度 \(\mathcal{O(nm)}\)。

P7960 [NOIP2021] 报数

被更简单的题控了,厉害吧。

由于 \(10^7\) 的调和级数算出来是 1.6e8 级别的,所以一直没敢暴力预处理。被控了快 30min 喊来 Abnormal123 一起做,然后啪的一下就过了。每次遇到一个已标记过不合法的数就直接走,否则判断一下是否含有 7,然后枚举倍数标记就行了。最后记得 \(\mathcal{O(n)}\) 处理出来每个数下一个合法数,注意单独处理最后一个数 9999998 的下一个数。

总结:上午被硬控,下午线段树。

就不到 10 天了啊,最少可能只会再沉浸式打 8、9 场比赛了,打一场少一场了,且打且珍惜(

还是那句话,拿出自己最好的状态从容面对,欣然接受结果,让它在我们人生中留下一点光,就好啦。


完结撒花~
wkh 的吱吱

image

标签:闲话,线段,11.20,tag,复杂度,mathcal,维护,考虑
From: https://www.cnblogs.com/Ratio-Yinyue1007/p/18559270

相关文章

  • 11.20
    Constructor构造方法根据一个class类创建这个类的对象的过程称为构造创建对象的方法称为构造方法构造方法命名与类名一致,如classPerson的构造方法Person()所有类都有其默认的构造方法,你可以显式定义并修改构造方法定义时"无返回(但不是void)",不声明返回值,也不能用return,因为......
  • 11.20 模拟赛
    总结完啦A不会做。肯定是神秘贪心题。不太好模拟啊。算了猜个结论吧。\(m=1\)是经典问题,把这个稍微引申一下。得到了一个multiset维护的做法。然后猜对了。15min切掉。很快码了一个对拍然后一直拍到比赛结束。看B。感觉不难。尝试设计DP。发现我啥也不会,所以先写个暴......
  • 11.20闲话-存档
    存档参考使用没有存档的软件,就像吃饭不给容器一般。故存档必然是极为重要的。下面介绍Unity的几种存档方式。代码出处Part.1——PlayerPrefs应该是最简单的存档方式。但局限性也是显然的,只能存储int,float,string三种类型,就像在文件中存储了三个map<string,int/f......
  • 2024.11.20 NOIP模拟 - 模拟赛记录
    异或(xor)每次所加三角形的范围如图所示:这道题做法较多,我是通过两组差分与前缀和来做的。首先需要一个三角形差分,使每一次在差分数组中修改时,影响到的范围是一个三角形,比如这样(红色点为\((x,y)\),即\((r,c)\)):假设我们真正需要修改的三角形是橙色部分:那么联系到正常差分,很容......
  • 1-2模块电源电路(11.20)
    DCDC模块电源常用电路:变换器作用:进行电压转换、保证所需的相关输出电容恒流:C三角U=IT;电感恒压:L三角I=UT;V0/Vim=D(1-D);三种非隔离开关电源:降压、升压、升降压电路三种隔离开关电源:反激型变换器、正激型变换器、桥式变换器、反激型:实现多路输出、输出波形电流、控制输......
  • 2024.11.20总结
    本文于github博客同步更新。A:一个数可以被操作当且仅存在一列的顶部元素为它且存在一列的底部元素为它,初始扫一遍,将合法的元素以顶部所在列为关键字扔到小根堆里,每次找到最小的元素添加,然后检查将新露出来的元素是否存在匹配,若结束时未填完即为无解。B:要么在非环边上砍一刀,......
  • 11.20 CW 模拟赛 赛时记录
    看题前言:花了\(10\rm{min}\)把昨天的题调了一下,神经\(\rm{T1}\)艹,再一次缺失大样例神秘博弈放\(\rm{T1}\),大抵可做(主要原因是\(\rm{lhs}\)键盘敲得框框响)手玩几组数据大概能做,后面再认真看\(\rm{T2}\)看到树直接小命不保喵了个咪的,这我打鸡毛啊又......
  • 11.20日课堂笔记
    Listitemjava.trim是jQuery库中的一个函数,用于去除字符串两端的空白字符(包括空格、制表符、换行符等)。这个函数在jQuery1.2.6版本中被引入。$.trim函数的语法如下:$.trim(str)其中str是要处理的字符串。使用$.trim函数的例子:varstr="Hello,World!......
  • 2024.11.20 鲜花
    正则表达式核心共振⚡超越一切震慑凡人⚡⚡带来终结机械降神⚡⚡风暴之力充满全身⚡⚡最后一击核心共振⚡就是首先你需要知道一些元字符,也就是它的语法。最基本的几个:^$分别指定行首和行尾。[abc]表示匹配a,b,c中的一个,当然长度不限。也有一些符合人类直觉的写法:[......
  • [2024.11.20]NOIP 模拟赛
    鲜花:今年又在luogu被卡7级线了。赛时T1看见区间操作还以为是贪心+数据结构,然后再看两眼发现这原来是个伪装的多测。对于每一个元素\(m\),相当于要构造一组\(xA+yB=m\)的\((x,y)\)解,这是扩欧。单纯是不行的,题目上要使得\((|x|+|y|)_{min}\)。但是我忘记了扩欧的通解公......