随笔分类 - learning
摘要:行列式求值 这是一个让你掉头发的模板题 行列式的定义 行列式 (Determinant) 是一个函数定义,取值是一个标量。 对一个 n×n 的矩阵 A(n 阶方阵),其 n 阶行列式写作 det 或者 \(|A|\
阅读全文
摘要:首先说下啥是lucas定理: \binom n m \equiv \binom {n\%P} {m\%P} \times \binom{n/P}{m/P} \pmod P 借助这个定理,求\binom n m时,若P较小,且n,m非常大时,我们就可以用这个定理要降低复杂度。 但是这个
阅读全文
摘要:有这样的问题: 给你两个整数数(a,b),问你整数x和y分别取多少时,有ax+by=gcd(x,y),其中gcd(x,y)表示x和y的最大公约数。 数据范围a,b≤10^{18}。 求解这个问题有一种方法,叫做扩展欧几里得算法(简称扩欧),其本质是一个递归求解的过程。
阅读全文
摘要:今天在xsy上翻题翻到了一道扩展CRT的题,就顺便重温了下(扩展CRT模板也在里面) 中国剩余定理是用于求一个最小的x,满足x\equiv c_i \pmod{m_i}。 正常的CRT有一个微小的要求,就是\forall i,j (m_i,m_j)=1。 在某些情况下,这个式子无
阅读全文
摘要:由于近期模拟题原地**次数较多,故写一篇警示文 1,头文件 1.1正式比赛中,反正我不敢用bits/stdc++.h。 1.2正式比赛中,建议打出以下十个库 2,宏定义 2.1 #define通常用于定义最大值,模值数值 2.2 通过宏定义的函数,一定要注意是否需要加括号(宁可多加不要少加) 3,数
阅读全文
摘要:概述 多项式开跟是一个非常重要的知识点,许多多项式题目都要用到这一算法。 用快速数论变换,多项式求逆元和倍增法可以在O(n log n)的时间复杂度下求出一个n次多项式的开根。 前置技能 快速数论变换(NTT),多项式求逆元,二次剩余。 多项式的开根 给定一个多项式A(x),其次数为$d
阅读全文
摘要:概述 多项式求逆元是一个非常重要的知识点,许多多项式操作都需要用到该算法,包括多项式取模,除法,开跟,求ln,求exp,快速幂。用快速傅里叶变换和倍增法可以在O(n log n)的时间复杂度下求出一个n次多项式的逆元。 前置技能 快速数论变换(NTT),求一个数x在模p意义下的乘法逆
阅读全文
摘要:如果你还没有看完本blog的上篇,建议您先看完上篇!! 第一代辅助如何死的? 我们先来看四张图 如上方最左图所示,前面是一个小圆柱子,看起来很人畜无害似不似?? 由于上一步跳出了偏差,并没有跳在正中心,导致该扫描的位置未被扫描,如上方第二幅图所示。(上方右图绿色部分为被作为关键点的部分) 我们把lo
阅读全文
摘要:写在前面 17年年底Wechat出了这个跳一跳的小游戏,今年2月份的时候简单地玩了一下,发现被游戏虐了(手太残了只能跳20多)。 今天刚好有点空,于是就花了一个下午的时间写了一个跳一跳的c++辅助。 由于本OIER既不会Python,也不会安卓的USB调试,更不会单片机,故写了一一个操作安卓模拟器的
阅读全文
摘要:上一篇blog已经讲了单调队列与单调栈的用法,本篇将讲述如何借助单调队列优化dp。 我先丢一道题:bzoj1855 此题不难想出O(n^4)做法,我们用f[i][j]表示第i天手中持有j只股票时,所赚钱的最大值。 不难推出以下式子: $f[i][j]=max\left\{\begin{aligned
阅读全文
摘要:由于本蒟蒻NOIP人品大爆发,能去冬令营,故准备开始练习使用linux下的IDE:vim 在dalao DTZ的帮助下,我装好了vim,并做了最初的配置。 然而........好难用啊,怎么和devcpp全都不一样 不能用剪贴板,不能用鼠标,还要打那么长的编译命令,看着就不爽~~ 于是,我写了这个配
阅读全文
摘要:为了装修我的博客,断断续续花了3天的时间,下面和大家分享下装修的方法以及本博客的定制代码。 先说下一个万能的办法:审查元素。 假设我们需要修改一个对话框的颜色(如图),对着该对话框右键,点击审查元素。 如图,浏览器左下方窗口显示的是该网页的html代码,右下角窗口为该网页的CSS代码。 假设要对该窗
阅读全文