摘要:
题意 n天的课程,每天有m个时间单位.若时间i和j都有课,那么要在学校待$j i+1$个时间.现在最多能翘k节课,问最少能在学校待多少时间. 分析 将一天的内容视作一个背包的组,可以预处理出该天内翘k节课能得到的最多空闲时间.$val[i][k]$表示第i天中翘k节课能够获取最多的时间,暴力枚举左右 阅读全文
摘要:
题意 n类工作,每类有m个独立的工作和属性s,s有必做一个,最多只能做一个和任意选择这三个属性.每个独立的工作有耗时和收益两个属性.求在t时间内的最大收益. 分析 令$dp[i][j]$表示在前i类任务j耗时内的最大收益.若不加属性s,就是一个单纯的分组背包.现在对不同的s,有不同的状态转移方程. 阅读全文
摘要:
题意 有n件物品,每个物品属于特定的品牌,且价格和收益两个属性.每个品牌最多买1个东西,求最大收益. 分析 令$dp[i][j]$ 枚举前i个品牌,话费为j的最大收益.则分组背包有状态转移: $$dp[i][j] = max(dp[i][j], max(dp[i][j w]+v,dp[i 1][j 阅读全文
摘要:
题意 给n个币的价值和其数量,问能组合成$1 m$中多少个不同的值。 分析 对$c[i] a[i] =m$的币,相当于完全背包;$c[i] a[i]=w; i) { dp[i] = Math.max(dp[i], dp[i w]+v); } } static void complete(int w, 阅读全文
摘要:
题意 要构建一棵n个点的树,树的权值为所有结点的权值和,每个结点的权值为$f(d)$,d为结点的度数。 分析 n个结点的树,n 1条边,即度数和为2n 2。每个结点的度数至少为1,所以先令每个结点的度数为1。剩下n 2的的度数再分配掉,将这个过程转化为完全背包,每个度数可以出现的次数不限。dp[i] 阅读全文
摘要:
题意:n件东西,有属性a和属性b。要选取若干件东西,使得$\frac{\sum a_j}{\sum b_j} = k$。在这个条件下,问$\sum a_j$最大是多少。 分析:可以将其转化为0 1背包,令$c[i] = a[i] k b[i]$ 等价于物品的重量,$a_i$为物品的价值。因为$c[i 阅读全文
摘要:
题意:有N个银行,每抢一个银行,可以获得$v_i$的前,但是会有$p_i$的概率被抓。现在要把被抓概率控制在$P$之下,求最多能抢到多少钱。 分析:0 1背包的变形,把重量变成了概率,因为计算概率需要乘积而非加法,所以不能直接用dp[j]表示概率为j时的最大收益。 令$dp[i][j]$表示对前$i 阅读全文
摘要:
南京的比赛过去一个星期里,一直在忙着补作业,没来得及写点东西。 12号中午出发,下午到了入住的酒店,之后我们三个人去南航校区那边吃了饭顺便转了转校园,不得不感叹有超多塑胶篮球场...晚上回了酒店之后看了两道题之后就睡了。 第二天热身,没想到赛场的电脑居然写代码会卡死,最后也就做了签到的B和C。B是一 阅读全文
摘要:
实验三 哈夫曼编码 问题描述与实验目的: 给定n个字母(或字)在文档中出现的频率序列X=,求出这n个字母的Huffman编码。为方便起见,以下将频率用字母出现的次数(或称权值)w1,w2,…,wn代替。 输入 输入文件中的开始行上有一个整数T,(0=右儿子的权值; 3.相同权值w的两个字母x、y,先 阅读全文
摘要:
题意:给一张由白边和黑边构成的无向图,求是否存在一个生成树,使白边的数量为一个斐波那契数。 分析:白边权值为1,黑边权值为0。求出该图的最小生成树和最大生成树,若这两个值之间存在斐波那契数,则可以,若不存在或者所给的图不是连通图,则不行。 include using namespace std; c 阅读全文