劫富济贫

p { margin-bottom: 0.25cm; direction: ltr; line-height: 120%; text-align: justify }
p.western { font-family: "Calibri", serif; font-size: 10pt }
p.cjk { font-size: 10pt }
p.ctl { font-family: "Calibri"; font-size: 10pt }

【问题描述】

吕弗·普自小从英国长大,受到骑士精神的影响,吕弗·普的梦想便是成为一位劫富济贫的骑士。

吕弗·普拿到了一份全国富豪的名单(不在名单上的都是穷人),上面写着所有富豪的名字以及他们的总资产,比如豪特斯·珀去年资产有86E,吕弗·普就会准备抢来资助贫困的伯恩兄弟……

现在吕弗·普做了M次打劫计划,每次要打劫若干个人,他想知道每次能打劫到的总资产是多少

【输入格式】

第一行一个正整数N,代表富豪的个数

接下来N行,每行一个由小写字母组成的字符串Si和一个非负整数Wi,分别代表第i个富豪的名字和第i个富豪的资产数量

然后一个正整数M,代表吕弗·普的打劫次数

接下来M行,每行第一个数为正整数Xi,代表这次要打劫Xi个人,接下来有X个字符串,说明了这Xi个人是谁

【输出格式】

对于每次打劫任务,输出一行一个整数表示打劫到的总资产

如果这次打劫任务中打劫了一个穷人,那就输出-1

【样例输入】

2

a 10

b 20

3

2 a b

1 b

2 a c

【样例输出】

30

20

-1

【数据范围与约定】

对于30%
的数据,输入中每个名字的长度均为1

对于60%
的数据,N,∑Xi<=
100,输入中每个名字的长度<=10

对于100%的数据,N,∑Xi<=
10^5,输入中所有名字的总长度<=2*10^6,Wi<=10^9,保证任意两个富豪名字不同,但不保证打劫计划中会不会有重复的人

字典树裸题

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 typedef long long lol;
 7 int tot=1;
 8 char s[1000001];
 9 int ch[1000001][27],n,m;
10 lol w[1000001],ans;
11 void add(lol d)
12 {int i;
13   int l=strlen(s);
14   int now=1;
15   for (i=0;i<l;i++)
16     {
17       int x=s[i]-‘a‘;
18       if (!ch[now][x])
19     {
20       ch[now][x]=++tot;
21       w[tot]=-1;
22     }
23       now=ch[now][x];
24     }
25   w[now]=d;
26 }
27 lol find()
28 {int i;
29   int l=strlen(s);
30   int now=1;
31   for (i=0;i<l;i++)
32     {
33       int x=s[i]-‘a‘;
34       now=ch[now][x];
35     }
36   return w[now];
37 }
38 int main()
39 {lol d,k,x;
40   int i,j;
41   cin>>n;
42   w[0]=-1;
43   for (i=1;i<=n;i++)
44     {
45       scanf("%s%lld",s,&d);
46       add(d);
47     }
48   cin>>m;
49   for (i=1;i<=m;i++)
50     {
51       scanf("%lld",&k);
52       bool flag=1;
53       ans=0;
54       for (j=1;j<=k;j++)
55     {
56       scanf("%s",s);
57       x=find();
58       if (x==-1)
59         {
60           flag=0;
61           break;
62         }
63       else ans+=x;
64     }
65       if (flag) printf("%lld\n",ans);
66       else printf("-1\n");
67     }
68 }
时间: 2024-10-12 13:03:20

劫富济贫的相关文章

两年不盈利,拿投资人的钱补贴用户,你这是打算劫富济贫?

两年不盈利,拿投资人的钱补贴用户,你这是打算劫富济贫? o2o创业这一领域已经充满了乌合之众,他们盲目乐观,他们逻辑混乱,他们总能陷入自high的高潮之中.两年不盈利,没有明确的方向,拿投资人的钱补贴用户,你这是打算劫富济贫? 如果要用一个关键词来如今的O2O市场,"烧钱"这个词绝对是再恰当不过了.从打车到团购.从订餐到按摩.从电商到支付,几乎所有细分领域都动辄是几亿.十几亿美元的融资额,烧钱愈演愈烈.商家们的地推打得火热,用户们的享受补贴也是乐此不疲.然而烧钱大战的背后我们看到的却是

bzoj1040 骑士

Description Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬.最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争.战火绵延五百里,在和平环境中安逸了数百年的Z国又怎能抵挡的住Y国的军队.于是人们把所有的希望都寄托在了骑士团的身上,就像期待有一个真龙天子的降生,带领正义打败邪恶.骑士团是肯定具有打败邪恶势力的能力的,但是骑士们互相之间往往有一些矛盾.每个骑士都有且仅有一个自己最厌恶的骑士(当然不是他自己),他是绝对不

BZOJ 1040: [ZJOI2008]骑士( 树形dp )

这是一个森林中, 每棵树上都有一个环...每棵树单独处理, 找出环上任意一条边断开, 限制一下这条边两端点的情况, 然后就可以树dp了.. ------------------------------------------------------------------------ #include<cstdio> #include<algorithm> #include<cstring> #include<cctype> using namespace

网页游戏

网页游戏_百度百科http://baike.baidu.com/link?url=__mxqeSPiqAO_TGydqkd7M8BGmboUrei_rqfDzv59uOS9GxVe1UdbsClJgg2l5qCuFy4qzFWgaQo9GeZeaBpeiTo2npMjlMvFD6Wb-QNY8D1iT_phwtSVuq1RFOUAocv 页游 即 网页游戏 . 网页游戏又称Web游戏,无端网游,简称页游.是基于Web浏览器的网络在线多人互动游戏,无需下载客户端,只需打开IE网页,10秒钟即可进入

盘点一下数据平滑算法

在自然语言处理中,经常要计算单词序列(句子)出现的概率估计.我们知道,算法在训练时,语料库不可能包含所有可能出现的序列.  因此,为了防止对训练样本中未出现的新序列概率估计值为零,人们发明了好多改善估计新序列出现概率的算法,即数据平滑算法. Laplace 法则 最简单的算法是Laplace法则,思路很简单,统计测试数据集中的元素在训练数据集中出现的次数时,计数器的初始值不要设成零,而是设成1.这样,即使该元素没有在训练集中出现,其出现次数统计值至少也是1.因此,其出现的概率估计值就不会是零了.

Bzoj1040 [ZJOI2008]骑士

Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4496  Solved: 1721 Description Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬.最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争.战火绵延五百里,在和平环境中安逸了数百年的Z国又怎能抵挡的住Y国的军队.于是人们把所有的希望都寄托在了骑士团的身上,就像期待有一个真龙天子的降生,带领正义打败邪恶.骑士团

bzoj 1040: [ZJOI2008]骑士 環套樹DP

1040: [ZJOI2008]骑士 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1755  Solved: 690[Submit][Status] Description Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬.最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争.战火绵延五百里,在和平环境中安逸了数百年的Z国又怎能抵挡的住Y国的军队.于是人们把所有的希望都寄托在了

BZOJ 1040 【ZJOI2008】 骑士

Description Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬.最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争.战火绵延五百里,在和平环境中安逸了数百年的Z国又怎能抵挡的住Y国的军队.于是人们把所有的希望都寄托在了骑士团的身上,就像期待有一个真龙天子的降生,带领正义打败邪恶.骑士团是肯定具有打败邪恶势力的能力的,但是骑士们互相之间往往有一些矛盾.每个骑士都有且仅有一个自己最厌恶的骑士(当然不是他自己),他是绝对不

【BZOJ 1040】 [ZJOI2008]骑士

Description Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬.最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争.战火绵延五百里,在和平环境中安逸了数百年的Z国又怎能抵挡的住Y国的军队.于是人们把所有的希望都寄托在了骑士团的身上,就像期待有一个真龙天子的降生,带领正义打败邪恶.骑士团是肯定具有打败邪恶势力的能力的,但是骑士们互相之间往往有一些矛盾.每个骑士都有且仅有一个自己最厌恶的骑士(当然不是他自己),他是绝对不