自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 训练赛补题

从最小的数开始,首先定义一个变量sum=0,加上这个数的个数,若下一个数比上一个数大1并且不同数字小于k,加上当前数的数量,若不同数的数量大于等于k,则减去最小数的数量并且加上当前数的数量,找最大值。一组卡牌,两个人轮流拿牌,Monocarp先拿牌,下一次拿的牌只能是这个数字或者这个数字加1,并且牌不同的数量不能超过k,求Monocarp可以拿的最大数量。计算数组中最大不重叠的美丽段的数量。定义一个变量s=0,让数组每次累加,并且mp[s]++,当这个数再一次出现的时候,证明有一段数组累加后的结果为0。

2024-11-20 20:47:29 248

原创 并查集+例题

并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图,求最小生成树的Kruskal算法和最近公共祖先(LCA)等。如果按照上面的find函数那样写的话,就会形成一个像绳子那样特别长的链表,所以我们需要进行状态压缩。,n的n个元素,我们用一个数组fa[]来储存每个元素的父节点。一个典型的并查集例题。只需要当a=2时,若find(b)==find©输出Y,否则输出N就可以了。优化合并就是把小集合的根指向大集合的根。

2024-08-22 20:26:40 457

原创 2024河南省萌新联赛第(六)场 郑州大学

最后输出s.

2024-08-22 20:25:15 1520

原创 背包九讲(动态规划)

原因:f[i] [j]是从上一轮i-1的状态得来的,f[i] [j]和f[i-1] [j]并不相等,优化到一维后,如果我们还是正序,那么本应该是第i-1的状态用来更新的却是第i轮的状态。01背包的动态转移方程是:f[i] [j]=max(f[i-1] [j],f[i-1] [j-v[i]]+w[i]);

2024-08-13 20:35:31 986

原创 2024河南萌新联赛第(四)场 河南理工大学

二进制下相同为1,不同为0。

2024-08-08 11:31:20 1004

原创 拓扑排序,搜索(树与图的遍历)

首先是不含队列的板子有向图拓扑排序算法的基本步骤任何一个无环有向图(AOV网),其全部顶点都可以排成一个拓扑序列。而且其拓扑序列不一定是唯一的。拓扑排序可以用来判断一个有向图是否有环。

2024-08-02 19:59:11 356

原创 2024河南萌新联赛第(三)场 河南大学

给出n个地址,每个地址的形式为x.x.x.x,找四个x都满足x>=0&&x

2024-08-01 15:04:43 682

原创 搜索(剪枝)

剪枝,就是减少搜索树的规模、尽早排除搜索树中不必要分支的一种手段。

2024-07-30 17:49:33 1090

原创 bitset的使用

bitset是一个类似数组的结构,仅由0,1组成,每个元素仅用1bit空间,相当于一个char元素所占空间的八分之一。使用bitset时要确定长度。类模板 bitset 表示一个 N 位的固定大小序列。可以用标准逻辑运算符操作 bitset,并将它与字符串和整数相互转换。对于字符串表示和移位操作的列举方向来说,这个序列被当做最低索引元素位于右侧,类似于整数的二进制表示。这个类提供了一些方便的方法来操作位,例如设置、重置、翻转位等.

2024-07-21 17:19:49 218

原创 河南萌新联赛2024第(一)场:河南农业大学

链接:https://ac.nowcoder.com/acm/contest/86639/A。

2024-07-17 20:19:28 953

原创 Codeforces Round 958 (Div. 2) 7.15

拆分多集,多实例测试,输入n和k,原来多集里面有一个数n,需要把多集里面都拆分成n个1,可以选择一个数字u删除,然后插入不超过k个数,输出最少的操作次数。

2024-07-16 13:23:57 456

原创 第十八届东北CCPC程序设计竞赛

考虑几种情况,一种是平方得到的新数一定是加k,还有一种是开方的时候到1新数就停止增加了,因为1开方也是1,还有一种是如果这个数不是完全平方数,那么开方再平方也会得到不同的数。需要注意最后数的个数包括原来的数。

2024-06-01 20:49:27 400

原创 2024年江苏省大学生程序设计竞赛I

想到了要用二分写,但一直时间超限,原因是二分里面还要用set函数或multiset函数,如果不用函数用循环写的话,就会时间超限,赛后学长将=讲了之后才明白,补题的时候用了multise函数(优点是元素可以重复)set函数元素不能重复,其他的两个函数基本一样。

2024-06-01 19:42:08 415

原创 常用函数c++

/在最前面插入新元素。//在迭代器中第二个元素前插入新元素//在向量末尾追加新元素。

2024-05-30 20:17:24 1061

原创 2024年西安交通大学程序设计校赛(D,E)

把这道题给简化,找出输入的x中最多的数,把这个位数输出0,其余的都输出这个数就可以了,这样得出的数一定非负。

2024-05-29 20:11:11 284

原创 第十三届山东省 大学生程序设计竞赛 A,D,G,I

赛事改了很久没有写出来,都没有想到要用二分,刷的题太少了。

2024-05-28 19:52:43 2216

原创 2022国际大学生程序设计竞赛 亚洲区域赛(南京站)G,I

赛事改了好久没有改出来,看了题解之后发现好简单。

2024-05-28 18:29:17 338

原创 2023 广东省大学生程序设计竞赛(A,C,D,I,K)

longlong。

2024-05-27 20:41:53 424

原创 AtCoder Magics

【代码】AtCoder Magics。

2024-05-25 19:40:03 248

原创 2024ccpc全国邀请赛(郑州)H

【代码】2024ccpc全国邀请赛(郑州)H。

2024-05-18 18:27:29 309

原创 2024ccpc全国邀请赛(郑州)补题(A,B,F,J,M)

这个题思路其实很简单,学长说是签到题,但当时写出来的人很少,刚发题的时候大致看了一下,感觉会时间超限,再加上过的人很少,就没有尝试,后来补题发现很简单。tie0;tie0;

2024-05-18 10:55:28 322

原创 I - 纠缠之圆

对于每组测试数据:第一行三个正整数: x1 , y1 , r1 代表第一个圆的横坐标,纵坐标以及半径。QingTian222 发现二维平面上的两颗纠缠之缘(可以看成圆)即将发生纠缠,他需要找到有多少条平面内的不同直线与这两个圆同时相切才能避免损失两次抽卡机会,但是他并不知道答案是多少,但他也不想损失这两次抽卡机会,于是他来求助你,请你告诉他,有多少条不同的直线与给定的两个圆相切。对于每一组测试数据,输出一行一个整数,代表答案,若有无限条不同直线满足条件,请输出 ‘-1’ (不含引号)。

2024-05-18 10:09:14 270

原创 训练赛题解2

你原本有一个 1 到n的排列,但是不慎地,你遗忘了它,但是你记得以 第i个位置 结尾的最长上升子序列的长度数组 {an} ,现在希望你能够构造一个符合条件的排列p,如果不存在符合上述条件的排列p,则输出  - 1。这里定义以 第i位置 结尾的最长上升子序列的长度,为符合以下条件的整数数组中k的最大值。本题输入输出量比较大,请选手注意。

2024-05-05 17:28:59 616

原创 训练赛题解

首先可以看出若为整数,则b+=b/2+a[i],若为浮点数,一直除以2会造成浮点数的损失,需要避免浮点数的损失,则用s=1.0*b/2.0-b/2;来判断,若s>0输出+,s

2024-05-04 18:51:07 665

原创 二叉树遍历

1.访问根节点2.先序遍历左子树3.先序遍历右子树为ABDEFC1.中序遍历左子树2.访问根节点3.中序遍历右子树为DBEAFC1.后序遍历左子树2.后序遍历右子树3.访问根节点为DEBCFA。

2024-04-28 21:19:57 168

原创 Hello XTCPC

思路:要注意如果要组成xtCpc的话可以跳跃找,但先后顺序不可以颠倒,所以要考虑找到的顺序。定义五个变量分别表示找的五个字母的数量,再定义一个变量表示找出xtCpc的数量,再五个变量++的时候要注意让前面的变量比后面的大;若五个变量都不为0,则找到单词数量++,五个变量分别--。您需要找到尽可能多的序列“xtCpc”。但是字母在同一个位置只能使用一次。第二行是长度为 n 的字符串,由小写字母和大写字母组成。输入文件包含一个整数,显示找到的不同子序列的最大数量。n,显示字符串的长度。

2024-04-28 21:05:01 433

原创 逆序对(归并排序)

归并排序采用了分治和递归的思想归并排序入口归并排序合并模板。

2024-04-27 10:29:41 323 2

原创 P4961小埋与扫雷

小埋总是在家中打游戏,一天,她突然想玩Windows自带的扫雷,在一旁的哥哥看见了,想起了自己小时候信息课在机房玩扫雷的日子,便兴致勃勃地开始教小埋扫雷。周围八格没有“雷”且自身不是“雷”的方格称为“空格”,周围八格有“雷”且自身不是“雷”的方格称为“数字”,由“空格”组成的八连通块称为一个“空”。小埋会告诉你一盘扫雷,用一个 n×m 的矩阵表示,1 是雷 ,0 不是雷,请你告诉她这盘扫雷的 3bv。后面的 n 行每行有 m 个整数,表示这个矩阵,每个数字为 0 或 1,1 代表是雷,0 代表不是雷。

2024-04-21 21:18:35 432

原创 L1-103整数的持续性

例如 679 的持续性就是 5,因为我们从 679 开始,得到 6×7×9=378,随后得到 3×7×8=168、1×6×8=48、4×8=32,最后得到 3×2=6,一共用了 5 步。从任一给定的正整数 n 出发,将其每一位数字相乘,记得到的乘积为 n1​。以此类推,令 ni+1​ 为 ni​ 的各位数字的乘积,直到最后得到一个个位数 nm​,则 m 就称为 n 的。随后在第二行中输出持续性最长的整数。如果这样的整数不唯一,则按照递增序输出,数字间以 1 个空格分隔,行首尾不得有多余空格。

2024-04-21 17:46:21 632

原创 二分算法(查找)

第二步:更新mid=(L+R)/2=2,比较arr[mid]=3<5,说明要在arr[mid+1]……arr[R]中找,L=mid+1=3。第一步:比较arr[mid]=6>5,说明在arr[L]……arr[mid-1]中找,R=mid-1=3。第三步:更新mid=(L+R)/2=3,比较arr[mid]=5,5=key,查找结束,返回3。2.二分查找,时间复杂度为O(logn),注意数组arr一定单调。1.线性查找,时间复杂度为O(n),会超时。

2024-04-21 14:59:49 126

原创 马的遍历(BFS)

思路分析:把棋盘上的每一个点按照规则入队,第一次到达该点时的步数一定是最优步数。有8个方向,用广搜(bfs)进行解题就好了。有一个 n×m 的棋盘,在某个点 (x,y) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。一个 n×m 的矩阵,代表马到达某个点最少要走几步(不能到达则输出 −1)。对于全部的测试点,保证 1≤x≤n≤400,1≤y≤m≤400。输入只有一行四个整数,分别为 n,m,x,y。

2024-04-14 21:28:09 264

原创 高精度除法

1.高精度除以低精度方法:逐位试商法核心。

2024-04-14 18:59:47 255

原创 高精度算法(加、减、乘)

int占32位即4个字节,int的范围是[-2^31,2^31-1]long long占64位即8个字节,long long的范围是[-2^63,2^63-1]在数据特别大是就需要使用高精度了1.高精度加法。

2024-04-14 18:14:23 884 1

原创 浙江理工大学2024年程序设计竞赛(同步赛)部分题解

A-春天到了,该练习dp了来源:牛客网示例1。

2024-04-06 22:14:23 638

原创 时间复杂度的计算

时间复杂度O(1)*******************************************************************************************该代码执行了一句话或一条语句,得出了一个固定常数。时间复杂度为O(n)******************************************************************************************该代码主要部分为for循环,循环内累加,执行了n次。

2024-03-31 21:36:47 288 1

空空如也

空空如也

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

TA关注的人

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