tricks oi

Python Tricks

1. 同时按照一个list的大小排序两个list def return_sorted_list(cclass): namelist = [] numlist = [] for cat in cclass.cat: namelist.append(cat.catName) numlist.append ......
Python Tricks

高级统计 | Tricks & Review

打算写一个综合性比较强的文章。 全文分为六个章节:基本概念,回归,分类,模型选择,评价指标,无监督学习。 基本概念 1 基本概念 线性代数的知识十分有意义。 在此假定已知矩阵的加减乘运算。 1.1 矩阵的初等变换 初等变换专门设计用来执行某种操作,如行(列)交换、行(列)倍乘,或者将一个行(列)的倍 ......
Tricks Review amp

一些小 trick/注意事项

一些小 trick/注意事项 数论 模数定义为常量能优化很多时间 埃筛加个整除 break 判断就变成了欧拉筛 筛 \(\mu\) 的时候记得 \(\mu(1)=1\) 记得看清楚整除分块求的是 \(\sum\) 还是 \(\prod\),这决定了要不要乘一段区间和 树论 可以先考虑链的情况 DDP ......
注意事项 事项 trick

#18搞OI不要会证明

Karen and Cards 题面 设符合条件的三元组为 \((x,y,z)\)。枚举 \(x\),可以将 \(n\) 个三元组分为两类:\(a_i\ge x\) 和 \(a_i<x\)。对于 \(i\in [1,n],a_i\ge x\),需要满足的条件为 \(b_i<y\) 且 \(c_i<z ......
18

离散最大似然法与 OI

若总体属于离散型,其分布律在参数 \(\theta\) 作用下 \(P\{X=x\}=p(x;\theta),\Theta=\{\theta\}\) 的形式已知,设 \(X_1,X_2,\dots,x_n\) 是 \(X\) 的样本,则其联合分布律为: \[\prod_{i=1}^np(x_i;\t ......
OI

一个关于时间的trick

这个trick是:将所有时间转换为秒,就不用考虑进位了 ......
时间 trick

OI 中的贪心

贪心模型总结 区间最大不相交覆盖/会议安排问题 Statement 有 \(n\) 场会议要使用会议室,第 \(i\) 场会议室的开始和结束时间点为 \(l_i\) 和 \(r_i\),不同会议时间不能重叠。求最多能安排的会议场数。 Solution 考虑将会议按 \(r_i\) 升序排序。 每次枚 ......
OI

【重学OI】图论大礼包

继上次数学大礼包之后,再度推出图论 出于一定的功利性以及必要,我们部分基本用不到的算法不会提到 本篇没说题号默认就是洛谷有模板题 本文尽可能略去证明,目的就是复习 对于图的储存,我们不讲,代码里一般是用链式前向星(不会bilibili搜索不分解的AgOh) part0 概念 图:一张图 \(G\) ......
大礼包 大礼

OI 中的一些优雅(或不优雅)写法

求 max/min // 当无特殊需求时 inline void Max(int &x, int y) { x = max(x, y); } inline void Min(int &x, int y) { x = min(x, y); } // 若有时需要 long long template<c ......
写法 OI

重学OI #3 DS特别篇

这一篇和前两篇目的不太一样,这里更加偏向于一些好玩的神奇科技 part1 K-D tree 众所周知ben喜欢分块,但是分块不能(难以)处理多维问题 ben不喜欢树套树,但是树套树可以 所以ben决定学 KDT从而减少学树套树( kdt最大的优势在于对脑子需求小,只需要你能码 首先我们考虑kdt是什 ......

线段树 trick 汇总

区间最大子段和 模板题(luogu.P4513) 思路 可以发现,求最大子段和的过程可以分解为许多状态,状态 \([l,r]\) 表示区间 \([l,r]\) 的各项参数,如最大子段和。每个状态 \([l,r]\) 可以由 \([l,\frac{l+r}{2}]\) 和 \([\frac{l+r}{ ......
线段 trick

Tricks

图论 拓扑排序中有形如"让某个点尽量早出队”的限制,可以建反图转化为“让某个点尽量晚出队”的形式。P1954,P3243。 \(k\) 个点的LCA为dfs序最大和最小的两点的LCA。 根分别到 \(k\) 个点路径的并集可以差分为根到 \(k\) 个点的路径减去根到dfs序相邻两点的LCA的路径。 ......
Tricks

各种OI板子

以下内容不定时更新,想到啥写啥。。 读写优化 快读 code template <class T> inline void read(T &res) { char ch = getchar(); bool f = 0; res = 0; for(; !isdigit(ch); ch = getcha ......
板子

2023牛客OI赛前集训营-提高组(第二场)B.出租

2023牛客OI赛前集训营-提高组(第二场)B.出租 B-出租_2023牛客OI赛前集训营-提高组(第二场) (nowcoder.com) 目录2023牛客OI赛前集训营-提高组(第二场)B.出租题目大意思路 题目大意 在一条路上有 \(n\) 个栋楼,每栋楼上有 \(k\) 个房间出租。 现在有 ......
2023

2023牛客OI赛前集训营-提高组(第三场)C.分糖果

2023牛客OI赛前集训营-提高组(第三场)C.分糖果 目录2023牛客OI赛前集训营-提高组(第三场)C.分糖果题目大意做法对于 \(30pts\)对于 \(20pts\)对于 \(100pts\) C-分糖果_2023牛客OI赛前集训营-提高组(第三场) (nowcoder.com) 题目大意 ......
糖果 2023

baka's trick

baka trick 之于双指针,就像回滚莫队之于莫队。 考虑将双指针的过程变换一下:加入一个分界点 \(mid\),分别维护 \([l,mid],(mid,r]\) 的信息,当 \(l>mid\) 的时候 \(mid\gets r\),然后把原先 \((mid,r]\) 的信息直接拿过来用,原来存 ......
trick baka 39

重学OI#4 简单dp

观前须知:本文顺序较为混乱,根据本人复习顺序写的,难度严格不递增 dp不像数据结构可以套路性的将,以例题为主吧 part 1:树形dp 树是一种非常好的结构,其天然的递归形态保证了最优子结构,使得dp有很好的发挥空间 一般状态与子树和路径有关,也有时扯到叶子节点,所以不套路化,特殊情况可能会一大把 ......
OI

trick记录

前言 记录一下有用的trick 统计 有上下界, 并且答案和每个数位有关的不一定是数位 dp , 还可以考虑在某个地方后面的数变自由, 也就是可以随便选, 经常用在二进制中 如果是区间维护的问题, 并且这个区间会进行比较复杂的操作, 那么就可以考虑用矩阵来表示操作。 分数的操作其实可以考虑矩阵, 见 ......
trick

重学OI #1 DS(基础篇)

这里希望通过一个小系列(即重学OI)复习学过的一些重要内容 本系列偏向速通式的快速复习或学前预习,不会有大量例题,重在知识点复习,目的在最短的时间内掌握尽可能多的不会的东西 因此更偏向文字解释而不是图解,需要一定想象力 这是 第一集 数据结构基础篇,本篇与提高篇和特别篇交错更新 本集简介:(单调)栈 ......
基础 DS

Trick

对于 \(a_i + a_j < b_i + b_j\) 这种式子,我们已经能很容易的将其变为 \(a_i - b_i < a_j - b_j\) 了。可是对于 \(a_i - a_j < b_i + b_j\),将其变成 \(a_i - b_i < a_j + b_j\) 并不好维护,我们可以令 ......
Trick

OI 中一些可能有用的小 Trick 与注意点

1.考试的时候先考虑dp和线段树 2.记得检查数组空间 3.考虑尽量卡常 4.尽量考虑退式子 5.看到关于01爆搜选择的一定要先考虑01背包,不要直接写爆搜 6.清楚要不要文件读写和子文件夹 7.树上边权转点权转移到儿子节点,但是特别注意多余信息处理(尤其是树剖的时候) 比如树剖结束的时候处理最后一 ......
有用 Trick OI

OI 超几何函数入门

第一章 定义超几何函数 \[F(a_1,a_2\dots a_n;b_1,b_2\dots b_m;z)=\sum_{k\ge 0}\frac{a_1^{\overline{k}}\dots a_n^{\overline {k}}z^k}{b_1^{\overline k}\dots b_n^{\o ......
几何 函数 OI

OI Tricks

记录一些见到的感觉很有用的 tricks。 平均值 对于和的平均值(形式化地,\(\bar a = \dfrac{\sum_{i = 1} ^ n a_i}{n}\)),可以转化成 \(a_i - \bar a\) 然后和 \(0\) 乱搞。 异或哈希 就是 xor hash,可以在 CF 上找到详 ......
Tricks OI

OI Tricks

记录一些见到的感觉很有用的 tricks。 平均值 对于和的平均值(形式化地,\(\bar a = \dfrac{\sum_{i = 1} ^ n a_i}{n}\)),可以转化成 \(a_i - \bar a\) 然后和 \(0\) 乱搞。 异或哈希 就是 xor hash,可以在 CF 上找到详 ......
Tricks OI

trick 总结

#2357 拍卖会 对于选物品问题,可以将其转化为矩阵,然后在矩阵中满足限制条件进行 DP。 #2358 序列 区间 \([1,x]\) 中二进制下有奇数个 \(1\) 的整数有 \[\lfloor \frac{x}{2} \rfloor + (x\mod 2 \ \ ||\ \ popcount( ......
trick

OI回忆录

前言 2023.09.14:转眼间已经快大三开学了,突然翻到了这篇写的半半拉拉的回忆录。快速地扫了一遍后,发现这里面写的很多细节现在已经不记得了……为了防止记忆再一次退化把那些片段全部抹去,我决定还是把剩下的一部分补完。如果有人愿意看的话,我甚至还可以再补个爽文大结局(现在的我确实是当时的我能想象的 ......
回忆录

思路错点与 tricks 的一个总结

感觉自己变弱了,想卷,但是显然是完全卷不起来的。所以考虑写博客,当作一种软颓废(不想打题,而是写博客寻找自信)。 动态规划 暑假写的。StaroForgin 老师讲得很好啊,非常有启发意义。我感觉之前做的都不算动态规划。但是现在做的还不多,于是没有办法写具体的题解。 费用提前计算。我们只要改变定义, ......
思路 tricks

#9 计数什么时候滚粗oi

Bindian Signalizing 题面 断环为链,令 \(l_i\) 表示 \(i\) 左边第一个高于 \(i\) 的,\(r_i\) 表示 \(i\) 右边第一个高于 \(i\) 的,\(cnt_i\) 表示区间 \([l_i,r_i]\) 中高度等于 \(i\) 的,因为为了防重,所以只记 ......
时候

Trick

对于 \(a_i + a_j < b_i + b_j\) 这种式子,我们已经能很容易的将其变为 \(a_i - b_i < a_j - b_j\) 了。可是对于 \(a_i - a_j < b_i + b_j\),将其变成 \(a_i - b_i < a_j + b_j\) 并不好维护,我们可以令 ......
Trick

Tricks

枚举子集:j=(j-1)&i,复杂度为 \(\mathcal O(n^3)\) 树上链加,单点和等于单点加,子树和。 不好处理的区间询问考虑离线扫描线或者可持久化数据结构。 区间,树链询问有可减性时考虑差分。 对于只合并,不分裂的东西,考虑启发式暴力合并。 流题建模时注意费用流先保证最大流,要检查建 ......
Tricks