首页 > 其他分享 >2024.10.10 总结

2024.10.10 总结

时间:2024-10-10 14:22:54浏览次数:9  
标签:总结 10 2024.10 min max 翻折 leq 考虑 calc

A:

赛时发了什么疯非要来冲这题。

不妨计各种颜色的宝石为 0/1。

考虑记前缀和的最大值为 \(S_\max\),最小值为 \(S_\min\),于是总的限制为 \(|S_\max-S_\min|\leq k\)。

考虑反向维护这个限制,即枚举一个 \(i\),然后钦定 \(i\leq S_\min\leq S_\max\leq i+k\),计算对应的序列个数。然后考虑一个实际差值为 \(\Delta=|S_\max-S_\min|\) 的序列,会被统计 \(k-\Delta+1\) 次。记 \(calc(k)\) 为上述过程计算出的序列个数,于是有最终答案为 \(calc(k)-calc(k-1)\)。

考虑 \(calc(k)\) 如何计算。考虑把一个 \(0\) 看做是在平面直角坐标系上让 \(x\) 坐标 \(+1\),一个 \(1\) 为让 \(y\) 坐标 \(+1\),于是问题转化为,从 \((0,0)\) 出发,任意时刻在 \(y=x+i\) 和 \(y=x+i+k\) 之间,每次可以向右或向上走一步,问走到 \(n\) 的方案数。

我们考虑条件为不能经过 \(y=x+i-1\) 和 \(y=x+i+k+1\)。我们记一次经过第一条直线的事件为 \(A\),第二条直线为 \(B\),我们考虑对形如 \(AABABBBA\cdots\) 的前缀做容斥。

我们把所有 \(A\) 合并在一起,所有 \(B\) 合并在一起,变成 \(ABABA\cdots\),然后一次经过 \(A\) 可以用经典卡特兰容斥理解为沿着 \(y=x+i-1\) 翻折。

同理 \(AB\) 即为先沿着 \(y=x+i-1\) 翻折,再沿着 \(y=x+i+k+1\) 翻折,我们减去翻折了奇数次的结果,加上翻折了偶数次的结果,即可得到最后答案。

B:

签到题目。

考虑到当前点最多从前一百个点转移(\(d_i\leq100\)),将式子放进矩阵里加速就行。

复杂度 \(\mathcal O(d^3 \ log k)\)。

C:

没有这题。

D:

开场觉得是个简单扫描线,写完 A 之后发现假了,不过绑包了居然没爆蛋(?

题解说这才是签子,没看出来。

不过正解还是扫描线。

考虑对每种活动区间 \([l,r]\) 增加两维 \(l',r'\) 分别表示移除左边界挡板和右边界挡板之后的活动范围为 \((l',r)\) 与 \((l,r')\)。那么两个区间 \((l_1,r_1,l_1',r_1')\),\((l_2,r_2,l_2',r_2')\) 能够同时坐人当且仅当 \(l_1\ge r_2'\) 且 \(l_2'\ge r_1\)。

由于不同的区间最多只有 \(4n\) 个,于是可以直接扫描线+set 维护找到。将所有区间按 \(r'\) 排序,记录 \(f_i/g_i\) 表示考虑了前 \(i\) 个区间,此时最多能坐多少人,并且在坐最多人的基础上最小的 \(r\),那么对于某个区间 \((l,r,l',r')\) 有转移:

\[(f_{r'},g_{r'})\gets(f_{l}+1,r)\ \text{if}\ (g_l\le l')\\ (f_i,g_i)\gets (f_{i-1},g_{i-1}) \]

时间复杂度 \(\mathcal O(n\log n)\)。


然后就去体活了(喜,但是打球的时候很饿所以恼了。

标签:总结,10,2024.10,min,max,翻折,leq,考虑,calc
From: https://www.cnblogs.com/Mitishirube0717/p/18456261

相关文章

  • 10月最新AI产品经理面试20个问题汇总(含面试解题技巧、注意事项)
    这题我会!这是一个包含AI产品经理问题的备考文章,本文主要讲解AI产品经理的备考注意事项、真题展示、解题技巧及高效刷题方法,相信大家看完就一定能掌握技巧并且顺利通关!一、AI产品经理面试问题展示(20道)\1.请描述一下你过去负责的一个AI产品开发项目,包括项目的目标、过程......
  • 团队练习记录10.9
    题目链接:https://qoj.ac/contest/1480这次有个强队去讲课,偶幸校队赛时第一C-CatchYouCatchMe队友写的,签到题吧?#include<bits/stdc++.h>#defineendl'\n'usingnamespacestd;typedeflonglongll;constintINF=0x3f3f3f3f;constllN=1e6+5;constllmod=1e9+......
  • 10月10日微语报,星期四,农历九月初八
     10月10日微语报,星期四,农历九月初八,工作愉快,生活喜乐!一份微语报,众览天下事!1、从严处置!网信部门曝光“毒视频”“开盒挂人”等涉未成年人乱象。2、A股新纪录诞生!东方财富成交额突破700亿,创个股单日历史成交天量。3、杭州:商业性个人房贷不再区分首套、二套住房,最低首付比......
  • 闲话 10.10
    想到什么写什么昨晚CTH(大喊):HDK!HDK(大喊):CTH!CTH(愣了一下):干啥?2-SAT定义给出若干个形如\(a\lorb\)的限制条件,询问是否有满足条件的一组解。人话:给出\(n\)个集合,每个集合两个元素,再给定若干个限制条件\(\left\langlea,b\right\rangle\)表示\(a\)与\(b\)矛盾,询......
  • C#基础知识总结-快速掌握看这一篇就够了
    C#基础知识总结-快速掌握看这一篇就够了目录一、类库:图书馆,命名空间:书架,类:书籍,方法:目录1、类库的引用2、初识类与名称空间3、依赖关系4、类与对象的关系......
  • 荣耀 10.8 开发笔试 笔经
    我好像是卷1第一题:完善字符串输入字符串(子串数、子串,形如2abc123456789),子串未满8个则填充0使其总长度达到8个字符,超过8个则分割核心部分:for(Stringpart:parts){//处理每8个字符for(inti=0;i<part.length();i+=8){Stringchunk=part.subs......
  • Day10-12英语
    Day10-12英语classfields类字段、类成员变量。类的字段通常指的是在类中声明的变量fieldn.字段instantiatev.实例化指根据类创建一个具体的对象的过程。facilityn.设施、功能propertyn.属性、财产port......
  • 第二十一章 实战青龙流式系统问题总结
    我们在实际的开发过程会遇到很多的问题,这里总结和归纳,可以帮助各位流式协议带来的限制媒体流属性的随机化处理RTC协议要求接收方在接收到媒体流后复写mediatrack上的id,label,contentHint等属性以保证流属性不会泄漏发送者的媒体设备信息,并使流在P2P网络中唯一.这......
  • 题解:CF1007D Ants
    题目传送门每只蚂蚁只走一对点肯定是不劣的,由此想到2-sat。限制条件是:若\((a,b)\)和\((c,d)\)两条链相交,则不能同时选。直接建图肯定是爆炸的。用树剖可以将\((a,b)\)这条链划分成\(O(\logn)\)个区间。因为同一条链的区间不交,限制条件变为若两个区间相交,则这两个点不......
  • 2024-10-10 js 深拷贝常用方法
    1、json序列化以及反序列化leta=JSON.parse(JSON.stringify(b))2、使用lodash库插件没有的话先安装:npmilodash使用方式:import{cloneDeep}from'lodash';leta=cloneDeep(b);ps:我当前使用的版本是@4为什么要使用深拷贝?因为我们在开发中会经常进行赋值......