博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Round #503 (by SIS, Div. 2)
阅读量:5104 次
发布时间:2019-06-13

本文共 1199 字,大约阅读时间需要 3 分钟。

连接:

C.Elections

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

KN Point(注意复杂度性能):

1 #include
2 using namespace std; 3 #define ll long long 4 const int inf=3e3+10; 5 priority_queue
,greater
>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) ans=min(ans,v);33 }34 cout<
<

 

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

你可能感兴趣的文章
thinkphp5 composer安装验证码
查看>>
Eclipse中最常用的热键
查看>>
PL/SQL恢复默认窗口样式
查看>>
IOS--UISwitch的使用方法
查看>>
VC6工具下查看反汇编代码、机器码的使用技巧
查看>>
LeeTCode题解之Remove Duplicates from Sorted List
查看>>
python 接口自动化测试(六)使用unittest 批量用例管理
查看>>
PowerDesigner 物理数据模型(PDM) 说明
查看>>
tomcat6.exe与tomcat6w.exe的区别
查看>>
Go之数组
查看>>
Qt Charts——QChartsView
查看>>
如何处理大量数据并发操作(转)
查看>>
JavaScript实现强制重定向至HTTPS页面
查看>>
2019年2月备战春招最新大数据+Java岗位+人工智能岗位资料免费送【限时领取】...
查看>>
SQL高效率语句(二)
查看>>
web优化之-js动态合并 动态压缩 去掉js重复引用 js缓存 js延迟加载
查看>>
robot framework接口测试之一-完整的测试用例
查看>>
IOS开发:使用lipo合并armv7,i386,armv7s库文件
查看>>
使用 udev 高效、动态地管理 Linux 设备文件
查看>>
Java8函数之旅(四) --四大函数接口
查看>>