连接:http://codeforces.com/contest/1020

C.Elections

题型:你们说水题就水题吧...我没有做出来...get到了新的思路,不虚。好像还有用三分做的?

KN Point(注意复杂度性能):优先队列1优先队列2

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define ll long long
 4 const int inf=3e3+10;
 5 priority_queue<int,vector<int>,greater<int> >tep[inf],s[inf],S; //优先队列
 6 ll ans=1e18;
 7 int main()
 8 {
 9     ios::sync_with_stdio(0);
10     int n,m;
11     cin>>n>>m;
12     for(int i=1;i<=n;i++)
13     {
14         int c,p;
15         cin>>c>>p;
16         s[c].push(p);
17     }
18     for(int i=1;i<=n;i++)  //索性枚举所有胜出可能需要拥有的票数,就不用考虑到底到底贿赂谁了
19     {
20         ll v=0;int cnt=s[1].size();
21         while(!S.empty()) S.pop();
22         for(int j=2;j<=m;j++) tep[j]=s[j];
23
24         for(int j=2;j<=m;j++)  //复杂度不会算了,有没有人教一下,感觉整个程序的复杂度在 n^2*log(n)左右
25             while(tep[j].size()>=i)
26               v+=tep[j].top(),tep[j].pop(),cnt++;  //让所有除1以外的所有人需要减掉的票数
27         for(int j=2;j<=m;j++)
28             while(!tep[j].empty())
29                 S.push(tep[j].top()),tep[j].pop();  //存下剩下的票数
30         while(cnt<i&&!S.empty())
31             cnt++,v+=S.top(),S.pop();  //用剩下的票数使得1的票数大于等于所需要的票数
32         if(cnt>=i) ans=min(ans,v);
33     }
34     cout<<ans<<endl;
35 }

转载于:https://www.cnblogs.com/LLbinGG/p/9479972.html

Codeforces Round #503 (by SIS, Div. 2)相关推荐

  1. Codeforces Round #503 (by SIS, Div. 2) D. The hat(交互题)

    题目链接:http://codeforces.com/contest/1020/problem/D 题意描述: 这是一个交互题,互交题就是你要输出一些问题,评测机就会回答你一些问题 你要在规定的提问次 ...

  2. Codeforces Round #503 (by SIS, Div. 1)D. the hat

    原题链接:B. The hat 题意:有n(偶数)个人围成一个圈,每个人身上有一个数字,保证相邻两个人的数字差为1, 现在要把第i个人和第i+n/2个人面对面站着,例如现在有8个人,站好后如下: 1 ...

  3. Codeforces Round #503 (by SIS, Div. 2) C. Elections

    气死我了人生中第一次打cf就掉分了 A题大水题浪费太多时间囧明明都是A两题亮老师还上分了.. 表示C题打的时候就想到正解啊(而且还更加优秀,因为家里老爷机暴力跑的超龟以为不行 其实是没认真算复杂度), ...

  4. Educational Codeforces Round 114 (Rated for Div. 2) (A ~ F)全题解

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Educational Codeforces Round 114 (Rated for Div. 2) ...

  5. Educational Codeforces Round 106 (Rated for Div. 2)(A ~ E)题解(每日训练 Day.16 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 Educational Codeforces Round 106 (Rated for Div. ...

  6. Educational Codeforces Round 37 (Rated for Div. 2) 1

    Educational Codeforces Round 37 (Rated for Div. 2) A.Water The Garden 题意:Max想给花园浇水.花园可被视为长度为n的花园床,花园 ...

  7. Educational Codeforces Round 90 (Rated for Div. 2)(A, B, C, D, E)

    Educational Codeforces Round 90 (Rated for Div. 2) Donut Shops 思路 分三种情况: a==c/ba == c / ba==c/b这个时候两 ...

  8. Educational Codeforces Round 89 (Rated for Div. 2)(A, B, C, D)

    Educational Codeforces Round 89 (Rated for Div. 2) A. Shovels and Swords 思路 题意非常简单,就是得到最多的物品嘛,我们假定a, ...

  9. Educational Codeforces Round 114 (Rated for Div. 2) D. The Strongest Build 暴力 + bfs

    传送门 文章目录 题意: 思路: 题意: 你有nnn个装备槽,每个槽里面有cic_ici​个力量加成,对于每个槽只能选一个力量加成,现在给你mmm个力量组合[b1,b2,...,bn][b_1,b_2 ...

  10. Educational Codeforces Round 72 (Rated for Div. 2) D. Coloring Edges dfs树/拓扑找环

    传送门 文章目录 题意: 思路: 题意: 给你一张图,你需要给这个图的边染色,保证如果有环那么这个环内边的颜色不全相同,输出染色方案和用的颜色个数. n,m≤5e3n,m\le5e3n,m≤5e3 思 ...

最新文章

  1. spring security 允许 iframe 嵌套
  2. .NET中读取csv文件内容
  3. String字符串中获取所有匹配结果的索引值
  4. 华为错误报告存储在哪里_守护你的数据,华为云数据安全中心正式公测
  5. 聊天软件项目TCP升级版
  6. 数据存储的问题(1)
  7. Go语言学习路线图 初阶+中阶+高阶
  8. 智能健康管理系统开发提供精准健康管理
  9. pdf2Image Pdf文件存为jpg NodeJs实现
  10. Bugzilla 下载和安装
  11. Apache Commons Daemon简介翻译
  12. 一文读懂增强现实(AR)技术
  13. 蓝天学校计算机教学反思,小学四年级上册《飞向蓝天的恐龙》教学反思
  14. Windows 10快速截图快捷键 (Windows徽标键+shift+S)
  15. 报数——约瑟夫环问题
  16. 一份最全的excel下拉列表攻略
  17. Netty空闲检测之写空闲
  18. c语言字符串怎么退位,C语言第五六次作业.ppt
  19. 【踩坑】Rock5B测试USB摄像头和安装OpenCV
  20. android获取系统资源文件,Android 系统文件获取

热门文章

  1. JavaScript之调用函数的方式
  2. [渝粤教育] 中国地质大学 大学英语(7) 复习题
  3. [渝粤教育] 西南科技大学 管理学原理 在线考试复习资料
  4. Pandas系列(四)数据统计函数
  5. 分享两个私藏的获取电子书资源方法
  6. 安装gid12.0.4linux-x64l后启动报错/liblzma.so.5: no version information available 的解决办法
  7. python实现mysql的读写分离及负载均衡
  8. ZT“老师说,如果想念一个人,就响两下他/她的手机。”
  9. Codeforces.741D.Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths(dsu on tree 思路)
  10. 【C++标准库】字符串