2019.8.14 金华正睿集训总结Day18

2024-01-07 08:48

本文主要是介绍2019.8.14 金华正睿集训总结Day18,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

8.14

快不行了。

DP

经典背包问题

• n个物品,每个物品有重量 w[i],求选出重量量和不超过 S 物品集合的方案数

• 01背包:每个物品最多选⼀次

• ⽆限背包(完全背包):每个物品可以选无数次

• 多重背包:每个物品最多选 k[i] 个

进阶背包问题1

• 考虑01背包问题,有 Q 种操作,每次加入一种物品或删除一种物品,每次操作完后输出不超过 S 的⽅方案数

• n,Q,S<=2000

进阶背包问题2

• 树上依赖 01 背包:如果儿子选了,则父亲必须要选

进阶背包问题3

• 有 n 种物品,第 i 种物品重量为 i,且有无限个

• 现在每次询问 (R,S),表示选不超过 R 个物品使得重量为 S的方案数

• S<=n<=5000

• R<=5000

进阶背包问题4

• 有 i 种物品,第 i 种物品最多选 i 个,且重量为 i,求选一些物品使得重量之和为 n 的方案数

• n<=100000

进阶背包问题5

• 有 n 个物品,每个物品有价值 w[i],体积 v[i],个数d[i]

• 求体积为 S 的背包最多可以装下多少价值的物品

• 1<=n, v[i]<=80, 1<=w[i],d[i],S<=10^9

经典树形DP

• 如何用树形DP求直径

• 求每个点到其他点的距离之和

• 求每个点到其他点的最长路径

• 求树上一个点权和最大的独立集

• 求树上有几个⼤⼩不超过 K 的独立集 (K<=500)

经典区间DP1

• 给定一个长度为 n 的字符串 S ,求最少插入多少字符串使得他能变成回文串

• n<=5000

经典区间DP1.5

• 给定一个字符串 S,求它的回文子序列个数

• n<=5000

经典区间DP2

• 有一个 n 个元素的序列 a,你每天可以从两端中任意取一个数,第 i 天取出的数 w 对答案的贡献为 i*w,求最大化取完时的贡献和

• n<=5000

经典区间DP3

• 有 n 个石子,第 i 个的大小为 w[i],每次可以合并相邻两个,得到他们两个大小之和的代价,且他们会并成一个新的石头,新的石头的大小是旧的两个的大小的和

• 求最大的代价之和

• n<=300

经典区间DP4

• 有 n 个数,取走一个数的代价是它乘上它相邻的两个数,开头和结尾不能取,要求你取到只剩2个数为止,求最小代价和

• n<=300

进阶区间DP1

• 给⼀个序列列 a[1…n],每次可以拿走连续一段相同的数,拿完后序列会并起来

• 求最少几次把整个序列拿完

• n<=100

进阶区间DP2

• 在数轴 [0,L] 上,有 n 个point,第 i 个的坐标是 Xi,且有个冷却时间 Ti

• 一开始你在位置 0,时间从 0 开始记录,每次你可以花费一单位的时间向左或向右移动一格

• 你的目标是激活所有 point 然后回到位置 K,激活一个 point只需要⾛到它脸上即可,不需要花费时间,但是必须在 Ti 秒后才能被激活

• 求最短的时间, L,n,K<=1000, Ti<=30000

基础状压DP1

• 给定一张⽆向图,每个点可能是⾼点或者低点,三个点(x,y,z)被称为⼀一个valley当且仅当 x,z 是高点, y是低点,且存在边(x,y)和(y,z)

• 现在要求最多有几个valley,每个点最多只能在⼀个valley里

• N<=30,高点数量<=15

基础状压DP2

• 求有多少⽆向图满足有n个点m条边,且每个点度数为偶数,并且对于每条边 (u,v) 都有 |u-v|<=K

• n,m<=30

• K<=8

基础状压DP3

• 给定 n 个物品,每个物品有重量 w[i],你需要将他们划分成不超过 m 个集合,使得每个集合的物品重量之和都不超过S,求方案数

• n,m<=14

基础状压DP4

• 有 n 个物品,每个重量为 w[i],现在你有很多个大小为 S的麻袋,求至少需要几个才能把他们全装进来?

• n<=20

进阶状压DP1

• ⼀个 n*m 的01矩阵,要求不能有相邻的 1 ,求方案数

• n,m<=12

奇怪的数位DP

• 给定数组 b[1…n],求有几个数组 a[1…n],满足0<=a[i]<=b[i] 且 a 的异或和为 0

• n<=100000

• b[i]<=10^18

好的,那么我们可以看到,今天讲的都是例题,题面就放这儿了,等我弄明白之后再来填坑

(表示补博客补到流泪,接下来要填昨天考试的坑了,嗯嗯)

这篇关于2019.8.14 金华正睿集训总结Day18的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/579381

相关文章

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

C# Task Cancellation使用总结

《C#TaskCancellation使用总结》本文主要介绍了在使用CancellationTokenSource取消任务时的行为,以及如何使用Task的ContinueWith方法来处理任务的延... 目录C# Task Cancellation总结1、调用cancellationTokenSource.

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

二分最大匹配总结

HDU 2444  黑白染色 ,二分图判定 const int maxn = 208 ;vector<int> g[maxn] ;int n ;bool vis[maxn] ;int match[maxn] ;;int color[maxn] ;int setcolor(int u , int c){color[u] = c ;for(vector<int>::iter

整数Hash散列总结

方法:    step1  :线性探测  step2 散列   当 h(k)位置已经存储有元素的时候,依次探查(h(k)+i) mod S, i=1,2,3…,直到找到空的存储单元为止。其中,S为 数组长度。 HDU 1496   a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 。 x在 [-100,100] 解的个数  const int MaxN = 3000

状态dp总结

zoj 3631  N 个数中选若干数和(只能选一次)<=M 的最大值 const int Max_N = 38 ;int a[1<<16] , b[1<<16] , x[Max_N] , e[Max_N] ;void GetNum(int g[] , int n , int s[] , int &m){ int i , j , t ;m = 0 ;for(i = 0 ;