#BZOJ3469. ADERA

ADERA

No submission language available for this problem.

题目描述

Adera Microsoft Windows 8 应用商店中的一款Xbox 解谜游戏,主线以女主角 Jane <o:p></o:p>

Sinclair 的探险经历展开。随着探险的不断深入,Jane Sinclair 获得的物品越来越多,因此她<o:p></o:p>

急需一套物品评估查询的系统。  <o:p></o:p>

Jane Sinclair 身上有 n 件物品,编号为 0~n-1,每件物品有一个不同于其它物品的价值,<o:p></o:p>

并且可以用一些小写英文字母构成的单词来描述这件物品。Jane Sinclair 想通过这套系统查<o:p></o:p>

m条信息,每条查询包含一个整数 t 和一个字符串 s。如果描述一件物品的单词中,有以<o:p></o:p>

s 为前缀的单词,那么这件物品是对Jane Sinclair 有用的。她想知道在这条查询中,对她有<o:p></o:p>

用的物品一共有多少个,并且她还想了解对她有用的物品中价值前 t 大的物品的编号是什么。<o:p></o:p>

现在就请你帮忙设计一下这个系统吧。  <o:p></o:p>

 <o:p></o:p>

 <o:p></o:p>

<o:p></o:p>

输入格式

第一行两个整数 n,m,分别表示物品个数和查询条数。  <o:p></o:p>

接下来 n 行,每行首先是一个整数 rating ,表示该物品的价值,然后是一个整数k,表示描述该物品的单词个数;接下来 k 个小写英文字母构成的字符串,描述这件物品。  <o:p></o:p>

接下来 m 行,每行一个整数 ti和一个字符串 si,表示一条询问。 <o:p></o:p>

 <o:p></o:p>

 <o:p></o:p>

<o:p></o:p>

输出格式

对于每条询问,首先输出在这次询问中对Jane Sinclair有用的物品总个数 tot;然后按顺<o:p></o:p>

序输出 t 个整数,表示对她有用的物品中价值前t大的物品的编号。如果 t>tot,只需输出tot<o:p></o:p>

个即可。每行内相邻两个整数之间用一个空格隔开,行末是一个回车符,没有空格。  <o:p></o:p>

 <o:p></o:p>

 <o:p></o:p>

<o:p></o:p>

3 3
1 1 admin
2 2 freda adera
3 1 adver
10 ad
1 f
2 miao
3 2 1 0
1 1
0

数据范围与约定

对于 100%的数据,1<=n,m<=100000 0<rating<=10^9,每两件物品的 rating 均不相同,<o:p></o:p>


描述物品的所有单词总长度不超过100000,所有询问的 s的总长度不超过 100000,所有询<o:p></o:p>


问的 t的和不超过 500000 <o:p></o:p>