自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 P5658 [CSP-S2019] 括号树题解

小 Q 是一个充满好奇心的小朋友,有一天他在上学的路上碰见了一个大小为 𝑛 的树,树上结点从 1∼𝑛1∼n 编号,1 号结点为树的根。除 1 号结点外,每个结点有一个父亲结点,𝑢(2≤𝑢≤𝑛)号结点的父亲为 𝑓𝑢(1≤𝑓𝑢<𝑢)号结点。② 就让当前( 的前一个数的f[fa[i]] 减去最近的一个左括号的前一个数f[fa[t]](这一步的目的是判断这中间有多少个多余的数)显然 𝑠𝑖​ 是个括号串,但不一定是合法括号串,因此现在小 Q 想对所有的 𝑖(1≤𝑖≤𝑛)求出,𝑠𝑖​ 中有多少个。

2024-06-14 08:00:00 782

原创 P5018 [NOIP2018 普及组] 对称二叉树 | NOIP2018 普及组 T4

题目描述一棵有点权的有根树如果满足以下条件,则被轩轩称为对称二叉树:二叉树;将这棵树所有节点的左右子树交换,新树和原树对应位置的结构相同且点权相等。下图中节点内的数字为权值,节点外的𝑖𝑑id表示节点编号。现在给出一棵二叉树,希望你找出它的一棵子树,该子树为对称二叉树,且节点数最多。请输出这棵子树的节点数。注意:只有树根的树也是对称二叉树。本题中约定,以节点T为子树根的一棵“子 树”指的是:节点𝑇T和它的全部后代节点构成的二叉树。输入格式第一行一个正整数n,表示给定的树的

2024-06-08 22:22:01 671

原创 洛谷 P1311 [NOIP2011 提高组] 选择客栈题解

题目描述丽江河边有n家很有特色的客栈,客栈按照其位置顺序从1到n编号。每家客栈都按照某一种色调进行装饰(总共k种,用整数 0∼k−1表示),且每家客栈都设有一家咖啡店,每家咖啡店均有各自的最低消费。两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,他们打算选择一家咖啡店喝咖啡,要求咖啡店位于两人住的两家客栈之间(包括他们住的客栈),且咖啡店的最低消费不超过p。他们想知道总共有多少种选择住宿的方案,保证晚上可以找到一

2024-05-18 21:38:15 687

原创 洛谷P5022 [NOIP2018 提高组] 旅行题解

题目背景NOIP2018 提高组 D2T1题目描述小 Y 是一个爱好旅行的 OIer。她来到 X 国,打算将各个城市都玩一遍。小 Y 了解到,X 国的n个城市之间有m条双向道路。每条双向道路连接两个城市。 不存在两条连接同一对城市的道路,也不存在一条连接一个城市和它本身的道路。并且, 从任意一个城市出发,通过这些道路都可以到达任意一个其他城市。小 Y 只能通过这些 道路从一个城市前往另一个城市。小 Y 的旅行方案是这样的:任意选定一个城市作为起点,然后从起点开始,每次可 以选择一条与

2024-04-20 20:52:31 634

原创 [CSP-S 2022] 假期计划题解

题目描述小熊的地图上有n个点,其中编号为1的是它的家、编号为2,3,…,n的都是景点。部分点对之间有双向直达的公交线路。如果点x与z​1、z1​与z2​、……、zk−1​与 zk​、zk​与y之间均有直达的线路,那么我们称x与y之间的行程可转车k次通达;特别地,如果点x与y之间有直达的线路,则称可转车0次通达。很快就要放假了,小熊计划从家出发去4个不同的景点游玩,完成5段行程后回家:家→→景点 A→→景点 B→→景点 C→→

2024-03-30 22:18:11 1591

原创 P2679 [NOIP2015 提高组] 子串 题解

题目背景NOIP2015 Day2T2题目描述有两个仅包含小写英文字母的字符串A和B。现在要从字符串A中取出k个互不重叠的非空子串,然后把这k个子串按照其在字符串A中出现的顺序依次连接起来得到一个新的字符串。请问有多少种方案可以使得这个新串与字符串B等?注意:子串取出的位置不同也认为是不同的方案。输入格式第一行是三个正整数n,m,k,分别表示字符串A的长度,字符串B的长度,以及问题描述中所提到的k,每两个整数之间用一个空格隔开。第二行包含一个长

2024-02-05 12:29:10 997 1

原创 信息学奥赛一本通 1299 / Openjudge 2989:糖果题解(附带一维数组优化【貌似还没有人发过这种方法】)

由于在维护世界和平的事务中做出巨大贡献,Dzx被赠予糖果公司2010年5月23日当天无限量糖果免费优惠券。在这一天,Dzx可以从糖果公司的N件产品中任意选择若干件带回家享用。糖果公司的N件产品每件都包含数量不同的糖果。Dzx希望他选择的产品包含的糖果总数是K的整数倍,这样他才能平均地将糖果分给帮助他维护世界和平的伙伴们。当然,在满足这一条件的基础上,糖果总数越多越好。Dzx最多能带走多少糖果呢?注意:Dzx只能将糖果公司的产品整件带走。

2024-01-16 00:06:11 1064 1

原创 U390341 小猫爬山题解

翰翰和达达饲养了 N 只小猫,这天,小猫们要去爬山。经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了(呜咕>__

2024-01-06 20:20:44 436 1

原创 Openjudge 7834:分成互质组题解

问题描述:给定n个正整数,将它们分组,使得每组中任意两个数互质。至少要分成多少个组?输入格式第一行是一个正整数n。1

2023-12-30 22:26:26 559

原创 C++多重背包模板

把1个物品看为体积为v[i],价值为w[i],把2个物品看为体积为2*v[i],价值为2*w[i],把4个物品看为体积为4*v[i],价值为4*w[i],再对它们进行完全背包的优化。,如,我们可以用1(0001)2(0010)4 (0100)组成7(0111),那么我们是不是可以将某个物品的使用次数s[i]拆分成由二进制。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。

2023-12-23 21:45:01 965

原创 C++完全背包模板

k表示累加v[i],w[i]的个数(相当于将这几个物品捆绑,当成一个物品选择),其余与01背包写法相同,不再赘述。还是与01背包相同的问题,1000*1000的数组过于大,那能不能与01背包的优化方式相同呢?接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 种物品的体积和价值。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。,能够解决空间过大,三重循环的问题,就成为了完全背包的优化。

2023-12-23 21:00:58 461 1

原创 C++01背包模板

所以,我们可以从第N个物品类推第N-1个物品:f[N-1][V]=max(f[N-2][V],f[N-2][V-v[N-1]]+w[N-1])f[i][j]=max(f[i-1][j],f[i-1][j-v[i]]+w[i]) (其中j-v[i]>=0)我们发现f[i][j]只和第i-1层和本层的数值有关,所以我们不必开1000*1000的数组,可以将i%2,进行两层之间的传递。我们又可以从第N个物品类推V-1体积时的情况:f[N][V-1]=max(f[N-1][V-1-v[N]]+w[N])

2023-12-23 19:44:09 1985

原创 洛谷U388383 登山题解

由图我们可知要求解从第i个位置前的最长上升子序列长度,和第i个位置后的最长下降子序列长度之和,根据这个思路,我们可以写出一个如下的动规Ac代码。由于我们寻找到的为小于a[i]的最大值,所以将a[i]链接到这个序列的末尾,所以f[r+1]=a[i],返回长度为r+1。的序列后方,如序列1 2 4和1 3 4,如果将一个数5接在其后,就成了1 2 4 5和1 3 4 5,长度都为5。l为二分的左值,r为二分的右值,i为当前的位置,f[]表示f1[]数组和f2[]数组。本人在这里卡了很久最后才读懂题目!

2023-12-11 23:30:33 1912 2

空空如也

空空如也

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

TA关注的人

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