3.1k 3 分钟

# LCA 公共祖先 什么是最小公共祖先,顾名思义就是俩点最近的公共祖先 如图所示: 2 和 5 的最小公共祖先就是 4 2 和 1 的最小公共祖先就是 4 3 和 5 的最小公共祖先是 1 那么怎么求呢? 先介绍两种朴素的做法,也就是超时的做法🐷 第一种: 向上标记法 想求两个点的最小公共祖先可以先从其中一个点往上找父亲结点,直到根节点,把路径标记一下,然后从另一个点开始做同样的操作,当遇到已经标记过的点的时候就停下来,这个点一定是最小公共祖先( 每次查询时间复杂度:O (n) ) # CODE #include <bits/stdc++.h> using...
4.9k 4 分钟

注意注意注意: 异或运算符优先级比等于还要低!!!!二进制的运算符尽量都加上括号 必胜状态后继节点一定有必败 必败状态后继都是必胜 # 巴什博弈 数上博弈 俩人轮流取数,一次可以取走 1 到 m 个数,假如有 m+1 个数,则第一个人怎么取第二个人都可以一次取走, 第二个人就赢了,现在有 x 个数,这 x 个数可能是 m+1 的倍数,也可能不是,假设不是,那么那么第一个人 就可以第一次取 s 个数,把 m+1 这个必败状态给对方,假如是,则自己就是必败了 x=n*(m+1)+s # Brave game (HDU1846) #include...
3.7k 3 分钟

计蒜客之前比赛的一道题目,记录一下 # G Millionaire Madness A close friend of yours, a duck with financial problems, has requested your help with a matter that will help him pay off his debts. He is the nephew of an extremely wealthy duck, who has a large vault, filled with mountains of coins. This wealthy duck has...
6.6k 6 分钟

写这个代码花了一个小时,因为刚学了一点点 OS 模块,还不是很熟悉,写完后功能也都有,但是!!!导出为 exe 文件时不小心误删了 py 文件,气死我了!又重新写了一遍。 新加了 GUI 界面的整理页面小程序,效果如下图所示 GitHub 项目地址 Here 效果图: # CODE1(不含有重命名) import osfrom shutil import copyfiledef create(): print('------创建文件夹------') for i in var_list: Path_now = os.path.join(Path,...
4.6k 4 分钟

前言 趁着还没忘记录一下吧🐷 # 哈希能干些啥? 学一个新算法首先一定要知道学这个能干些啥对吧,我们是为了用某个东西而去学这个东西而不是盲目目的的学,现在假如给你两段字符串让你去比较他们是否相同,如果暴力做法就是从头到尾扫一遍,都相同则相同,复杂度为 O (N),假如数据量非常大,而且字符串长度很大,现在题目就变成了给你 n 个字符串,现在又给你 t 个字符串问你每一个字符串是否在这 n 个字符串中,平常做法时间复杂度 O (t*t 个字符串每一个字符串长度 * n),若用哈希预处理时间复杂度降到 O (t * 字符串长度 + n),也就是把那 n...
4.3k 4 分钟

最友好的一次积分赛 2333 应该也是最后一个个人积分赛了,不知道最后一次会不会是团队赛,再说吧,已经八月十五了,自从集训以来每天都有训练,虽然晚上一般都是有些时间去记录一些题解的,但是懒癌晚期的我真的不想去写,终于今天下定决心,趁着这两天我要补一下题解,把最近有意义的题目记录一下,也算是一个复习吧🎉 # D 何不好的晨练 描述 何不好是一名晨练爱好者,每天他都要一大早出门进行晨跑锻炼,何不好生活的城市很大, 同时也比较繁荣,路边高楼耸立,道路上车辆往来,川流不息。 晨练的同时还可以欣赏路边的风景,于是,何不好打算每天选择 M 条路段,其中包括...
8.4k 8 分钟

题目面板 提取码:k2fu # A. 胡图图的数学难题 这道题很有意思让你求斐波那契数列的平方和,一篇易懂的题解 得到公式以后直接一个矩阵快速幂就解决了 #include <bits/stdc++.h> #define ios ios::sync_with_stdio(0); cin.tie(0); cout.tie(0) using namespace std; typedef long long ll; const ll MOD=1e9+7; struct node{ ll mat[2][2]; void...
7.8k 7 分钟

dfs 标记的位置太重要了,放在不同位置产生的效果都有巨大的差别,记录今天的一些 dfs 记忆化搜索题目 # A- Function Run Fun 题目链接 #include<stdio.h> #include<string> #include<string.h> #include<algorithm> #include<iostream> typedef long long ll; using namespace std; ll...
11k 10 分钟

学习了最短路后,感觉自己理解真的很一般,只会一些模板题目,稍微变一下就死了,而且发现我的思维很死,只会写套路题,做那些稍微灵活一点的题目感觉就很吃力,希望以后能有好转 # B 张仙女的愧疚 张仙女最近痴迷于游戏,可是他每周都得为学弟们准备一场积分赛。但,不是谁都能成为 时间管理大师。在游戏的诱惑下,他不小心出了几道难题,导致学弟们的心态可能爆炸,终于 他感到了深深的愧疚。决定这次一定友好一点。 他想到了一个有趣且简单的问题,准备交给学弟们解决。 给你一个数组 N,数组的下标从 1 开始,数组中的每个数的值为...
6.4k 6 分钟

前两天打了第二场积分赛,难度明显比上次高,感觉更考验思维了,收集了一些我认为有价值的题目,因为太懒了,不想自己写思路题解了,搬来了别人的代码和题解,以后争取养成保存代码的习惯🐷 # A 徐半仙的数学难题 描述 徐半仙经常修炼。但是每次修炼所能提升的功力确是不确定的(可能是功力还不够深厚 吧)。 每次修炼结束之后,徐半仙的脑海中就会浮现出两个数字,n 和 m,他的师父跟他说他每 次修炼增加的功力就是由这两个数决定的。每次增加的功力为 (n!!!)%m,即 n 的阶乘的阶乘的 阶乘对 m 取模之后的值。 徐半仙想让你帮他写一个程序,通过 n 和 m...