自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2022年暑假第一场多校 I:Chiitoitsu

2.本题要求最优策略,又由于初始手牌中相同的牌不会超过两张,所以我们进行贪心及如果摸到的牌不能和手牌中的单牌组成对子,则会丢掉新进的牌,否则随机丢一张手中的单牌。张牌,我们一直进行最优操作所以手中单牌在剩下的牌中还有$3j$张,不是手中的单牌的数量。2.摸到的牌不可以和手牌中的单牌组成对子,此事件发生的概率就是。1.摸到的牌可以和手牌中的单牌组成对子,此事件发生的概率就是。2.所有的牌有34种,每种牌都有4张。次摸的牌不能构成对子的所有概率,及摸。次摸的牌能构成对子的所有概率,及摸。............

2022-07-24 23:12:54 131

原创 [洛谷 P4095 HEOI2013]Eden 的新背包问题

P4095 [HEOI2013]Eden 的新背包问题本体大致意思就是在一个经典的多重背包问题上,每次询问去掉一个物品后的所取得的最大价值(每个询问相互独立)首先询问次数是3E5,直接暴力求解显然是超时的。所以考虑如何优化。首先我们假设dp1[i][j]表在1 ~ i物品中选总体积不超过j的最大价值如果现在第i个物品去掉了其实就表示不选第i个物品也就是dp[i - 1][j],但是这样的话我们后边的物品也没考虑到,这时我们假设dp2[i][j]表在i ~ n物品中选总体积不超过j的最大价值 然后反着做一次背

2022-07-05 14:00:57 200

原创 能量石(DP+贪心)

如果本题抛开能量损失的条件,其实就是一个01背包问题,我们就可以任意次序取能量石都不会影响最终答案。 但现在有了这个限制我们就要考虑按什么顺序取能量石可以最大化获取的能量; 这是就需要用到贪心的思想,现在我们考虑取 第i 和 第j 个能量石:1.如果我们先取 第i 个再取 第j 个 获取的能 ei + ej - si * lj 2.如果我们先取 第j个再取 第i个 获取的能 ej + ei - sj * li

2021-11-25 19:22:28 187

原创 登山(线性DP)

登山题目大意:队员们发现山上一共有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号。不连续浏览海拔相同的两个景点,并且一旦开始下山,就不再向上走了题目分析: 本题就是先登上再下山在这个过程中观看景点(同高度不看) 如上图所示 其实我们只需要找到以某个高度的景点作为终点的 最长上升序列+以该点为起点的最长下降序列的最大值AC代码:#include <bits/stdc++.h>...

2021-11-17 21:12:30 234

原创 导弹拦截(线性DP)

导弹拦截(Acwing)题目大意:导弹拦截系统:第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统题目分析:题目分析:第一问很明显就是求最长下降子序列第二问实则再问最少有多少个下降子序列 最少有多少个下降子序列就是求最长不下降子序列的长度 因为这个最长不下降子序列的元素不可能在同一个下降序列中AC代码:#include <bits/stdc++.h>...

2021-11-17 21:01:35 194 1

原创 导弹防御系统

导弹防御系统(Acwing)题目大意:一套防御系统的导弹拦截高度要么一直严格单调上升要么一直严格单调下降,n个导弹求最少需要多少防御系统题目分析:本题就是求最少要用多少个上升或下降序列可以将所有炮弹包含由于有的导弹可以选择上升,有的可以选择下降,不是单纯地问所存在的序列可以划分为多少组上升子序列的问题,所以不能用 导弹拦截的那种做法我们现在考虑暴力枚举我们需要思考的问题就转化为我们应该将p[i]放在上升序列还是下降序列首先能否将p[i]加入某个系统中其实只与该系统拦截...

2021-11-17 20:51:49 149

原创 最长公共上升子序列

题目链接(Acwing)题目大意:给有两个长度为N的整数序列,输出它们的最长公共上升子序列,1≤N≤3000题目分析:结和最长上升子序列和最长公共子序列,我们可以将状态表示为 f[i][j]表示在a[1~i] 和 b[1~j] 的范围内以b[j]结尾的最长公共上升子序列,下边就是考虑如何计算f[i][j]1.如果不选择a[i]:f[i][j] = f[i-1][j]2.如果想要选择a[i] 则首先满足a[i]==b[j], 然后考虑将将a[i](b[j])加在那个以b[k]结尾的..

2021-11-17 20:43:42 1597

原创 [洛谷 P1450 HAOI2008] 硬币购物 (背包+容斥)

题目链接[洛谷 P1450 HAOI2008] 硬币购物题目链接题目大意:首先给出四种不同面值的硬币 第种硬币的面值为, n次询问,每次询问输入4种面值硬币的数量,和需要购买的物品价值s,求有多少种付款方式题目分析:本题如果单纯使用多重背包来做 是O(n * logd * s)的复杂度会超时如果本题改成硬币没有数量限制,我们就可以直接利用完全背包跑出来复杂度为O(4*1e5) ,但是现在有限制这样跑出来会有不合法情况,所有就有这样一个思路就是 用总方案呢数量-不合法方案数量 就是合法

2021-11-16 20:35:59 489 1

原创 最长上升子序列问题

最长上升子序列算法一:状态表示:dp[i]表示以p[i]为端点的最长上升子序列状态计算:集合划分: 状态转移:当p[i]>p[j]时,dp[i]=max(dp[i],dp[j]+1)void LIS(int n) { for(int i = 1; i <= n; i++) dp[i] = 1;//以自己作为一个上升子序列 for (int i = 1; i <= n; i++) { for (int j = 1; j < i; j++..

2021-11-08 20:45:06 111

原创 数字三角形模型(DP)

1.方格取数设有 N×N 的方格图,我们在其中的某些方格中填入正整数,而其它的方格中则放入数字0。如下图所示:某人从图中的左上角 A 出发,可以向下行走,也可以向右行走,直到到达右下角的 B 点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。此人从 A 点到 B 点共走了两次,试找出两条这样的路径,使得取得的数字和为最大。输入格式第一行为一个整数N,表示 N×N 的方格图。接下来的每行有三个整数,第一个为行号数,第二个为列号数,第三个为在该行、该列上所放的

2021-11-06 15:20:24 499

空空如也

空空如也

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

TA关注的人

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