所有故事,
都从这里翻开。
本科2019–2023
2022-11-22ICPC2022-合肥赛区 SZTU_AtDawn队总结 ↗
在赛场的五个小时里,记录分工、取舍、失误与队伍的第一块铜牌。
2022-10-16自适应辛普森(Simpson)积分 ↗
很多时候,我们会面临一些求积分的问题,无论是直接给你函数,让你想办法求解积分,还是对于一些计算几何问题,无法直接推导积分,我们都可以用这种方法来求一段区域的积分
2022-10-16一些常见的数列问题 ↗
卡特兰数本质就是组合数学中经常出现在计数问题中的数列。他的本质其实是表达一类关系。但是在实际应用中,其实我们还是更关心他的实际价值。也就是他的值和那些问题的本质
2022-10-16康托展开 ↗
康托展开是一个全排列到一个自然数的双射,常用于构建hash表时的空间压缩。设有n个数(1,2,3,4,...,n) ,可以有组成不同(n!种)的排列组合,康托展
2022-10-16摩尔投票相关应用 ↗
摩尔投票法(Boyer–Moore majority vote algorithm)是一个比较冷门的算法,最初算法解决的问题是如何在任意多的候选人(选票无序),
2022-08-18Game Theory ↗
从组合游戏、必胜必败态到 SG 函数与经典模型的一份博弈论笔记。
2022-03-26Codeforce Round #640 Div4 ↗
一直听说cf之前搞过一场div4,所以找了个时间vp了一下,题目还是挺有意思的,感觉全是构造题。不知道为啥后来不办了,vp虚拟rank进了前30,前面写的有点慢
2022-03-23Codeforce Round #762 Div3 补题报告 ↗
好久没更新了 今天vp了下这套div3,前三题倒很顺利,做d的时候看错题,mn读反了,并且搞了一个错误的维护次大和最大的方案,虽然这个方案好像也能做,但是确实很
2022-02-09第十二届蓝桥杯B组真题题解 ↗
可以用dp做也可以直接母函数来做。都是比较模板的题hdu1709原题。写文章-CSDN博客生成函数相关知识可以参考我之前写的这篇来学习,重点在理解c1和c2在模
2021-11-17codeforce round 753 div3 题解报告 ↗
在vp比赛的时候只过了5题,后三题跨度还是挺大,不过也有前五题写的慢的愿意在里面,没有太多时间看后面的题。
2021-10-07Codeforces Round #744 (Div. 3) 解题报告 ↗
这套题打的时候只写了前5个题,都比较基础,但是后面三个题补了之后还是收获很大,记录一下题解报告和一些需要注意的细节
2021-09-30Codeforces Round #731 (Div. 3)解题报告 ↗
最近开始训练思维了,先从cf的div3练起吧,EFG都是后面补出来的,还是很有收获的,记录下每个题的做法
2021-07-27codeforce Round 734 div3 题解报告 ↗
其实这场比赛也没啥好总结的,当天过生日,就没有打这场比赛,第二天刚好有空就找时间虚拟参与了一下。题目难度不大,都是代码量很小的思维题。做的时候还是遇到了很多卡住
2021-07-16最小生成树刷题汇总 ↗
给定一棵 N 个节点的树,要求增加若干条边,把这棵树扩充为完全图,并满足图的唯一最小生成树仍然是这棵树。
2021-06-25SZTUOJ 1025.怪物入侵 ↗
有 n 个怪物站成一排,编号从 1 到 n 。第i个怪物有 Hi 点生命值。你的攻击力为 a ,你的对手的攻击力为 b ,你和你的对手只能轮流对同一个怪物造成伤
2021-06-25SZTUOJ 1024.在二叉树寻求邂逅是否搞错了什么 ↗
著名的zjb学长不曾说过:“邂逅一个心仪的女孩子比在二叉树上找一个节点要容易的多。”现在给你 n 个节点编号和一个完全二叉树(如图),请你求出这些节点的层数。设
2021-06-25SZTUOJ 1023.万圣节大作战 ↗
一年一度的万圣节马上就要到了,弓箭手小明和剑士小刚约好一起去猎杀幽灵,一共有n个幽灵,第i只幽灵会掉落ai件弓箭手装备,bi个剑士装备。小明的收获总和是他猎杀的
2021-06-22SZTUOJ 1022.辉辉翻扑克牌 ↗
辉辉将很多张扑克牌摆成一行放在桌上,有正面朝上的,也有背面朝上的。正面朝上的用1表示,背面朝上的用0表示。现在要求从这行的第一张扑克牌开始,将前若干张扑克牌一起
2021-06-22SZTUOJ 1021.食堂调查 ↗
因为新生的加入,最近食堂经理想统计新生最爱吃的菜,所以食堂经理亲自来到餐厅记录每个学生点菜的名单,为了响应国家关于节约粮食的号召,食堂所有菜品都可以点半份,现在
2021-06-22SZTUOJ 1020.钱钱的steam游戏 ↗
一共有n(n≤32768)SZTUer(以1--n编号)向钱钱索要steam的游戏,虽然钱钱十分富裕且帅气,但他最近在谈恋爱很耗钱,所以钱钱只能送给其中的k个人
2021-06-19SZTUOJ 1019.总之就是不太可爱 ↗
“总之就是不太可爱!”zjb学长对字符串很有研究,在他看来有些字符显然不太可爱。某天有几个可爱的女生拿着自己的c语言程序来向zjb请教,这时zjb注意到程序里的
2021-06-19SZTUOJ 1018.素数 ↗
质数(Prime number,又称素数),指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个正因数的数)。现输
2021-06-19SZTUOJ 1017.火柴人 ↗
今天,你买了一盒火柴,打算和同学比拼谁能用有限的火柴得到一个最大数字。火柴拼数字规则是,拼出零到九分别需要6、2、5、5、4、5、6、3、7、6个火柴。我们会给
2021-06-16SZTUOJ 1016.zjb学长想要玩! ↗
zjb学长虽然是个爱学习的人,但他偶尔也会想要玩,可是他的作业太多了,以至于他不知道要多长时间才能完成作业。于是他找到了聪明的你,请你编写程序计算他完成所有作业
2021-06-16SZTUOJ 1015.闰年 ↗
闰年(Leap Year)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的,补上时间差的年份为闰年。
2021-06-16SZTUOJ 1014.RMQ with Shifts ↗
原文目前仅保留字母「S」,未补写正文。
2021-06-16SZTUOJ 1010.最优对称路径 ↗
给一个n行n列的网格,每个格子里有一个1到9的数字。你需要从左上角走到右下角,其中每一步只能往上、下、左、右四个方向之一走到相邻格子,不能斜着走,也不能走出网格
2021-06-16SZTUOJ 1009.打怪升级 ↗
对于多数RPG游戏来说,除了剧情就是打怪升级。本题的任务是用最短的时间取得所有战斗的胜利。这些战斗必须按照特定的顺序进行,每打赢一场,都可能会获得一些补药,用来
2021-06-16SZTUOJ 1008.盒子游戏 ↗
有两个相同的盒子,其中一个装了n个球,另一个装了一个球。Alice和Bob发明了一个游戏,规则如下:
2021-06-13SZTUOJ1007 .多连块分解 ↗
多连块是指由多个等大正方形边与边连接而成的平面连通图形。 —— 维基百科
2021-06-12SZTUOJ 1006.多连块拼图 ↗
多连块是指由多个等大正方形边与边连接而成的平面连通图形。 —— 维基百科
2021-06-12SZTUOJ 1005.报数游戏 ↗
n个人站成一行玩一个报数游戏。所有人从左到右编号为1到n。游戏开始时,最左边的人报1,他右边的人报2,编号为3的人报3,等等。当编号为n的人(即最右边的人)报完
2021-06-10SZTUOJ 1004.一二三 ↗
你弟弟刚刚学会写英语的一(one)、二(two)和三(three)。他在纸上写了好些一二三,可惜有些字母写错了。已知每个单词最多有一个字母写错了(单词长度肯定不
2021-06-09SZTUOJ 1003.A+B(III) ↗
Your task is to Calculate + .
2021-06-08SZTUOJ 1002. A+B(II) ↗
Your task is to Calculate + .
2021-06-08SZTUOJ 1001. A+B (I) ↗
Your task is to Calculate .
2021-05-26四种基础数据结构的变种应用 ↗
最近重新复习了一下一些基础的数据结构,今天介绍四种基础结构的变种应用,分别是,单调栈,单调队列,01字典树和带权并查集,四种基础的数据结构都是很常见的,我们就直
2021-05-25hash算法理解和应用 ↗
这个问题要求我们把有限个数的数据范围较大的数,存储到一个较小的范围中,和离散化很像,实际上离散化就是一种特殊的hash方法,只是保证了有序,今天介绍的方法,是更
2021-05-17背包问题总结 ↗
整理 01 背包、完全背包、多重背包以及常见变形的状态与转移。
2021-05-122021-天梯赛(cccc)比赛题解 ↗
今年的天梯赛因为四月事多,没有参加,后面抽空把题做了一下,难度不大,但是有不少细节需要注意。写一篇博客来稍微总结一下这套比赛的一些坑点吧。第一部分题目没什么好说
2021-04-16母函数的理解和应用 ↗
提到母函数,可能大部分人对这个概念会感到十分陌生,这里我们先给大家一段概念性的解释。母函数就是一列用来展示一串数字的挂衣架。——赫伯特·唯尔夫 [1] 。定义:
2021-04-08矩阵快速幂的原理和构造技巧 ↗
矩阵和快速幂是两个大家都耳熟能详的概念,我们在学习矩阵快速幂这一概念之前,先稍微复习一下这两个概念。
2021-04-062021-ICPC昆明赛区-SZTU_Random队总结 ↗
这是我们队伍成立以来第一次打的正式的ACM系列赛事,其实也是学校第一次打的区域赛。从各种角度来说,都没有做到很好,也发现了正式赛和平时训练不管是心态还是各种层面
2021-03-02链表的几种写法(数据结构与算法课程1) ↗
因为这个学期刚好在上数据结构和算法这门课,就打算就此机会写一系列关于所有数据结构的总结和简单应用的博客,也加强自己对这些数据结构的理解。这篇文章主要总结了单链表
2021-02-05SZTU-ACM 2021 春期训练赛第一点五场 [组队赛](第四届河南大学生程序设计竞赛)总结和题解 ↗
题目意思很简单,就是关于26进制的互相转换,如果是26进制换10进制,直接把每一位按顺序乘26累计到下一位即可获得最终结果。如果是10进制转26进制,我们首先要
2021-02-03SZTU-ACM 2021 春期训练赛第一场 [组队赛]总结和题解 ↗
这场比赛是组队后进行的第一场组队训练赛,最后做了八道题。作为第一次比赛的成绩,也已经还算不错了,不过还是要对比赛中出现的一些问题进行总结反思。这场比赛,前期由于
2020-12-15深圳技术大学第二届软件和信息技术大赛-题解报告 ↗
由于本次比赛主要目的是为了选拔蓝桥杯的预备参赛队员,所以赛制上选择了大家可能比较陌生的OI赛制,所有提交只有赛后一次结算机会。考虑很多人第一次接触这个赛制,我们
2020-12-08最短路算法的总结 ↗
因为各种原因鸽了一个月的博客。今天就把三种最短路都简单归纳一下记录一下。
2020-10-262020HNCPC 模拟赛后总结 ↗
今天的比赛,一共做了4道题,最后rank50多。H题的公式其实已经推出来了,但是由于取模的问题,导致了这个题最后2小时都没调过。其他题由于时间限制没有开的很多,
2020-10-05uva 140 带宽 ↗
对于本题,因为数据范围在8!内,我们只需枚举这些字母的全排列就能解决问题,用u和v一起存图,u里为所有边起点,v为终点,枚举全排列,随时更新最值即可。
2020-10-05uva 129 困难的串 ↗
在枚举字串的过程中,用后缀来判断是否为困难的串,因为是从头开始枚举字串,所以对于新字串,只需要判断新加入的后缀造成的影响即可,由于此题只需枚举字串,回溯的过程在
2020-10-05uva 246 10-20-30游戏 ↗
对于每个手牌,直接用双向队列去维护,然后用vactor去维护所有小牌堆,对于vactor存储的全部状态,用set去重来保证不达到重复状态。其他的步骤直接模拟完成
2020-10-05uva 127 纸牌游戏 ↗
直接用52个栈来模拟52个牌堆,如果空了就直接删除,注意结构体存储更加方便,其他步骤直接模拟完成即可
2020-10-05uva12166 修改天平 ↗
这道题的特点在于,我们不管确定哪一个点的位置,所有其他位置的权值是一定的,所以我们秩序按照一个深度标准换算所有点的值,相同的最多值就是需要修改最少的方案,具体代
2020-10-05uva1600 巡逻机器人 ↗
题目可以直接用dfs解决,只需要加一个参数记录当前穿越了多少个障碍,及时退出即可。
2020-09-28Codeforces Round #673 (Div. 2)补题报告 ↗
BThero is a powerful magician. He has got nn piles of candies, the ii-th pile in
2020-09-28poj2689 素数距离 ↗
题意: 给出一个区间 [l, r] 求其中相邻的距离最近和最远的素数对 . 其中 1 <= l < r <= 2,147,483,647, r - l <= 1
2020-09-28素数的简单性质和筛法 ↗
素数定理(prime number theorem)是素数分布理论的中心定理,是关于素数个数问题的一个命题:设x≥1,以π(x)表示不超过x的素数的个数,当x→
2020-09-27uva1599 理想路径 ↗
对于一个n个房间m条路径的迷宫(Labyrinth)(2<=n<=100000, 1<=m<=200000),每条路径上都涂有颜色,颜色取值范围为1<=c<=1
2020-09-27uva 10129 单词 ↗
题目:输入n个单词,是否可以把这些单词排成一个序列,使得第一个字母和上一个单词的最后一个字母相同。仅包含小写字母例如(acm malform mouse)就可以
2020-09-26uva10562 看图写树 ↗
你的任务是将多叉树转化为括号表示法。如下图所示,每个结点除了"-","|",’#‘和空格的其他字符表示,每个非叶结点的正下方总会有一个’|‘字符,然后下方是一排
2020-09-26uva 10305给任务排序 ↗
John有n个任务要做,每个任务在做之前要先做特定的一些任务。
2020-09-26uva816 Abbott的复仇 ↗
这道题的和普通bfs的区别在于多增加一个参数,朝向。我们只需把朝向也作为一个参数加入结构体,直接进行三元bfs即可。在具体进行bfs的过程中
2020-09-24uva1103 古代象形符号 ↗
给出一幅黑白图像,每行相邻的四个点压缩成一个十六进制的字符。然后还有题中图示的6中古老的字符,按字母表顺序输出这些字符的标号。
2020-09-21扩展欧几里得方程的应用---求解不定方程(青蛙的约会) ↗
两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记
2020-09-20扩展欧几里得算法的证明 ↗
扩展欧几里得算法实际上就是对于ax+by=gcd(a,b),一定有一组整数解x,y使其成立对于这个式子的证明,可以采用数学归纳法进行实现,先证明当n= 1时命题
2020-09-20codeforce #671 补题报告 ↗
a题只需要简单判断奇偶数的情况就可以解决。题目第一次读起来稍微有些复杂,理解后直接模拟过程即可
2020-09-20uva839天平 ↗
在成为一个交流工具之前,风铃只是一个用线悬挂着五彩缤纷的物品的结构。它通常挂在婴儿的摇篮上。下面的图例展示了一个简单的风铃。它只是一根杠杆,悬挂在绳子上,两边各
2020-09-20uva548 树 ↗
你的任务是找出一棵二元树中最小路径上终端节点(树叶,leaf node)的值。 所谓路径乃指从根节点(root)旅行到任一终端节点。 路径的值为所经过的节点的值
2020-09-20uva 122 树的层次遍历 ↗
Trees are fundamental in many branches of computer science. Current state-of-the
2020-09-19Uva 12657 移动盒子(双向链表) ↗
你有一行盒子,从左到右依次编号为1, 2, 3,…, n。可以执行以下4种指令:1 X Y表示把盒子X移动到盒子Y左边(如果X已经在Y的左边则忽略此指令)。2
2020-09-19uva11988 破损的键盘 ↗
你有一个破损的键盘。键盘上所有的键都可以正常工作,但有时候Home键或者End键会自动按下。你并不知道键盘存在这一问题,而是专心打稿子,甚至连显示器都没打开。当
2020-09-19uva514 Rails ↗
题意很简单,大概就是一队车从1到n逐个进站,在这个过程中位于中转站首位的车随时可以出站,给你一个序列,问是否能够顺利出站。
2020-09-18告别过去,新的开始。 ↗
经过大一一年的摸爬滚打,不敢说能力得到了多大的锻炼,但是眼界还是有所提升,从大二开始,告别过去混乱的训练方案,在博客园新建博客,系统性的完成制定好的训练任务,让