自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Codeforces Round #696 (Div. 2)(A~D题解)

Codeforces Round #696 (Div. 2)(A~C题解)——南昌理工学院ACM集训队题目链接:https://codeforces.ml/contest/1474A. Puzzle From the FutureIn the 2022 year, Mike found two binary integers a and b of length n (both of them are written only by digits 0 and 1) that can have lead

2021-01-20 11:29:35 3356 8

原创 lqmm算法竞赛生涯回忆录(

带着这份疑惑度过了第二次暑假集训。其实并不算难题,应该是银牌区门槛题,但是我的“自信心”让我认准了另一个错误的写法,浪费了大量的时间,最终无缘江西省赛金牌,那是我第二次对自己产生疑问,因为我的自信,害惨了队友,痛失了荣誉,也是从这次比赛之后,我对博弈题目有了发自内心的恐惧,而2022年的CCPC网络预选赛,正像是历史复刻,重演了这一悲剧,又是一个博弈题,错失了这一届的CCPC参赛名额。最终榜单定格的时候,我们赢了,没有想象中的欢呼雀跃,也没有情绪爆发,取而代之的是一种释怀,我们拿回了属于我们的那块铜牌。

2023-02-25 21:38:26 362

原创 Codeforces Round #760 (Div. 3)(A~E)题解

Codeforces Round #760 (Div. 3)A. Polycarp and Sums of Subsequences题目:——>传送门题意:有一个长度为3的正整数数组a,将其中三个数中任选一个或两个或三个数组合,可以得到七个数字(七个数中有可能相同)组成数组b, 现在从小到大给你这七个数字,求最初的三个数是多少;解题思路:由于数组a中都是正整数,那么b中最大的数字就是a中所有数字之和,倒数第二个数字和倒数第三个数字一定是a中两个数字相结合,倒数第四个数字则不一定,例如数组[1,

2021-12-15 17:44:45 526

原创 Codeforces Round #759 (Div. 2, based on Technocup 2022 Elimination Round 3)(A~D)题解

Codeforces Round #759 (Div. 2, based on Technocup 2022 Elimination Round 3)这场时间太阴间了,十一点开场还延时两次,可怜早八人迟到;不过昨天打的小号,今天算分的时候小号的分数感谢codeforces在博主生日这天给予的浪漫QAQ(贴贴);A. Life of a Flower题目:——>传送门题意:给一束花,初始的高度为1,之后过了n天,在这n天中,对于第i天如果浇水,则花高度加1,若i-1天也浇了水,则花的高度额

2021-12-13 21:08:03 726 1

原创 牛客小月赛41 (A~F)题解

今天是lzgg出的题呀,是小红专场;题目不是很难,但是比赛时候网站老是崩,体验就不太舒服;A、小红的签到题题目:传送门题意: a 道题,一共有 b 人参赛,所有人通过题目数量的总数为 c 道,问最多有多少人全部写完;解题思路:简单签到题,这题差点就抢到首A了,QAQ;直接用c除以a不计算余数就是答案;AC代码:#include<iostream>#include<algorithm>using namespace std;int main(){ int

2021-12-05 15:10:34 1259

原创 Educational Codeforces Round 118 (Rated for Div. 2)题解(A~D)

A. Long Comparison题目:传送门题意:分别给出两个数字和这两个数字后面又多少个0,请问这两个组合之后的数相比谁大谁小,输出’>’, ‘<‘或’=’;解题思路:直接暴力模拟,先看组合后的数长度位数,再从前往后循环模拟,我用string存储前面的数字,当长度一样时,往两个字符串后面加上相同位数的’0‘,避免越界;AC代码:void solve(){ int x, y; string s, c; cin>>s>>x; c

2021-12-02 22:17:10 452

原创 Deltix Round, Autumn 2021 (open for everyone, rated, Div. 1 + Div. 2)题解(A~D)

D看不懂题意,反正是小号,看看明天补不补题;A. Divide and Multiply题意:总共T组样例,对于每组样例给出n个数,要求每一次可以找到两个数(至少有一个奇数),使得其中一个偶数除以2,另一个数乘以2,求该数组和最大值为多少;解题思路:相信大家都知道“指数爆炸”这个概念,对于每个数组,我们只要将所有的乘2操作给最大的奇数,使得这个奇数最大。所以只需要先将数组内所有的偶数一直除以2直到变为奇数,再在这个奇数数组中找出最大的奇数,将所有的乘2操作给这个奇数,最后算一遍总和,数据范围来看需要

2021-11-29 01:17:35 1089

原创 Educational Codeforces Round 117 (Rated for Div. 2)题解(A~D)

Educational Codeforces Round 117 (Rated for Div. 2)今天这场没打,赛后从九点半到十一点把前面四个题目给补了一下,E题明天有时间看看能不能弄出来。A. Distance今天没有谜语人,题意还是很好懂的;题意:对于T组测试样例,每组给两个数x,y,为一个坐标,要求找出一个点,该点到原点(0,0)和给定点(x,y)的曼哈顿距离相等;所谓曼哈顿距离,即为两点之间x轴距离和y轴距离之和,若该点找不到,则输出-1;解题思路:首先判断该点是否能找到,若坐标都是

2021-11-23 00:46:54 475

原创 小白月赛36签到题题解(由易到难E, F, I, B, C, H)

小白月赛36签到题题解(由易到难E, F, I, B, C, H)小白分数涨了,现在打小白都要掉分了QAQ!E、皇城PK——传送门[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BrfdYFoj-1627135787203)(https://uploadfiles.nowcoder.com/images/20210717/189136626_1626488395683/4926D1D218A76D66F7727C416BF073F2 “图片标题”)]感觉这是本次小白最简

2021-07-24 22:10:42 173

原创 Codeforces Round #732 (Div. 2)(A~D)

Codeforces Round #732 (Div. 2)具体题目可查看网站——传送门A、AquaMoon and Two Arrays(看来这次的主角是AquaMoon)——题意:给出两个长度为n的数组a和b,对a数组进行一系列的操作,问能否将a数组变为b数组,若不能输出-1,若能,则输出操作次数和具体操作方式(有多种操作方式的情况下任选一种输出);一系列操作包括:对于 a1,a2,…,an,任取一个ai和aj(1≤i,j≤n),将ai-1,aj+1,若i和j相等则操作无意义;解题思路:

2021-07-12 15:42:46 155

原创 牛客练习赛86(A~C题解)

题解篇(牛客练习赛86)牛客练习赛86,难度适中,前三题分别为博弈、构造、贪心DP,第三题较难,比赛中没有写出来, 但好在前两题手速比较快,所以这场比赛也没掉分;A、 取因数题意:A和B玩数字游戏,开始给出一个数字n,A先减去这个数字的一个因数x,将数字n变为n-x,而后B同样找出一个因数,让变换后的数字减去这个因数,以此类推,最后谁先把数字变成0,谁就输了。题目要求A和B都用最优策略解决,很明显的博弈题目;解题思路:将数字n分为两种情况, 奇数和偶数;1、对于每一个数字n,若n为奇数,则它的

2021-07-10 20:20:26 389

原创 高斯消元(解线性方程组)

高斯消元(南昌理工ACM)简介高斯消元法,是线性代数规划中的一种算法,可用来为线性方程组求解。但其算法十分复杂,不常用于加减消元法,求出矩阵的秩,以及求出可逆方阵的逆矩阵。不过,如果有过百万条等式时,这个算法会十分省时。如图对于方程,除去各未知数,将各数排在一起,成为矩阵,可将他的增广矩阵列出; 之后从上往下经过初等行列变换进一步将该矩阵化为上三角矩阵(最简阶梯型矩阵):初等行列变换:1、把某一行乘上一个非零的数;2、交换某两行;3、把某行的若干倍加到另一行上去;注:初等行列变换不影响

2021-01-17 09:16:01 5369 2

原创 “中国东信杯”广西大学第三届程序设计竞赛(同步赛)水题题解(大佬勿喷)

牛客(NC)广西大学第三届程序设计竞赛(同步赛)A题 A++++++++++++++++++(签到题)签到题,给n个字符串,其中national和international为一组,求其中有多少组;数据小直接暴力

2020-12-19 22:34:57 3274 6

原创 冒泡排序(南昌理工ACM集训队)

冒泡排序简介排序:在算法竞赛中,排序是必不可少的一部分,c++选手通常使用stl中的 sort() 进行排序。但对于初学者来说,冒泡排序是算法竞赛上的必经之路。冒泡排序:冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到

2020-11-11 20:28:56 193

原创 树状数组入门小结(c++)

树状数组——南昌理工学院ACM集训队博主对于数据结构以及算法的学习修行尚浅,写博客更多的是为了日后的巩固与复习,博文中若是出现一些错误欢迎大家指出,O(∩_∩)O!前言今天来介绍一下树状数组,作为一种重要的数据结构,它又有怎样的魅力;提到树状数组,大家都会想到另一种数据结构——线段树;关于线段树的内容,可以去看我的另一篇博客(线段树入门(c++)(≧∇≦)ノ)———>传送门对于这两种数据结构,就像是一种父与子的关系:树状数组的作用被线段树完全涵盖, 凡是可以使用树状数组解决的问题, 使用线

2020-09-03 16:26:19 253

原创 字符串匹配——KMP算法(luogu P3375)

KMP字符串匹配(南昌理工学院ACM集训队)前言在许多算法问题中,都需要我们在一个字符串主串中寻找他的子串所在的位置;对于传统的字符串匹配,对主串首部与模式串首部对齐,单个字符进行匹配,当匹配错误时,模式串相对与主串向前进一位,重头开始匹配(如图);传统的匹配方法从开头一直匹配到末尾,这样的时间复杂度为O(n*m);注:m与n分别为主串与模式串的长度;而KMP算法可以将时间复杂度缩短到O(n+m);算法简介KMP算法:充分利用模式串中字符的重复性,在比较时实现最大限度的移动量;KMP算法

2020-08-31 16:11:24 292

原创 并查集及其优化(南昌理工学院ACM集训队)

并查集(c++)-----南昌理工学院ACM集训队例题为洛谷P3367(并查集(模板))简介并查集:在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这一类问题近几年来反复出现在信息学的国际国内赛题中,其特点是看似并不复杂,但数据量极大,若用正常的数据结构来描述的话,往往在空间上过大,计算机无法承受;即使在空间上勉强通过,运行的时间复杂度也极高,根本就不可能在比赛规定的运行时间(1~3

2020-08-17 10:59:13 1195 2

原创 乘法逆元( ̄︶ ̄)↗(南昌理工学院ACM集训队)

乘法逆元(c++)——南昌理工学院ACM集训队逆元简介在进行大数计算时,为防止超出空间通常要用到取模(mod)操作;在各类计算操作中,加法、减法、乘法的取模操作都满足分配律;a % p + b % p = ( a % p + b % p ) % p;a % p - b % p = ( a % p - b % p ) % p;a % p * b % p = ( a % p * b % p ) % p;而除法的取模运算显然不符合分配律;由此,推出了逆元这慨念;定义:在mod p的条件下,对于整数

2020-08-14 09:15:20 1073 3

原创 最短路径———Dijkstra算法(南昌理工学院ACM集训队)

简介最短路径:从图中的某个顶点出发到达另外一个顶点的所经过的边的权重和最小的一条路径,称为最短路径算法:迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题(主要用于解决带权图中的单源最短路径)迪杰斯特拉算法(Dijkstra)运用贪心思想,从起点开始,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到遍历到终点;算法思想由于算法运用贪心的思想,首先声明一个数组dis与

2020-08-07 14:43:13 1671 3

原创 线段树入门(c++)(≧∇≦)ノ

线段树入门(代码方面采用C++)别问,问就是只会C++。。。线段树概念线段树是一种二叉搜索树,它将一个区间(编号1~n)划分成一些单元区间(arr),每个单元区间对应线段树中的一个叶结点;对于线段树中的每一个结点都代表了一条线段,每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。对于叶子节点,a=b,叶子结点表示对应区间(arr)内的存储数据;线段树是平衡二叉树,最后的子节点数目为N,即整个线段区间的长度。线段树的优点在于,可以

2020-07-30 10:01:31 948 3

原创 最小生成树之Kruskal(C++)

最小生成树——Kruskal算法最小生成树Kruskal算法算法思想算法简介算法复杂度算法实现最小生成树最小生成树:简单来说就是,带权图中遍历所有点所经过边权之和最小;带权图:边赋以权值的图称为带权图(生成树的各边的权值总和称为该树的权);注:最小生成树中不形成回路,联通n个点恰巧经过n-1条边Kruskal算法算法思想贪心选取最短的边来组成一颗生成树算法简介kruskal算法:取出带权图中所有带权边,并对它们进行排序,依次取出权值最小的边;若此边与之前选取的边(存放在集合T中)无法形成

2020-07-26 17:56:24 2212 5

空空如也

空空如也

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

TA关注的人

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