Codeforces Round #503 (by SIS, Div. 2) C. Elections
题目
题意:有n个学生,m个政党,每个学生有支持的政党,但是如果你给他一些钱,他就可以给你想让他投的党投票,现在想付出最少的钱使得1政党有绝对优势(票数严格大于其他党)。
分析:运用一种枚举贪心的思想,枚举胜利的必要条件,就是枚举改变了I个人,就可以达到胜利
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; struct sss {int id;int cost; }a[3001]; int f[3001]; int g[3001]; int cmp(struct sss x,struct sss y) {return x.cost<y.cost; } int main() {int n,m;scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){scanf("%d%d",&a[i].id,&a[i].cost);f[a[i].id]++;//计入最开始的投票情况 }long long sum=999999999999,sum2=0,ans;sort(a+1,a+n+1,cmp);//按价格排好序for(int i=f[1];i<=n;i++)//枚举获胜状态 {sum2=0;ans=0;for(int j=2;j<=m;j++){if(f[j]>=i){g[j]=f[j]-i+1;//记录要赢得此选手要在他这买几票sum2+=g[j];//记录总共要在比他高的选手这买几票 }else g[j]=0;}if(i-f[1]<sum2) continue;//如果我在比他高的选手这买的票比我总共买的还多说明情况不存在sum2=i-f[1]-sum2;//记录要在比我低的选手这买几票for(int j=1;j<=n;j++){if(g[a[j].id]!=0)//比我高 {g[a[j].id]--;ans+=a[j].cost;}else{if(sum2!=0&&a[j].id!=1)//比我低,并且我还需要买票 {sum2--;ans+=a[j].cost;}}}sum=min(sum,ans);//取最优 }cout<<sum; }
View Code
转载于:https://www.cnblogs.com/shuaihui520/p/9474411.html
Codeforces Round #503 (by SIS, Div. 2) C. Elections相关推荐
- Codeforces Round #503 (by SIS, Div. 2) C. Elections
气死我了人生中第一次打cf就掉分了 A题大水题浪费太多时间囧明明都是A两题亮老师还上分了.. 表示C题打的时候就想到正解啊(而且还更加优秀,因为家里老爷机暴力跑的超龟以为不行 其实是没认真算复杂度), ...
- Codeforces Round #503 (by SIS, Div. 2) D. The hat(交互题)
题目链接:http://codeforces.com/contest/1020/problem/D 题意描述: 这是一个交互题,互交题就是你要输出一些问题,评测机就会回答你一些问题 你要在规定的提问次 ...
- Codeforces Round #503 (by SIS, Div. 1)D. the hat
原题链接:B. The hat 题意:有n(偶数)个人围成一个圈,每个人身上有一个数字,保证相邻两个人的数字差为1, 现在要把第i个人和第i+n/2个人面对面站着,例如现在有8个人,站好后如下: 1 ...
- Educational Codeforces Round 114 (Rated for Div. 2) (A ~ F)全题解
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Educational Codeforces Round 114 (Rated for Div. 2) ...
- Educational Codeforces Round 106 (Rated for Div. 2)(A ~ E)题解(每日训练 Day.16 )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 Educational Codeforces Round 106 (Rated for Div. ...
- Educational Codeforces Round 37 (Rated for Div. 2) 1
Educational Codeforces Round 37 (Rated for Div. 2) A.Water The Garden 题意:Max想给花园浇水.花园可被视为长度为n的花园床,花园 ...
- 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这个时候两 ...
- 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, ...
- Educational Codeforces Round 114 (Rated for Div. 2) D. The Strongest Build 暴力 + bfs
传送门 文章目录 题意: 思路: 题意: 你有nnn个装备槽,每个槽里面有cic_ici个力量加成,对于每个槽只能选一个力量加成,现在给你mmm个力量组合[b1,b2,...,bn][b_1,b_2 ...
- Educational Codeforces Round 72 (Rated for Div. 2) D. Coloring Edges dfs树/拓扑找环
传送门 文章目录 题意: 思路: 题意: 给你一张图,你需要给这个图的边染色,保证如果有环那么这个环内边的颜色不全相同,输出染色方案和用的颜色个数. n,m≤5e3n,m\le5e3n,m≤5e3 思 ...
最新文章
- woff, 在网页中嵌入任意字体的解决方案
- 算法 --- 二叉树查找树的先序(中序、后序)遍历的js实现
- struct interface_golang 避坑指南(1)interface 之坑多多 | 文末深圳 Meetup
- linux服务器 网速测试
- 网络安全管理规章制度
- 番茄时间管理法(Pomodoro Technique):一个番茄是如何让你工作更有效率的
- vi/vim显示行号
- 计算机等级保护 备案,信息安全等级保护备案实施细则
- 致移动开发的后10年
- 万物皆可DAO?一文带你全方位解读DAO类型
- 五分钟掌握SEO入门实用优化技巧
- 【干货】PS超实用功能:美化照片
- 如何快速有效的推广微信公众帐号
- ⽤户去输⼊⼀个⼈民币⾦额,然后程序会计算如何去⽤20元纸币,10元纸币,5元纸币和⼀元纸币去表⽰这个⼈民币⾦额。要求使⽤最⼩数⽬的纸币。
- 【3分钟高效制作PPT】ChatGPT搭配闪击PPT生成PPT,你只需要输入一个标题
- python实现用伏羲八卦对ASCII码进行加密
- 【JAVA8】快速理解Consumer、Supplier、Predicate与Function
- 【CSS】线性渐变、径向渐变
- ubuntu:软件包
- 通过两个坐标系对应点计算转换关系
热门文章
- 汇编学习--7.12--总结
- android home 销毁 activity,android 触发home之后activity销毁问题
- webpack配置_webpack的配置
- 四川农大2020计算机专业录取分数线,四川农业大学2020年在全国各省市分专业录取分数线!含艺体类!...
- YII with()
- fdisk、parted无损调整普通分区大小
- DWR入门教程(http://www.cnblogs.com/cyjch/archive/2012/02/16/2353758.html)
- 文本处理命令系列——cut
- [代码片断]SQL中解析XML数据
- 家居有线网络布线方案(转)