摘要: 如果对dp不熟,可以先看这篇文章 接上文—— 发完上一篇随笔后,我灵光一闪,想到了用DP做的思路。 于是就写下了这篇随笔(好像是废话)。 1.思路1 考虑用 \(dp[i]\) 来存储 \(1\) ~ \(i\) 的最优解,可是后面你会发现…… 根 本 解 不 出 来 ! 只是因为再求 \(dp[i 阅读全文
posted @ 2026-05-20 20:21 小汪同学^_^ 阅读(12) 评论(0) 推荐(0)
摘要: 还是题目传送门 这题说实话,雀食很难。(我才不会告诉你我想了1个多小时)我认(kan)真(le)思(ti)考(jie)才知道这题要用DFS传输3个数据:是否为完全二叉树、是否为满二叉树、深度。 Solution 要知道这颗子树是否为完全二叉树,要判断这几个条件: 当自己的两颗子树深度相同时 1.当右 阅读全文
posted @ 2026-05-17 21:29 小汪同学^_^ 阅读(30) 评论(0) 推荐(0)
摘要: 见dp方法看下文↓ dp方法 LIS已经有很多dalao讲过了,而我这个蒟蒻愣是连方程都没推出来(我好菜) 于是乎,我就用个记忆化来写。 思路 既然是搜索,那么就先找条件。 本题的条件是 \(a_{1} < a_{2} < …… < a_{n}\) 那么便可写出 if(a[i] < a[n]) an 阅读全文
posted @ 2026-05-16 21:46 小汪同学^_^ 阅读(14) 评论(0) 推荐(0)
摘要: 依旧题目传送门…… 前言 讲实话,当我看到这题的标签时,吓了一大跳(OS:CCF还是太阴了) 废话不多说,直接讲正解 正解 首先,当第i个节点为叶子节点时,代价肯定是c[i]的。 那么,我们遍又双又叕便可知道第i个节点有very多个节点时,代价最小肯定是c[i]与他的所有孩子的最小代价加起来进行取最 阅读全文
posted @ 2026-05-09 21:20 小汪同学^_^ 阅读(6) 评论(0) 推荐(0)
摘要: 题目传送门 一道水黄 思路 思路很简单,就是先用物理攻击,如果在中途出现 h 为质数的情况,就可以用魔法 攻击一击必杀,否则一直攻击到不能再攻击的时候。然后再看 h 是否为零,为零输 出攻击次数,否则输出-1. 代码 #include<bits/stdc++.h> using namespace s 阅读全文
posted @ 2026-05-05 08:59 小汪同学^_^ 阅读(7) 评论(1) 推荐(0)