![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
总结
Gank_Wind
I AK IOI
展开
-
此博客已弃用
RT,有需要请移至博客园原创 2021-10-19 16:11:21 · 122 阅读 · 0 评论 -
CSP+NOIP总结
CSP普及:自认为这次考的是很不理想的,因为平时的习惯,连桶排这种基础算法都没有掌握,排序到考前为止只会sort,这就导致了与省一无缘T3直接就放弃了,当时只想着T4如果能打出来就有省一了且T4也分析错误了,没有想到分类来讨论从上往下走和从下往上走的情况,以至于只打了爆搜,10tps如果考前能够再老老实实复习一遍基本的排序和DP,也许结果就大不一样了这次也是给自己敲响了警钟,因为如果还不能调整好状态的话跟别人的差距可能就越来越大了提高:T1直接放弃然后再打T2和T3的暴力事实证明以上策原创 2020-12-06 00:04:33 · 896 阅读 · 0 评论 -
最长公共上升子序列 输出路径
前言昨天才看懂,寒假时候我也太菜了吧题目描述研究发现,大猩猩的基因序列和人的基因序列只有1.3%的区别,更进一步,不仅仅离人最近的大猩猩和人的基因序列高度近似,就连以打洞为生的老鼠和人的基因序列也有高达95%的相同序列。于是有魔法师提出一个大胆设想,即改变人类的某些特定基因以期产生超级人类。现在,他们要做的第一步是将两种不同生物的基因序列转换成两个整数序列,并试图确定他们的最大公共上升子序列的长度,例如有A序列为4 3 2 1 7 8 9,B序列为7 8 9 4 3 2 1,其最长公共子序列是4原创 2020-09-20 13:39:30 · 477 阅读 · 0 评论 -
最短路总结--模板及例题
前言最短路是图论中的一种常见题目,通常用邻接表和邻接矩阵来储存,用邻接矩阵存可能会因为空间超大而不可取,但更加方便,具体选择要根据题目要求来1.Floyd算法弗洛伊德(floyd)算法是一种用来解决任意两点之间的最短路的算法,以动态规划的思路来进行遍历我们定义一个数组dp[k][i][j]来表示第i个点到第j个点的小于等于点k标号的中转点时的最短路,如果从i到k再从k到j的两条路之和比目前从i到j的最短路更短,那么就更新dp[k][i][j]如 for(int k=1;k<=n;k+原创 2020-07-29 21:21:17 · 716 阅读 · 0 评论 -
初涉树状数组
前言仍然是一种数据结构,实用性在线段树之下(一点点),难度在线段树以下。什么是树状数组?全称为Binary Indexed Tree (BIT),是一种能以O(lognlog_nlogn)的时间复杂度解决区间修改或查询问题的数据结构一个树状数组如下图所示如图,我们可以看出每一个BIT数组的元素的叶节点个数就等于此数二进制下的最低位的1的位置,设这个位置为lowbit(x),则可以用x&-x来得到这个数例如:lowbit(22)=222的二进制原码011010,正数的补码等于它的原创 2020-07-27 21:07:47 · 269 阅读 · 1 评论 -
NOIP模拟赛2
前言花了1个多小时搞T1,因为没有写好判断导致错误,然后又转去做T3,本来想出了两重循环但是脑子秀逗了准备手推打表代码。。。超级悲惨爆零33名滚粗满分:100+100+100+100=400得分:0+0+0+0=0T1A. 字符串的展开(expand.cpp)题目描述在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母或数字串替代其中的减号,即,将上面两个子串分原创 2020-07-25 20:37:24 · 445 阅读 · 0 评论 -
HASH表
前言字符串什么的最玄学了什么是HASH表当我们要查询几个数组里的元素时,往往用到朴素算法O(n)O(n)O(n)会超时,而二分虽然时间复杂度为O(logn)O(log_n)O(logn)又只能在数组有序的情况下使用,所以在这种时候,我们就需要用到hash表Hash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相原创 2020-07-23 21:48:16 · 260 阅读 · 0 评论