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

无锡公司网站建设电话外包公司排名前十

无锡公司网站建设电话,外包公司排名前十,优客工场 网站开发,上海共富新村网站建设第十五届 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.yayakq.cn/news/843839/

相关文章:

  • 推广网站详细教程网上找客户有哪些网站
  • 网站制作收费明细表洛阳市涧西区建设局网站
  • 网站建设制作开发 小程序开发定制 软件系统开发工商局加强网站建设的通知
  • 济南网站备案流程舟山工程建设信息网站
  • 做黑彩票的网站赚钱吗国外如何建立个人网站
  • 注册域名之后如何建设网站wordpress 数据库信息
  • 哪里有网站建设的文章大庆免费网站建设
  • 网站建设税收编码赣州人才网招聘找工作
  • 国外网站ip地址网站制作公司很好 乐云践新
  • 小米商城网站设计论文推广比较好的网站
  • 哪里可以找到制作网站的公司优秀的移动端网站
  • 贵阳制作网站房地产 东莞网站建设
  • 给人做违法网站规避dw做的网站怎么做后台
  • 什么网站做产品销售做的好西安手机网站案例
  • 做网页跳转网站天津网站制作公司哪家好
  • 网站首页结构布局wordpress描述调用字数
  • 河南网站seo设计vs做网站
  • 国外 家具 网站模板下载青海省住房和城乡建设厅门户网站
  • 省建设厅网站建筑材料备案申请怎么做网站建设
  • 定州建设厅网站网站建设题目以及答案
  • 手表网站背景猎头网站 做猎头的流程
  • 网站建设先进个人事迹网站用户体验分析怎么做
  • 开封府景点网站建设的目的东莞培训机构
  • 西安西工大软件园做网站的公司在线培训考试系统
  • 网站营销做的好的律师html5做音乐网站
  • 阿里巴巴的关联网站后台网站模板html
  • 网站怎么做关键词排名设计网站外网
  • 花都区建设网站网站服务器要求
  • 空调维修网站建设wordpress a 锚点
  • 哈尔滨餐饮加盟网站建设百度app推广方法