回文 算法noip 1999

区间树上查找所有与给定区间相交的区间-算法复杂度正确性证明

区间树是在平衡树上维护的数据结构,按照左端点大小排序。详见《算法导论》。 算法设计思路 红黑树的拓展 在红黑树上维护结点属性\(min, max\): \(min\)表示该结点及其所有后代结点中的区间低端的最小值。 \(max\)表示该结点及其所有后代结点中的区间高端的最大值。 在插入时,对结点路上 ......
区间 复杂度 正确性 算法

NOIP模拟<反思>(36~)

NOIP2023模拟19联测40 异或连通 类似于线段树分治,但是可以在 \(trie\) 树上做。首先根据询问建一棵 \(trie\) 树,然后现在考虑将边插到树上。设插入的边权为 \(c_i\),因为 \(c_i^x<K\),所以我们压着上界走,考虑每一位 \(i\),如果 \(K\) 在第 \ ......
NOIP 36 lt gt

最小生成树(Kruskal和Prim算法)

最小生成树(Kruskal和Prim算法) 部分资料来源于:最小生成树(Kruskal算法)_kruskal算法求最小生成树-CSDN博客、【算法】最小生成树——Prim和Kruskal算法-CSDN博客 关于图的几个概念定义: 连通图:在无向图中,若任意两个顶点vi与vj都有路径相通,则称该无向图 ......
算法 Kruskal Prim

Dijkstra算法

Dijkstra算法 1.算法基本介绍 Dijkstra 算法是一个基于「贪心」、「广度优先搜索」、「动态规划」求一个图中一个点到其他所有点的最短路径的算法,时间复杂度 O(n2)。 Dijkstra算法通常是求解单源最短路中最快的算法,但它无法处理存在负权边的情况(原因在正确性证明中)。Dijks ......
算法 Dijkstra

NOIP 考前小复习

考前整理一些可能用得到的东西。 壹:命令行部分 一、编译 -std=c++14。 -Wall,-Wextra。会提醒一些可能写错了的地方,或者一些比较明显的 UB。比如 for(___)a=___;b=___;,会告诉你循环可能漏掉了末尾;比如 ++x + x++,会告诉你未定义。 有可能一些习惯, ......
NOIP

算法总结

贪心算法 解决问题:最优化问题; 优点:是解决最优化问题的最优策略,时间复杂度低; 缺点:要满足局部最优解可以推出全局最优解,这意味着在考场上想出一个贪心策略需要通过举例以及证明。 常见思考方式: 如果是决定谁先做谁后做的,类比排队问题,邻项交换;如果先后有限制关系,比如谁先做谁后做,那么通常套路还 ......
算法

蓝桥杯第三周算法竞赛D题&&E题

发现更多计算机知识,欢迎访问Cr不是铬的个人网站 D迷宫逃脱 拿到题目一眼应该就能看出是可以用动态规划来解决。但是怎么定义dp呢? 这个题增加难度的点就在当所在位置与下一个要去的位置互质的时候,会消耗一把钥匙。当没有钥匙的时候就不能移动了。想到这里,我们可以定义一个三维的dp数组. 定义dp dp[ ......
蓝桥 算法 amp

算法~totp用作签名防止url被复用

之前写过关于totp的文章,对它的基础有不清楚的同学,可以先看我的这篇文章《TOTP基础一》《TOTP基础二》 想到的问题 因为totp是把时间分成了一个一个小的时间窗口,当生成totp的服务器和校验totp的服务器不在一起时间窗口,就会出现验证失败的问题,这是不可避免的,时间戳是一个long类型的 ......
算法 totp url

NOIP2023 考前9场 总结

Round T1 T2 T3 T4 估分 实分 R1 100 100 10 70 280 280 R2 100 10 100 0 210 210 R3 100 100 25 40 265 265 R4 40 100 0 0 180 140 R5 60 100 50 0 250 210 R6 100 ......
NOIP 2023

树算法题

目录 1、计算二叉树中所有结点个数 2、计算二叉树中所有叶子节点的个数 3、计算二叉树中所有双分支的节点个数 4、计算二叉树的深度 5、找出二叉树中最大值的点 6、判断两个二叉树是否相似(指都为空或者都只有一一个根节点,或者左右子树都相似) 7、把二叉树所有节点左右子树交换 8、输出先序遍历第k个结 ......
算法

「比赛游记」NOIP 2023 游记

「比赛游记」NOIP 2023 游记 点击查看索引 这是 Index . 百度百科扒的,有没有人给我来一张更好的 . 11.14(day 998244350) 模拟赛,稳定打挂 . 高二的明天信息学考,晚上看他们做题感觉很有趣味 . 但是初中有无聊的信息中考 😧 😧 😧,危险的实验中考 😨 ......
游记 NOIP 2023

【2023.11.16】NOIP2023模拟试题-35

《信心赛》 《很简单》 T1 \(O(n\log n)\) 居然卡不过去(愤怒) 所以我们需要研发 \(O(n)\) 的算法:单调队列。 维护两个指针 \(l,r\) 从最左边开始扫,只要极差小于 \(k\) 就把 \(r\) 一直往右边挪,只要极差大于 \(k\) 就把 \(l\) 往右边挪,这样 ......
模拟试题 2023 试题 NOIP 11

【C++】【图像处理】形态学处理(腐蚀、膨胀)算法解析(以.raw格式的图像为基础进行图像处理、gray levels:256)

1 void erosion(BYTE* image, int w, int h, BYTE* outImg) 2 { 3 int rept; 4 //腐蚀 5 memcpy(outImg, image, sizeof(BYTE) * w * h); //将读取的图像赋值给outImg,方便进行腐蚀 ......
图像 图像处理 形态学 算法 形态

NOIP 2023 游记/鲜花

Day -3 我朝为什么只剩两天了,我不想学 whk。 下午写建造军营,写挂了。 晚上典中典没部分分全真模拟赛。/jk fls : 怎么弄了个 EC Final 给你们打啊 开 A,写 A,开 B,开 C,写 B,开 D,写 D,写 C,拍 A,拍 C。 预计得分 \(1+1+1+1=4\),实际得 ......
游记 鲜花 NOIP 2023

分治算法

1、基本介绍 分治算法是非常重要的一种算法,基本思想就是将一个大问题化解成俩个或多个子问题,直到子问题可以直接求解为止,将每个子问题的解合并。如:归并排序,汉诺塔问题,快速排序... 2、基本步骤 分治法在每一层递归上都有三个步骤: (1)、分解:将原问题分解为若干个规模较小,相互独立,与原问题形式 ......
算法

随机产生n个数的排列(Fisher-Yates洗牌算法)

#include <bits/stdc++.h> using namespace std; const int N = 1e5 + 10; int a[N]; // Fisher-Yates洗牌算法 void shuffle(int n) { srand(time(NULL)); for (int ......
Fisher-Yates 算法 个数 Fisher Yates

2023NOIP A层联测32 T4 红楼 ~ Eastern Dream

2023NOIP A层联测32 T4 红楼 ~ Eastern Dream 根号分治加分块。 Ps:分块后面真的用的多。 思路 考虑根号分治,将 \(x\) 分为 \(x \leq \sqrt n\) 的情况和 \(x>\sqrt n\) 的情况。 \(x \leq \sqrt n\) 由于这一部分 ......
红楼 Eastern Dream 2023 NOIP

NOIP 2023 游记

人生第一次 NOIP。 \(\text{Day 1 = 2023.11.18}\). Day -? CSP 考烂了之后心态貌似反而正常了一点,也不知道是好事还是坏事。 比如怎么会有人心安理得地在这写游记不去复习呢? Day -4 感冒了。 上一次比较严重的感冒还是 NOI 的 Day 1.5,奇奇怪 ......
游记 NOIP 2023

NOIP2023游记

Day -4 感觉也应该是开始写游记的时间了? 把之前想做还没做的两道 agc 的题写了写,顺便写写题解,做完这件事感觉 OI 生涯其实也就圆满了。至少我退役以后不会想着我有题没写完了。 Day -3 今天上午又是无所事事的一上午啊,看了看往年的 noip 题,感觉自己啥都不会,咋办呢。 都在写《再 ......
游记 NOIP 2023

NOIP 2023 游记

上次 CSP 2023 考完,因为考得太烂把写了一半的游记删了,希望这次不会。 考完可能 23 年剩下就没有奥赛了,变成苦逼 whker 了。 Day -3 上午模拟赛 \(70+80+0+40\)。T1 细节没处理到,本来过了,被 UU 卡了。T2 想到了正解,没来得及写完,时间浪费在思考太慢了, ......
游记 NOIP 2023

NOIP 前上班纪要

CSP模拟47联测9 数据我造的。 CSP模拟48联测10 B. 特 卡掉了一种基于先快速筛查决策点后枚举剩余的决策点进行暴力判定的做法。 list CSP模拟50联测12 C. 路径 卡掉了暴力合并的点分治。 由于没有重测,我代为提交。 CSP模拟51联测13 A. 菜 卡掉了并查集判断的假做法和 ......
纪要 NOIP

使用 PPO 算法进行 RLHF 的 N 步实现细节

当下,RLHF/ChatGPT 已经变成了一个非常流行的话题。我们正在致力于更多有关 RLHF 的研究,这篇博客尝试复现 OpenAI 在 2019 年开源的原始 RLHF 代码库,其仓库位置位于 openai/lm-human-preferences。尽管它具有 “tensorflow-1.x” ......
算法 细节 RLHF PPO

2023/11/16 NOIP 模拟赛

T1 基于1的算术 标签 暴力枚举 思路1 赛时想了个假的 DP,只拿了 77 分,,, 小于 \(10^{15}\) 的仅由 \(1\) 组成的数只有 \(15\) 个,直接枚举即可。 想了一个做法,就是直接枚举第 \(i\) 位作为最高位的 \(1\) 串取了几个,分解每位,设从高到低 \(i\ ......
模拟赛 2023 NOIP 11 16

由数据范围反推算法复杂度以及算法内容

由数据范围反推算法复杂度以及算法内容 一般ACM或者笔试题的时间限制是1秒或2秒。 在这种情况下, \(\mathrm{C}++\) 代码中的操作次数控制在 \(10^{7} \sim 10^{8}\) 为最佳。 下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择: \(n \leq 30\ ......
复杂度 算法 范围 内容 数据

文心一言 VS 讯飞星火 VS chatgpt (136)-- 算法导论11.3 2题

二、用go语言,假设将一个长度为r的字符串散列到m 个槽中,并将其视为一个以 128 为基数的数,要求应用除法散列法。我们可以很容易地把数 m 表示为一个 32 位的机器字,但对长度为r的字符串,由于它被当做以 128 为基数的数来处理,就要占用若干个机器字。假设应用除法散列法来计算一个字符串的散列 ......
文心 导论 算法 chatgpt VS

NOIP2023游记

DAY -3 状态稀烂,NOIP2021T4爆搜打了一天,但是常数还是薄纱echo_long,于是下午开摆,体活课跑路踢球去了,惨遭2班6:1暴打,蒟蒻半空门球都停下来了,竟然抽歪了,过人晃倒自己,晚上7:30跑路,回家开始欢乐pes,打双十一竞技场快被系统气死了,门将场场摄政王,对面每场门将都跟开 ......
游记 NOIP 2023

[NOIP2022] 建造军营 题解

[NOIP2022] 建造军营 题解 Part I 观察 注意到如果删掉的边在一个边双连通分量里面,那么无论如何都不会影响 A 国,所以 B 国只会删掉桥,于是把图边双缩点之后,同一个边双里面的点要么都不选,要么随便选至少一个。 Part II DP 再次发现军营一定是一个极大的连通块,所以可以考虑 ......
题解 军营 NOIP 2022

2023NOIP A层联测32 T3 sakuya

2023NOIP A层联测32 T3 sakuya 虚伪的期望,彬彬赛时都能 A 的数学题。 思路 考虑算出来总的花费,再除以 \(m!\) 求期望。 对于某个排列的花费为:\(\sum\limits_{i=2}^m dis(a_{i-1},a_i)\)。 但考虑一下,这个式子重要吗? 我们的目的是 ......
sakuya 2023 NOIP T3

算法刷题记录-哈希表

算法刷题记录-哈希表 有效的字母异位词 给定两个字符串 *s* 和 *t* ,编写一个函数来判断 *t* 是否是 *s* 的字母异位词。 注意:若 *s* 和 *t* 中每个字符出现的次数都相同,则称 *s* 和 *t* 互为字母异位词。 示例 1: 输入: s = "anagram", t = " ......
算法

数据结构与算法 | 动态规划算法(Dynamic Programming)

上一篇文末已经提到了记忆化搜索是动态规划(Dynamic Programming)的一种形式,是一种自顶向下(Top-Down)的思考方式;既然动态规划有自顶向下(Top-Down)的递归形式,自然想到对应的另外一种思考方式自底向上( Bottom-Up )。什么是自底向上的思考?不空谈理论... ......