自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 vector的插入时间复杂度不是O(n)?

vector蜜汁插入

2022-06-07 21:06:59 1161

原创 欧拉函数公式推导及筛法实现

欧拉函数

2022-04-19 19:57:24 399

原创 组合数实现及卢卡斯定理证明

组合数实现

2022-04-19 16:01:13 231

原创 2022蓝桥杯c++B组题目整理

2022蓝桥杯c/c++B组大辣鸡题解,有补题链接的~

2022-04-11 16:07:33 3799 1

原创 2019CCPC A . Angle Beats(斜率哈希)

题目大意:给定平面内的n 个点,m次询问,每次询问给出一个点,询问这个点与给定的n个点中的某两个点构成直角三角形的方案数。n,m<=2000,4000ms设询问的点为 q 点分为两种情况,q 点为直角顶点和 q 为锐角顶点。第一种情况使用一个 map 存下所有其它点与 q 点的斜率,然后在map中找乘积为 -1 的斜率的对数,第二种情况先预处理 n 个点中每个点的每种斜率的点的个数,然后询问的时候遍历一遍算出对应斜率并求查询负倒数斜率的个数即可。然鹅这两种操作使用map会超时:整.

2021-10-31 23:17:46 418 2

原创 摩尔投票法

例:169. 多数元素 - 力扣(LeetCode) (leetcode-cn.com)题目:找出一个数组中出现次数超过一半的数字。摩尔投票法可以使用 O(n) 的时间复杂度和常数的空间解决这个问题。把出现次数超过一半的数字定义为多数元素首先维护一个变量,和它的票数,假设它就是答案,遍历数组,如果当前的数和维护的值相同,就为它的票数加一,否则减一,当票数减到0的时候就更新这个变量为当前值,在保证存在多数元素的情况下,遍历到最后时剩下的数一定为这个数组中多数元素。这个算法的原理可以看作每次

2021-08-17 21:08:20 102

原创 贪心——田忌赛马

例: Tian Ji -- The Horse Racing - POJ 2287 - Virtual Judge (vjudge.net)题目就是田忌赛马,不过不是3匹而是n匹马,也不是一一对应的比齐王的慢一点,而是输入的。首先田忌赛马的思想应当用最慢的马拼掉对方最快的马,所以从最慢的马下手,先和对方最慢的马比较,如果快说明己方所有的马都能胜过对方这匹马,此时用最慢的赢当然收益最大,如果慢,此时发挥己方的马的最大价值来拼掉对方最快的马,如果相等,再用己方最快的马和对方最快的马比较,如果快,则己方的

2021-08-15 16:59:28 162

原创 ST表,O(1)查询区间最大(小)值

ST表首先预处理了一部分的区间最大值,处理的部分的左端点为数组的每个点,长度为的所有区间,个数就是个,查询时将查询的区间分成可能有重叠的两部分,查询的值就是这两部分的最大值,分成的两部分的长度均为,这样两部分就都可以直接查询,具体实现:const int N = 1e5 + 7;int f[N][18];int a[N];int n, m;int getmax(int l, int r){ int len = r - l + 1; int k = log(le..

2021-07-26 09:35:51 508

原创 除法取模及快速幂模板

除法是不能直接相除取模的,所以需要将除法转换为乘法即:变形得 ≡ 1(mod p)由费马小定理 %p ≡ 1 (mod p) 得 ≡ 1 (mod p)即 b 对质数 p 的逆元快速幂模板:int Mod = 1e9+7;ll gmi(ll a, ll b = Mod - 2){ if (a == 0 || a == 1) return a; ll res = 1, t = a; while (b) { ...

2021-07-25 18:18:16 459

原创 卡特兰数简要原理及组合数实现

卡特兰数

2021-07-23 20:18:21 351

原创 线段树模板+简短解析

不多bibi,线段树懂得都懂,会用才是最难的struct Node{ int l,r; //int s/Max/Min/.....想要用线段树存的东西, 下文中用X代替 //int lz //懒标记,在需要区间修改的题目中使用}tr[N];inline void push_up(int s){ //通过子节点更新父节点,要求X能过从子区间推导出来比如:和、最大值、最小值。但是种类数之类的就不行}inline void push_down(int s)//专门为区间修改设计.

2021-07-14 21:23:25 82

原创 Nim游戏入门+SG函数

对于经典的Nim游戏,只需要把每一堆初始状态都异或起来,最后得到的结果非0的为必胜状态,结果为0的为必败状态。原理:异或的结果非0的状态总能通过一次取物品操作,将此状态转化为结果为0的状态;而异或结果为0的状态如果不是最终状态(所有堆都是0)经过一次取物品操作,总会变为异或结果非0的状态。例:891. Nim游戏 - AcWing题库SG函数SG函数的自变量为有向图游戏中能达到的一种状态,因变量为一个数。定义某个状态的SG值为其不能到达的SG值的最小值,举个栗子:...

2021-07-09 05:31:22 301

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除