自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Codeforces Round 943 (Div. 3)

这里就来复盘一下C题吧,没写到的题以后再说(目前还是缺很多东西,补题的话目前的计划是。其实就差一点 我就写出来了 我只知道式子和展开 但是我不会分析 还是得多思考。题目的意思是给定一个长度为n-1的x数组,求解出长度为n的a数组。补看了题目没思路的 或者有一点点感觉又写不出的QAQ)比赛时就做出了这两题 甚至连思路也是莫名其妙的。给定 找到g(x,y)+y 中最大的y。对于每个测试用例,输出满足语句的任何。这次的签到题终于和以往的风格不一样了。**请注意,如果有多个满足该语句的。

2024-05-16 10:47:45 544

原创 爬楼梯[C++/递归/递推/高精度]

上学期学计算机竞赛入门,老师讲递推(有时候提前给结论会比一个细节一个细节重复下去容易体会/换一个思路 上学期讲这个爬楼梯递推实现让我感觉摸不着头脑/也有可能是过了这么久学的东西变多了容易体会)直接看测试数据(bushi)(已经提交了 如果是oi根本没得看 IOI更没得看 当作学习可以看hhh)太长了看不下去 不用想 高精度跑不掉了(python没烦恼,但是没好好学 从来没拿来用过 忘光光了)原因是我超时了,为什么会超时,想了一会,超时应该是和栈有关,应该是爆栈了,

2024-05-06 20:56:16 688

原创 Codeforces Round 165(Div.2)

教育场,最近也是蓝桥杯打完了,第一次打,又菜又爱玩,很多题型都没见过,像学新东西一样,还有就是最后一题连线性筛也忘记了,不过本省比较友好(广西),以为预定省4了,没想到最后还是挤进了省2,继续努力吧,回到正题,蓝桥之后打的第一场,div2(连div3都打不过的小辣鸡来挑战一下div2)没想到最后还能写出两题,不过花了好长时间啊,一个半小时写两题,看来还得多练。耐心读了一下题目,要求是至少有2个朋友来, 分析得到,要让a去那么就要邀请a和a的朋友,这时候a就一定会去(b去不去随意)

2024-05-01 13:12:58 707 1

原创 Codeforces Round 938(Div.3)

第三道题赛后补了,其他题都没开,连题面都没时间看QAQ,后面我会努力补题的,马上要蓝桥杯的(虽然延时了),希望自己能模拟出来,能暴力出来 TOT。第二题就有点离谱了,首先就是矩阵,还好不是设计行列变换(我都忘了,线代也忘了,高斯消元也忘了…思路:判断单独付两件的钱划算还是直接按b元买两件划算,按照这样的思路来买,剩下一件的时候再用a元买下来。比赛时就AC两道,第二道太离谱了调了差不多一小时,本来就是2个半小时的场,😔有才有爱玩,真就菜就多练。然后再给定一列数,共n*n个,问能不能满足上面构造的条件。

2024-04-17 18:52:07 351

原创 递增三元组(枚举,前缀和,二分,双指针)

前缀和优化值得学习!

2024-04-05 20:16:30 474 1

原创 Codeforces Round 937 (Div.4)

我的写法 (我直接模拟填表了 填2*2 然后先填# 再填. 然后 统计一下上一行填了奇数个#还是偶数个 现在都不太好看了这个代码 反正就是flag控制第下一个填#还是填.)假设n个子串最多只有1个串是错误的 选两个出来其中一个必定是对的 如果一个不对 假设不成立 那就有超过1个串是错误的 那只能扩展子串的长度。就是找一个子串用这个子串重复叠加构造一个和原串的长度一样的字符串 和原串对比,最多只会有一个地方不同。二进制十进制数(一个十进制的数 每一位都是0或者1)这个子串长度是n的约数 最坏是n(一定可以)

2024-03-29 19:59:22 430 1

原创 快速加&快速幂

所以快速幂的思想就是:预处理出 底数为a 指数为2的k次方(k从0一直往下取取到指数二进制最后一位减1)然后取出指数n的每一位 如果该m位是1 那么就把a的2^m次方累乘起来(m从0开始)根据数学知识: 同底数幂相乘 底数不变指数相加 以及数的二进制表示。我们平时实现计算a^n次方通常会想到直接用1乘a循环n次。思想和快速幂类似 将大数优化乘二进制 a*b。预处理出 1a 2a 4a 8a…(工具 二进制优化的思想)将指数n转换成二进制展开式。我们可以进行以下优化。

2024-03-15 15:40:41 814 1

原创 组合数 常用

如果使用朴素算法(根据公式直接求)

2024-03-13 19:45:05 316

原创 并查集(带权+路径压缩+连通点统计)

思想:将单独的点作为一个集合 然后集合的标志就是他本身的编号。把每一个单独不可分割的点作为最小的一个分量。加入点以后做优化(路径压缩)让加入集合的点都指向标志。多用一个cnt数组维护。然后做合并删除等操作。即find函数的实现。

2023-11-30 21:40:37 68 1

原创 前缀和与差分(思维)

给定一个数列,我们可以通过递推的方式预处理出前n项和,这样我们输出前缀和就只需要O(1)的时间复杂度。

2023-11-09 21:24:28 83 1

原创 螺旋折线填空题

首先如果按蛇形 我感觉太复杂了 所以我决定找正方形的规律(自己发现了 但是后面发现csdn上也有许多思路差不多 各有千秋吧) 然后我的层数就是第几圈 0 1 2 3...我找的是左下角的规律 因为正方形的数是顺时针递增 所以左下角就是每个正方形的最大数 然后我发现的规矩是。然后我们要做的就是 任给一个坐标 找到他所在的层数 然后确定他与最大数相距多少 就能就出这个点的数值。在左方的竖边和上方的横边的差距就是最大值-cnt-dist。我使用的技巧是曼哈顿距离 dist。我们要如何确定这个点的层数呢?

2023-11-08 16:08:37 69 2

原创 给出两种遍历结果还原二叉树

然后根据中序遍历的特点和结合中序结果可知,B只有右子树,右子树的根就是C(C在后序中排靠后),然后我们再看中序结果和中序特点易得,D是C的左儿子,E是C的右儿子。然后我们找右子树的根,根据后序结果我们知道F是右子树的根,然后F左边是A 结合中序特点知F只有右子树,然后G是右子树的根,根据中序特点知道H是G的左儿子。然后找子树,我们知道A是根以后,通过中序遍历的结果和中序遍历的特点我们可以看出,排在A左边的BDCE构成了A的左子树,FHG构成了A的右子树。或者②知道中序遍历的结果和后续遍历的结果。

2023-10-31 00:25:20 70 1

原创 BFS宽度优先搜索

和深度优先搜索不同,宽度优先搜索是层层递进,像是地毯式搜索,找到答案就停止(从根开始往下一层一层的搜),这时候选择用队列来维护当前层,如果队列不空说明当前层还没往下搜,讲队头取出,目的是将当前层取出,如果还有下一层就把下一层的节点加入队列以此往复直到找到答案为止。下面是一个使用BFS的经典例子。

2023-10-30 00:24:01 76 1

原创 六角幻方暴力填数

然后二级结论每种线的和都是38,所以只要暴力梅举5个数(不重复,在范围内),然后11个数都能表示出来了,然后还是要求这11个数在范围里不重复。最后发现只要x5放第二行中间的位置(左右都可以) 其他的点也跟着可以表示出来了 我这里表示出来的顺序就是从A-K。已知所有数的范围是从1-19并且没有重复,一共有15条边,并且每条边的数相等。只有三个点 并且15已知 所以只要有用一个未知数x1表示中间的那个点。然后我定义A-K点为a[0],a[6],a[7]…所以就确保剩下的16个数在1-19范围里,并且不重复。

2023-10-26 00:07:28 431

原创 关于除基取余得整数的n进制和乘基取整得小数的n进制

次数:0 1 2 3 4 5 6 7 8 9 10 11。常数:1 2 4 8 16 32 64 128 256 512 1024 2048。然后还有就是常用的二进制的四位代表16进制的1位。记住n个0或者n个1的二进制代表什么。实现快速的 2 8 16 10转换。还有一些常用的数 方便直接凑数。二进制的三位代表8进制的1位。

2023-10-24 15:02:19 65

原创 高精度计算(模板)

当我们输入的数很长的时候,我们可以采用字符串的形式输入,然后再讲字符串的每一位取出放进数组中。

2023-10-19 21:01:06 76

原创 静态栈和队列(模板)

有没有什么办法可以优化一下呢,我们发现有的数始终用不到,举个例子,546,现在我们要找6的第一个比他小的数,答案就是4,因为5在4的前面,只要4在的一天,5永远没有出头之日,因此5就没用了。其中,empty 操作的查询结果为 YES 或 NO,query 操作的查询结果为一个整数,表示栈顶元素的值。其中,empty 操作的查询结果为 YES 或 NO,query 操作的查询结果为一个整数,表示队头元素的值。给定一个长度为 N 的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出 −1。

2023-10-17 02:20:06 70

原创 DFS深度优先搜索

还有就是u+1等于3 u==n的时候 输出一次结果 然后再返回的第三位 然后解除3位占用的那个数。他就是一路走到头 递进到n==0 走到了头 没得走了然后返回上一层 然后执行完再返回上一层…就降成3x2的阶乘->3x2x1的阶乘->3x2x1->0的阶乘 然后0阶乘是1 返回。因为是不同的数排列 所以相同的情况就可以取消了 我们原本是想每一位上从1到n枚举的。1 2 3 到1 2 到 1 3 然后这时候进入第3位for又从1开始!将每个数的状态记录一下 如果被用了 就不能在后面的位填这个数。

2023-10-14 16:52:18 126 1

原创 ①二分查找

以上就是两个整数二分的模板 根据情况套用就可以省去为边界问题的烦恼。没有边界问题的烦恼啦 就保证精度就可以了。

2023-10-13 01:18:52 75 3

原创 几个简单排序

(写这篇文章的目的–方便自己复习,打个标记,如果能帮到大家那就更好了,受众是和我一样的初学者)

2023-10-11 21:43:32 110 3

空空如也

空空如也

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

TA关注的人

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