当前位置: 首页 > news >正文

天津商城网站设计公司游戏代理

天津商城网站设计公司,游戏代理,会外语和做网站,12月10日新闻第十五届 CA组省赛 AcWing5980.训练士兵 方法一:树状数组:O(nlogn) self-complete /*先枚举组团,后分析每个士兵,有一个特点,组团费用是固定的,那当然是让所有士兵一块训练,训练完的士兵也不会有损失当还…

第十五届

C++A组省赛

AcWing5980.训练士兵

方法一:树状数组:O(nlogn)

  • self-complete
/*先枚举组团,后分析每个士兵,有一个特点,组团费用是固定的,那当然是让所有士兵一块训练,训练完的士兵也不会有损失当还需要升级的士兵的金币之和小于组团时就各自训练,此时花费也已经固定了首先将经验按照从大到小排序,这样每次组团训练,会从后向前减少不需要训练的士兵,这样就能利用前缀和来判断是否需要单独训练每次组团先训练完一整类需要经验值相同的士兵再判断, 由于会对一整个区间进行修改求和,使用树状数组时间复杂度O(n)
*/
#include <cstdio>
#include <cstring>
#include <algorithm>
#define int long longusing namespace std;const int N = 100010;struct Soldier{int coin, ep;bool operator< (const Soldier o) const{return ep > o.ep;}
}sl[N];int sc[N], tr[N];
int n, S;int lowbit(int x){return x & -x;
}void add(int x, int c){for (int i = x; i < N; i += lowbit(i))tr[i] += c;
}int sum(int x){int s = 0;for (int i = x; i; i -= lowbit(i))s += tr[i];return s;
}signed main(){scanf("%lld%lld", &n, &S);for (int i = 1; i <= n; i ++){scanf("%lld%lld", &sl[i].coin, &sl[i].ep);}sort(sl + 1, sl + n + 1);for (int i = 1; i <= n; i ++){sc[i] = sc[i - 1] + sl[i].coin;add(i, sl[i].ep - sl[i - 1].ep);}int res = 0;for (int i = n; i; i --){int cep = sum(i);if (cep > 0){if (sc[i] >= S){add(1, -cep);add(i, cep);res += S * cep;}else{res += sl[i].coin * cep;} }}printf("%lld\n", res);return 0;
}

方法二:哈希+整体操作(挖掘性质): O(n)

  • 😦
/*由于组团训练肯定是所有士兵一起参加更好,所以可以把过程分为两种情况,一种是所有士兵组团训练,一种是所有士兵单独训练,而哪些已经训练完成的士兵就不用管了每次比较是组团和单独训练的花费金额来判断选用哪种情况
*/
#include <cstdio>
#include <cstring>
#include <algorithm>
#define int long longusing namespace std;const int N = 100010;int c[N], p[N];
int n, S;
int a[N * 100]; // a[k]哈希表,表示经过k轮后,完成训练后对应士兵的花费signed main(){scanf("%lld%lld", &n, &S);int maxt = 0;//一共只需要升maxt次所有士兵就能升满级int i_S = 0;//表示单独训练花费for (int i = 1; i <= n; i ++){scanf("%lld%lld", &c[i], &p[i]);maxt = max(maxt, p[i]);i_S += c[i];a[p[i]] += c[i];//训练多少轮后到达满级,此时对应的i_s将其去掉,未到满级是a[i]为0}int res = 0;for (int i = 1; i <= maxt; i ++){if (S < i_S){res += S;}else{res += i_S;}i_S -= a[i];}printf("%lld\n", res);return 0;
}
http://www.dt0577.cn/news/35808.html

相关文章:

  • 石柱网站建设问卷调查网站
  • 海口模板建站平台站长友情链接平台
  • mobi手机网站建设优化流程
  • 临沂教育平台网站建设seo专家是什么意思
  • 零起飞网站建设工作室网络优化工程师
  • 餐饮美食网站模板源码网络营销课程主要讲什么内容
  • 做壁画在哪个网站百度站长平台有哪些功能
  • 视觉设计网站推荐网站分析报告范文
  • 怎么做网页设计原型中山网站seo优化
  • 产品如何做网站地图广告开户
  • 网站内链建设不可忽视的地方温州seo结算
  • 东莞网站建设设计百度关键词竞价
  • 上海做网站最专业google浏览器官网
  • 网站菜单分类怎么做怎么做网站主页
  • 潍坊企业建站系统搜索引擎优化核心
  • 网站建设 业务员提成做网站的软件
  • 传奇辅助网站怎么做网站设计与制作毕业论文范文
  • java做网站开发的流程做百度推广的网络公司广州
  • wordpress首页登陆seo排名优化工具
  • 街舞舞团公司做网站百度关键词排名点
  • 宁波市节约型机关建设考试网站发布软文是什么意思
  • 做网站怎么看效果重庆公司seo
  • 做网站能赚钱吗 知乎seo黑帽多久入门
  • 政府网站建设开发方案网站建设及网络推广
  • 网站制作收费百度服务中心
  • 怎么做网站关键字宣传推广计划
  • 用bmob做网站信息流推广渠道有哪些
  • ftp网站上传成功后怎么做企业推广
  • 做网站现在用什么软件站长工具爱站
  • 社区团购小程序模板seo搜索引擎优化薪资