PKU 3111 K Best

本文介绍了一个珠宝选择问题的解决方法,旨在帮助一位女士在有限的珠宝中选择价值重量比最高的几种进行保留。通过迭代的方式不断优化选择组合,最终达到价值重量比的最大化。

Description

Demy has n jewels. Each of her jewels has some value vi and weight wi .

Since her husband John got broke after recent financial crises, Demy has decided to sell some jewels. She has decided that she would keep k best jewels for herself. She decided to keep such jewels that their specific value is as large as possible. That is, denote the specific value of some set of jewels S = {i 1 , i 2 , …, ik } as

.

Demy would like to select such k jewels that their specific value is maximal possible. Help her to do so.

Input

The first line of the input file contains n — the number of jewels Demy got, and k — the number of jewels she would like to keep (1 ≤ kn ≤ 100 000).

The following n lines contain two integer numbers each — vi and wi (0 ≤ vi ≤ 106 , 1 ≤ wi ≤ 106 , both the sum of all vi and the sum of all wi do not exceed 107 ).

Output

Output k numbers — the numbers of jewels Demy must keep. If there are several solutions, output any one.

Sample Input

3 2
1 1
1 2
1 3

Sample Output

1 2

这道题的迭代方法我真是不会,希望能通过作越来越多的题突破瓶颈,sigh


 

假设已有的v/w,其中v和w是k个的总和。那么要得到更好的v/w,做法是,求出每一个对于的si,si= vi-wi*v/w

 

 

很容易就能证明si更大的k个,可以组成不比原来小的组合。 设前k个si之和为s;(s最大,如果s>0,迭代没有停止),v/w = (v1-s)/w1<=v1/w1;

 



 
数据集准备: Weibo NER 是面向中文社交媒体文本的数据集,由 Peng 等人于 2015 年提出,主要用于微博等短文本场景下的实体识别研究。该数据集以新浪微博用户生成内容为基础,标注了 人名(PER)、地名(LOC)、机构名(ORG)、时间(TIME)四类实体,采用 BMES 标注体系(如 “B-PER” 表示人名开始,“E-PER” 表示人名结束)。本实验做的是分词任务,因此,因此选用的是没有BMES标注体系的数据集:  1.1 数据集选择: 分词任务训练集:data/pku_training.utf8 包含 1350 条标注样本用于分词模型训练。 分词任务开发集(验证集):data/pku_test_gold.utf8 包含 270 条标注样本用于分词模型调参。 分词任务测试集:data/pku_test_gold.utf8 包含 270 条标注样本用于分词模型性能评估。  1.2 文件格式: 文本采用 UTF-8 编码,每行对应一条样本。 每个词之间通过空格分隔。 。  1.3 BIO标注格式: 对原始数据集使用 BMES 标注体系,其中: B:实体开始(Begin) M:实体中间(Middle) E:实体结束(End) S:单字词实体(Single) 1.4 数据集下载方式: github网站: https://github.com/hltcoe/golden-horse/tree/master。 2.数据加载与预处理: 2.1 加载分词任务训练集、分词任务开发集和分词任务测试集。 2.2 将原始文本转换为字符级序列,并生成对应的BMES标签序列。 例如: 输入:才 发觉 已 迷失 了 来路 。 输出字符序列: ['才', '发觉', '已', '迷失', '了', '来路', '。'] 标签序列: ['S', 'B', 'E', 'S', 'B', 'E', 'S', 'B', 'E', 'S'] 2.3 词典构建与统计: 训练集中的词频和最大词长,用于后续模型设计。 3. HMM模型参数统计: 3.1 模型参数定义 状态集合(States):{'B', 'M', 'E', 'S'} 初始概率(π):每个状态作为序列起点的概率 转移概率(A):状态间转移的概率矩阵 发射概率(B):状态生成观测字符的概率 3.2 求解上述参数 4.实现分词算法: 4.1使用Viterbi算法找到最大化观测序列概率的状态路径,递推公式如下: 4.2 对测试文本进行分词,并输出分词结果。 5.模型测试与评估: 5.1使用 测试集 对模型进行测试,并计算准确率(Precision)、召回率(Recall)和 F1值 。 5.2 使用前向算法计算观测序列的生成概率 Ρ(Ο|λ)。 5.3 使用后向算法计算观测序列的生成概率 Ρ(Ο|λ)。 5.4 统计测试集中前后向概率一致的句子比例 返回: - total_sentences: 总句子数 - consistent_count: 前后向概率一致的句子数 - inconsistent_count: 前后向概率不一致的句子数。
03-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值