#10月2日集训内容总结

1.xor运算,双xor一个数得到原数不变(2n+1)
2.3n+1
定义一个新的运算为 @ 规定为三进制不进位的加法
1 @ 1 @ 1 =0
2 @ 2 @ 2 =0
3n+2
考虑1 @ 1 =2;2 @ 2 =1;
如果出现三次,=0,则最后答案由出现两次的提供!
3.最大空白矩阵:
维护二维前缀和+暴力!
悬线法?枚举左上角+右下角
3.种地方案
先考虑一维空间如何做?
2 3 3 6 6 9 2 7
t>6
浮动光标?滑动窗口?
????
4.借教室!
差分?
二分?
5.RMQ
取ans=max(a[li....ri])
而对于ans,有ans=max(a[li,li+(ri-li)/2],a[li+(ri-li)/2,ri]);
6.区间取模计数
当p<100 预处理+二分
当p>=100 p<10000
递推位置
7.淹水
正着想不太好想,倒过来做,先把所有的城市都阉掉,将该淹掉的城市保留
还原每个水面上的城市,并且处理联通合并
8.淹水升级(星球大战)
考虑像刚才一样维护并查集,对于集合u,如果加入城市v,贡献sum+=size(u)
但是,数据范围1e6不可行!
如果n个城市联通
(n-1)+(n-2)+(n-3)+....+1=n(n-1)/2;
还是考虑刚才倒着做的过程,当合并某个集合S1,S2时
S1,s2对答案的贡献就是S1*S2!
(其实最多就是合并四个集合!)
9.关押罪犯
考虑维护两个监狱,对于罪犯i,j,将他们按照冲突概率排序
10.石头剪子布
1.带权柄茶几
2.拆点并查集
11.馒头
曼哈顿距离???

ri代表i这个数的前驱
若ri==i表示i的树根
当我们删掉一个数的时候
ri==getroot(i-1);
12.维护中位数
维护两个堆
一个开大根对,一个开小根堆
保证上面大根堆的数都比下方的大
13.左偏树
14.树状数组:lowbit操作
int lowbit n = x & -x;
-x为x的补码
设x=100100

相当于更高一位的1000000
100100
做减法
0011100
从第一个1开始与原来相同
之后相当于按位取反!
所以100100 & 011100 = 1000;
15.用树状数组维护差分数组 update(x,a[x]-a[x-1]);
16.区间修改,区间查询?

PM:
1.线段树
维护某种奇怪的东西
一个 n ? m 的点阵, 每行内部没有连接. 仅有若干处于相邻两行
之间的点有边 (单向, 只能从上到下).
若干次查询某两个点之间的路径条数, 或增/删一条边 (依然满足
上述条件).
n, q ≤ 1e5, m ≤ 1e2.
考虑一个DAG,两点间的方案数目
正常:拓扑排序+DP
线段树的叶子节点存储了一个类似于邻接矩阵的东西;
线段树自带拓扑序;
对任意一个子树结构,表示出他的邻接矩阵Mfa
Mfa[i,j]=ΣMlch[i,k]*Mrch[k,j];
线段树维护矩阵,只要他的左右两个区间可以合并,那么就可以考虑使用线段树
来合并!
矩阵乘法!

2.维护数列,支持区间设为一个数,查询区间内有多少段不同的数
1.记录总共有多少段数,记录线段树的这一个节点左端点的数和有断点的数
2.合并时,比较两个区间的左右度端点,决定是否加1

3.奇妙的高度
类似于从一个方向看一列高度不同的楼?可以看到多少栋楼?

(1)分块?+二分???二分不是应该在有序表中进行的吗???

(2)考虑线段树,节点维护节点的最大楼高,设其为tallest,
左右儿子的maxh 为 hL,hR;

(3) count,rightcontri,tallest
4.巨大的查找
初始全是0
相当于一个巨大的lazytag
考虑当前的lazytag的pushdown操作:
不一定需要把儿子开出,即不一定需要件数
lazy:all=0
左右儿子为null
现在考虑修改操作!修改时现开他的儿子!
左右两边还有lazy
继续递归下去修改
只有访问到了某个点才需要开出那个节点,每次访问只
开logN个节点,所以我们可以把线段树的空间复杂度
控制在mLogN,这样不能支持动态开点了!
需要解锁指针线段树技能

5.计算几何?
求所有矩形的覆盖面积?
离散化:压缩到较小的区间内,可以不需要动态开点就实现
扫描线
6.加强版扫描线
只关心k范围内的数据,维护<=k个巨型覆盖的

7.搜索树?
如何建立一个二叉搜索树
中序遍历
每次调中间的节点作为根节点建立子树

替罪羊树(没有旋转调代码难,不会TLE)
对一个大小为n的树,均摊复杂度为nlogn

求出每个节点的子节点个数
定义不平衡因子index为左右儿子中的较大值除以它自己的大小
定义index>0.7时为不平衡现象
每次插入时沿着链插入
当链上最大的ub index > 0.7
重构不平衡子树

1.研究哈希算法、哈希表和KMP(ok)

2.学习平衡树Treap(ok)

3.悬线法:https://wenku.baidu.com/view/bc8311f69e314332396893f7.html

4.线段树的高级应用:节点维护邻接矩阵/区间取模计数/扫描线 线段树

5.特殊的并查集:食物链/星球大战/种类并查集

原文地址:https://www.cnblogs.com/little-cute-hjr/p/11618840.html

时间: 2024-10-12 22:12:00

#10月2日集训内容总结的相关文章

10月17日学习内容

一.要约.要约邀请.承诺的定义及其理解. 要约:是希望他人订立合同而做出的有具体确定内容的.表明当接受要约人承诺后要约人即受该要约约束的书面.邮件.口头等多种表现形式的统称. 要约邀请:通过招标公告.拍卖公告.商业广告等方式表达希望他人向自己发出要约的意思表示. 承诺:是受要约人同意要约的意思表示,承诺通知到达要约人时生效. 二.项目配置管理的任务:制定配置管理计划,配置标识与建立基线,变更管理,版本管理.配置审核及配置状态报告. 三.配置项版本号规则:"0.YZ"."X.Y

10月23日学习内容总结

一.业务流程管理与重组1.流程管理的本质与核心是什么:ISO9000定义流程是一组将输入转化为输出的相互关联或相互作用的活动,流程管理 是以提高组织绩效为目的的系统化方法,其核心是流程,本质是构造卓越的业务流程.2.流程管理与BPR的区别:流程管理(BPM)含有规范.优化和再造三个层面,而流程重组(BRP)属于流程管理中的 再造层面,意味着对原有流程的破坏性创造,是一套对业务流程根本性重新思考和重新设计的理论和具体方法.3.业务流程改进的过程和方法中,分析问题用头脑风暴法和矩阵图法:寻找原因用鱼

10月12日站立会议

项目名称:礼物挑选小工具 组名:飞天小女警 组长:沈柏杉 组员:程媛媛.韩媛媛.谭力铭 代码地址:SSH:[email protected]:shenbaishan/GIFT.git 站立会议: 时间:10月12日 会议内容:1.商讨开发环境 2.讨论功能需求 3.收集礼物图片等素材 4.构建项目GUI 主要技术:servlet.jsp.mvc模式. 工具:tomcat 8.0.jdk 1.7.myecplise.mysql. 技术难点:图片的服务器上传.前台后台乱码问题. 技术缺点:前端界面过

[NOIP集训]10月16日

今天的文件夹:10月16日.zip 毕竟是第一天,题目比较简单,简单说下做法. T1:对区间按左端点为第一关键字,右端点为第二关键字进行排序,然后计算可合并的区间,即前面区间的右端点不小于后面区间的左端点,这样合并后,新区间的右端点为二者右端点中的较大值. T2:这题跪了一次.样例太有误导性,严重差评.题意是 询问在时间$[x,y]$内海浪高度第$K$小的单位时刻是那个时刻. 但由于样例太弱,错以为是 询问在时间$[x,y]$内海浪高度第$K$小的海浪高度值. 除了这个问题,别的都很简单了,抽出

[NOIP集训]10月18日

今天的文件夹:10月18日.zip 今天脑子转不起来,想不出来动规了. Orz @张翰文学神 T1:快排,然后求连续数字的长度,简单判断即可. T2~T4:容我再想两天... T2原题: 题2. 养zsc(pig.pas/c/cpp) [题目描述] 你有一个zsc圈,有N头zsc,每天你最多可以杀一头zsc卖钱,获益就是zsc的体重.但是每过一天每头zsc的体重都会下降P[i](当然,如果zsc体重<=0了,自然获利就是0),问K天内你的最大获利. [输人文件] 第一行两个数N.K: 第二行N个

[NOIP集训]10月19日

今天的文件夹:10月19日.zip 今天中午讲了一下昨天的题,还是有水平的. 下午复习搜索,居然有NOI难度的题,不过给了讲解,也有参考程序,就不多说了.主要说说第一题. T1:这是道BFS练手题,但都写不对.第一个难点是读入,虽然题目中给的读入顺序很吓人,但仔细想想,就类似于“字典序比较”了.在Pascal中可以直接这样读入: for i:=1 to l do for j:=1 to w do for k:=1 to h do read(a[i,j,k]); 读入之后,按照与读入相同的顺序进行

[NOIP集训]10月22日

今天的文件夹:10月22日.zip 并查集.哈希表是很有意思的算法,不过更好的是,今天的题我以前都A掉了~ T1:这题最省事的是用STL库的map,然后并查集水过.当然用自己写的Hash函数通过也没有压力. T2:注意这题不要想复杂了,题中的判断规则只有一层,没必要考虑“敌人的敌人的朋友的敌人的朋友的敌人的敌人”这类情况,直接大暴力.数据结构采用并查集,先合并朋友,然后将敌人关系存为一张图,对图中的每个点,把它的所有敌人两两合并.最后输出集合个数. T3:按顺序打击不好处理,我们倒过来看,相当于

中级学员:2015年10月22日作业

中级学员:2015年10月22日作业一.采购管理1.采购管理的主要过程:2.工作说明书与范围说明书的区别:3.招投标程序是什么:4.采购审计的定义和内容.二.信息(文档)和配置管理1.文档从项目周期角度分为哪三类:2.图表编号规则,说明之:3.配置管理活动和流程:4.简述四种配置库及主要内容:5.简述配置项版本号标识的内容:6.功能配置审计包括哪些内容:7.物理配置审计包括哪些内容. 最晚提交时间:下次上课前. 提交方法:同学们按照要求完成作业,并发布在自己的51CTO博客,并将博文地址以评论的

中级学员:2015年10月27日作业

中级学员:2015年10月27日作业一.项目收尾管理1.项目收尾包括哪三方面内容?2.项目总结的意义;3.项目总结会包括哪些内容:4.项目评估包括哪些方面:5.项目审计的定义.6.一般项目人员转移的流程:二.知识产权管理1.著作权由哪3个要素组成:2.认定职务作品,考虑的前提有哪2个:三.法律法规和标准规范1.标准名称由哪4个要素组成:2.政府采购法,包括哪六种采购方法,以及每种的前提条件:3.教材中,把标准分为基础标准.开发标准.??标准和??标准.四.请背诵教材P180页项目管理知识体系,并