【题目描述】

寒枫将军将要带领他的部队去圣雪山消灭那里的冰龙。

部队分成了若干个小队,属于同一个小队的人兵种相同。寒枫将军有着杰出的指挥能力,在战斗的时候,寒枫将军能够让所有相同兵种的人互相配合,使t个相同兵种的人发挥出t2的战斗力;寒枫将军还能让不同兵种的人互相配合,使整个部队的战斗力是所有兵种战斗力的和。

例如,部队中有3个小队,分别是5个人的步兵小队,3个人的步兵小队,3个人的骑兵小队。那么步兵战斗力为64,骑兵战斗力为9,部队总战斗力为73。

寒枫将军需要知道他的部队的战斗力是多少。

【输入格式】

第一行一个整数n,表示小队数。接下来n行,第i行有两个整数ai、bi,表示这个小队有ai个人,兵种为bi

【输出格式】

一行一个整数,部队的战斗力。

【样例输入】

3

5 1

3 1

3 2

【样例输出】

73

【数据规模与约定】

10%的数据,n=1

30%的数据,n≤1000

另有20%的数据,ai=1

另有30%的数据,bi≤1000

100%的数据,1≤n≤100000,1≤ai≤10000,1≤bi≤1,000,000,000

直接用map做就可以。

题解:是以b为关键字排序,然后捋一遍求出答案。时间复杂度(O(nlogn))

代码实现:

我的:

 1 #include<map>
 2 #include<cstdio>
 3 #include<iostream>
 4 using namespace std;
 5 int n,l,s[100010],b;
 6 long long a,ans;
 7 map <int,long long> v;
 8 int main(){
 9     freopen("expedition.in","r",stdin);
10     freopen("expedition.out","w",stdout);
11     cin>>n;
12     for(int i=0;i<n;i++){
13         cin>>a>>b;
14         if(!v[b]) s[l++]=b;
15         v[b]+=a;
16     }
17     for(int i=0;i<l;i++) ans+=v[s[i]]*v[s[i]];
18     cout<<ans<<endl;
19     return 0;
20 }

std:

 1 #include<cstdio>
 2 #include<algorithm>
 3 using namespace std;
 4 const int N = 100500;
 5 int n;
 6 struct Info
 7 {
 8     int num,kind;
 9 }xu[N];
10 bool cmp(Info x,Info y)
11 {
12     return(x.kind<y.kind);
13 }
14 int main()
15 {
16     freopen("expedition.in","r",stdin);
17     freopen("expedition.out","w",stdout);
18     int i;
19     scanf("%d",&n);
20     for(i=1;i<=n;i++)
21         scanf("%d%d",&xu[i].num,&xu[i].kind);
22     sort(xu+1,xu+n+1,cmp);
23     long long ans=0;
24     for(i=1;i<=n;i++)
25     {
26         long long now=xu[i].num;
27         while(i<n && xu[i].kind==xu[i+1].kind)
28         {
29             i++;
30             now+=xu[i].num;
31         }
32         now*=now;
33         ans+=now;
34     }
35     printf("%I64d\n",ans);
36     return 0;
37 }

大概敲了不到半个小时,可以接受。

转载于:https://www.cnblogs.com/J-william/p/6392421.html

远征(expedition)相关推荐

  1. 传微软长角牛正式命名:Windows e-XPedition

    根据外国网站透露,有来自微软内部的消息指微软下一代的Windows,也就是大家一直称呼其为"长角牛"(Longhorn)的新版操作系统的正式名称可能是Microsoft Windo ...

  2. SP348 EXPEDI - Expedition(有趣的贪心,优先队列)

    SP348 EXPEDI - Expedition 1 4 4 4 5 2 11 5 15 10 25 10 2 以下来自<挑战程序设计竞赛> 以及我的辣鸡程序(竟然没超时!) #incl ...

  3. ssd2828测试进入测试模式_LOL卡牌推出“远征”轮抽模式 本周再度开启线上测试...

    英雄联盟卡牌游戏Legends of Runeterra,将在11月14日再次开放测试,这次的测试持续到11月19日.在本次测试中包括轮抽模式"远征",此前接触过其他卡牌游戏的玩家 ...

  4. 组合内容_剑与远征:亚龙组合成型,新的更新内容,比以前更强了?

    玩剑与远征这款游戏,已经有半年了.很多小伙伴梦寐以求的上白英雄,基本都拿到了,特别是耀光三宝这样的核心英雄,目前也基本都上白.但是依旧缺的还是狗粮,还有很多英雄本体够了,只等狗粮就可以上白了.本期想要 ...

  5. 以《剑与远征》为例,浅析新型挂机放置游戏的游戏特色特点

    前言:最近一款放置类休闲养成手游的广告铺天盖地,用"护肝"的口号来吸引玩家. <AFK Arena>(剑与远征)是由奥瑞克有限公司研发,莉莉丝科技发行的一款有着西方文化 ...

  6. 剑与远征新海盗版本10章怎么去过?Boss也会随着章节、等级提升

    剑与远征这款游戏竟然有玩家才过第10章,真的有一种意外,可能他是新玩家吧,但是面对他这样的情况,我们还是要说一些细节,那就是玩游戏的时候每一章节的提升都有一些重要的地方需要大家去关注,因为我们每过的一 ...

  7. 剑与远征英雄兑换码如此少见,新玩家连抽获得数位英雄

    其实我们可以在游戏当中看到,鉴于远征这款游戏真的非常的人性化,因为对所有的玩家而言,他可以获得很多的礼包,包括活动礼包,成长礼包,限时礼包以及成长礼包第2代.我们可以看到只要通关就能获得这些礼包,大量 ...

  8. 剑与远征赏金试炼活动将在13天后结束,工会玩法大家有尝试过吗?

    在剑与远征这一块放置类手游里面,我们有很多的游戏方式,甚至娱乐活动让我们看到有很多的快乐,当然这个英雄以及游戏的娱乐方向,与我们每个人的想法有很大的关系.赏金试炼活动其实增加了工会试炼,这样的玩法对一 ...

  9. 剑与远征种族刻印让玩家期待,绿裔刻印真有那么好看

    在剑与远征全新夏日海岛版本,我们看到有新的恶魔上新,而且有新的种族刻印,让玩家期待,这个时候大家期待看到的是什么呢?而在游戏的活动界面,我们看到有一个是绿意刻意抢先看.其实出现这样的情况大家还是比较迷 ...

最新文章

  1. Machine Learning | (2) sklearn数据集与机器学习组成
  2. python降维效果图_python实现拉普拉斯特征图降维示例
  3. python显示目录中的文件_Python中的文件和目录操作实现
  4. 玩转Java注解:元注解、内置注解、自定义注解的原理和实现
  5. dreamweaver 正则表达式为属性值加上双引号_IT兄弟连 HTML5教程 HTML5表单 新增的表单属性3...
  6. android渐变布局,关于Android的径向渐变高级编程的实现
  7. ruby koans:tdd方式学习ruby
  8. 【京东助手】滑稽东试用助手 V1.6.0
  9. 软件开发通识之二:如何从零开始学编程
  10. python简易计算器界面_python 简易计算器
  11. android获取屏幕像素密度DPI,与density
  12. Viterbi-Algorithm(维特比算法)
  13. 在ReactJS中正确修改状态数组
  14. 根据Email地址跳转到邮箱登录界面
  15. mysql left join 索引失效
  16. ACR:修片的五阶段工作流程
  17. 计算机科学版面费,《计算机科学》版面费
  18. 毕业三年 ---精彩!
  19. C语言(Head First C)-5_3:使用多个源文件:make自动化构建工具
  20. 蓝牙信号传到服务器,蓝牙数据接收服务器

热门文章

  1. Datagrip连接数据库,报错:Server returns invalid timezone. Need to set ‘serverTimezone‘ property
  2. linux中是什么意思DNS,04-Linux中DNS详解(一)
  3. 亲子交际必备使用 开心宝宝程序
  4. Java中的运算符——逻辑运算符详解
  5. DC-3靶机 渗透测试
  6. Android分割线divider(内含Android虚线分割线失效成实线解决方案)
  7. 在Visual Studio Code中配置python环境
  8. 光纤以太网:局域网与广域网的较量(转)
  9. 原生JS轮播图的知识点梳理
  10. 在配置Flutter环境遇到:× Windows Version (Unable to confirm if installed Windows version is 10 or greater)