自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 pta 完美树

对于剩下的子节点,设子节点数为k,问题转化为取出k/2+1个dp[v][0]和k/2个dp[v][1],使其代价和最小,转移到dp[u][0],同理,dp[u][1]转化为取出k/2+1个dp[v][1]和k/2个dp[v][0],使其代价和最小。

2024-05-07 13:42:52 288

原创 pta 超能力者大赛(测试点8,测试点9)

一道模拟题,想要ac的话还是挺麻烦的。简单说一下我的思路,不断用找下一个对手所在的城市,如果不能到达该城市或找不到符合条件的对手,判断输赢,否则,前往该城市。到达该城市后,判断能不能在时间结束前干掉对手,如果不行,输出Game over,否则,干掉对手,更新联盟,然后判断能不能待到第二天,如果可以(当且仅当当前城市还有人),干掉剩余人,在重新找对手,否则,直接重新找对手,且下次对手不能为当前城市。我的代码从day0开始的,所以如果开局就胜利或输,应该令day++;同时这也是测试点8考察的点。

2024-05-07 13:23:29 377 2

原创 Codeforces Round 943 (Div. 3)

在主对角线上放置 𝑛−2 个单元格。然后在 (𝑛−1,𝑛) 和(𝑛,𝑛) 处放置两个单元格,通过这种方法,我们可以生成所有可能的曼哈顿距离。奇数距离产生于主对角线上的单元格和 (𝑛−1,𝑛) 之间。偶数距离产生于主对角线上的单元格与 (𝑛,𝑛) 之间。C题:a1取大点,直接加就行,不会超出题目范围,当时没看出来,所以我用不等式控制了一下大小。对于每名选手的最大可能获得分数,我们只要要在min(n,k)回合中找即可(证明略)。F题貌似是异或前缀和加二分,没做。B题:双指针遍历即可。

2024-05-04 04:02:53 284

原创 2021 Xinjiang Provincial Collegiate Programming Contest

思路:分三种情况,l=r分组排序;n >= 2 * n,全排列;n < 2 * n 两段排列,中间不排。思路:小球多次碰撞后彼此相对位置不变,还有末尾不能多空格。签到题,dp[i] 表示以数字 i 结尾的链的最小值。思路:考虑二分查找,注意对正负分类讨论。贪心,找价格最大的连续递减序列,模拟。签到题,按题目意思模拟即可。思路:签到题,找规律。

2024-05-01 22:05:31 7

原创 欧拉函数及其扩展

欧拉定理可用于求大数的模,求解线性同余方程等。此外,欧拉定理的扩展可以用来实现降幂。欧拉函数定义为不超过n且与n互素的正整数的个数。此外,由于欧拉函数为积性函数,所以可以用欧拉筛在。,其中m是一个正整数,a为整数,且a与m互素。此外,更快的方式为杜教筛,时间复杂度为。利用欧拉函数我们可以推导出欧拉定理,即。例题:仪仗队(洛谷 P2158)

2024-04-18 17:49:59 267 1

原创 L2-008 最长对称子串 (manacher算法)

manacher 算法是一个求最长回文串字串的一个优秀算法。算法的设计如下:我们定义数组P[],其中P[i]是以字符s[i]为中心字符的最长回文串的长度。设现在已经计算出P[0]~P[i -1],下一步继续计算P[i],令R为P[0]~P[i -1]这些回文串中最大的右端点,C为这个R对应的回文子串的中心点。下面计算P[i],假设j为i关于C的镜像点。若i>=R,则i右侧的字符串都没有检查过,暴力中心扩展即可。若i

2024-03-21 15:48:49 271 1

原创 L2-007 家庭房产(并查集 + 结构体排序)

考察的是并查集和结构体排序,再读入数据的时候按照编号大小,将编号小的树合并到编号大的树上,然后遍历所有数据,将家庭一样的结构体放在一起(放在a数组里),并跟新家庭的属性信息,最后排序输出。

2024-03-21 12:34:26 197 1

原创 L2-006 树的遍历 (建树)

我们都知道,一颗二叉树,给定中序序列和任意其它序列,可以建造出整颗二叉树。树的建造有两种方式,一种是静态,一种是动态。这中按完全二叉树建树的方式很费空间,最好不要按这种方式设置左右子树,但是这道题数据范围小,可以用。

2024-03-20 18:07:54 150 1

原创 L2-005 集合相似度

用binary_search()来查找一个元素是否存在。(两者时间复杂度貌似都是nlog(n))题目很简单,没有什么坑,就是实现去重和查找这两个操作而已。可以用set,但是我用的是vector。在vector容器中,可以用。

2024-03-20 10:31:26 114 1

原创 L2-004 这是二叉搜索树吗? (含测试点七解析)

例如:8 6 5 7 10 8 11,我们第一次划分可知根节点为 8 ,左子树的先序序列为 6 5 7,右子树的先序序列为 10 8 11,也就是说,如果当前序列是否为一颗二叉搜索树或其镜像的前序遍历,那么那。了,那么会有一个测试点 7过不去(卡了我好久......),所谓不能混合判断就是:如果你确定这棵树不是镜像,就一直按照不是镜像来判断,不能一会按不是镜像来判断,一会按是镜像来判断。输出后序遍历,比较简单,用一个栈在递归或搜索时不断存入根结点,最后利用栈的特点,输出即可。如果你将二叉树和二叉树的镜像。

2024-03-19 20:20:33 283

原创 L2-001 城市间紧急救援(Dijkstra + 打印路径 + 记录最短路条数)

可以使用Dijkstra算法,即bfs + 贪心,由题目没有给出M的范围,所以我们无法判断图是稠密图还是稀疏图来决定是否使用优先队列来取得更好的时间复杂度,我采用的是优先队列。,当我们找到了一条更短的路径时,令 dp[j] = dp[i]。如果没有找到了一个与当前最短路长度相同的路径,令 dp[j] += dp[i]。最短路上结点的上一个结点,来辅助我们打印最短路径。这道题目考察的点很多,首先我们要。

2024-03-19 12:26:46 326

原创 PTA 天梯赛练习题集 L2-003 月饼(多重背包dp或贪心)

读完题立马想到的是多重背包,然后写了个模板上去 ac 了,后来发现可以按。

2024-03-19 12:03:50 271 1

空空如也

空空如也

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

TA关注的人

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