传送门

题意:NNN个人给MMM个党派投票,开始时每个人选择一个党派投票(给定),每个人可以花费一定代价贿赂(每个人给定代价),求让1号党派胜出(票数严格最大)的最小花费。

1≤N,M≤30001\leq N,M\leq 30001≤N,M≤3000

枚举1号党派的最终票数(胜出的条件下)kkk。

首先其他党派的票数必须小于kkk,所以把它的最便宜的人挖掉直到小于kkk。

如果此时的票数仍然小于kkk,再在剩下的人中选出最小的。

复杂度O(NM)O(NM)O(NM)

鬼知道怎么想到的

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cctype>
#include <vector>
#include <algorithm>
#define MAXN 3005
using namespace std;
typedef long long ll;
vector<int> v[MAXN];
int lis[MAXN];
int main()
{int n,m;scanf("%d%d",&n,&m);for (int i=1;i<=n;i++){int p,c;scanf("%d%d",&p,&c);v[p].push_back(c);}for (int i=1;i<=m;i++) sort(v[i].begin(),v[i].end());ll ans=1e18;for (int k=1;k<=n;k++){int now=v[1].size();ll sum=0;lis[0]=0;for (int i=2;i<=m;i++){for (int j=0;j<(int)v[i].size()-k+1;j++){sum+=v[i][j];++now;}for (int j=max(0,(int)v[i].size()-k+1);j<v[i].size();j++)lis[++lis[0]]=v[i][j];}sort(lis+1,lis+lis[0]+1);for (int i=1;i<=k-now;i++) sum+=lis[i];ans=min(ans,sum);}cout<<ans;return 0;
}

【CF1020C】Election【贪心】相关推荐

  1. 搜索 —— 暴力搜索

    [暴力搜索] 暴力搜索,就是将所有情况都举出,并判断其是否符合题目条件.其基本方法是分析题意后,找到一个合适的维度列举每一个元素,以完成题目. 一般主流的 OJ 中,1000ms 的时间限制下可以运行 ...

  2. 2018.09.19 atcoder AtCoDeer and Election Report(贪心)

    传送门 很有意思的一道贪心. 就是每次翻最小的倍数来满足条件. 代码: #include<bits/stdc++.h> #define ll long long using namespa ...

  3. 【ZOJ - 3715】Kindergarten Election(枚举得票数,贪心)

    题干: At the beginning of the semester in kindergarten, the n little kids (indexed from 1 to n, for co ...

  4. 算法设计与分析第3章 贪心算法

    第4章 贪心算法 贪心算法总是作出在当前看来最好的选择.也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择. 贪心算法的基本要素 1.贪心选择性质 所谓贪心选择性质是指所 ...

  5. 贪心算法单源点最短路径例题c语言源代码,Dijkstra算法是解单源最短路径问题的一个贪心算法...

    问题描述 给定一个带权有向图 G=(V,E) ,其中每条边的权是一个非负实数. 另外,还给定 V 中的一个项点,称为源. 现在我们要计算从源到所有其他各项点的最短路径长度. 这里的长度是指路上各边权之 ...

  6. Too Many Segments CF595D 贪心乱搞

    传送门! 比赛的时候没有时间写了,看看了看大佬的代码,学习学习. 一开始实验室大佬说是用差分写的,但是看了代码发现打cf的人大家都是stl狂魔! 贪心思路:区间按照左端点排序,从1~2e5遍历每一个点 ...

  7. Roundgod and Milk Tea 贪心

    这个题好像可以用一种类似与置换的贪心方法来做~ sum记为剩余奶茶,一开始sum等于奶茶和 ans记录已经喝的奶茶数 不用排序,我们就从前往后直接处理,考虑的是每一个班最多可以喝多少杯奶茶 就是从剩余 ...

  8. MIT 6.824 Lab2A (raft) -- Leader Election

    文章目录 实验要求 Leader Election流程 及详细实现介绍 基本角色 关键超时变量 关键的两个RPC实现 RequestVote RPC AppendEntries RPC Go并发编程实 ...

  9. 贪心算法简单实践 -- 分糖果、钱币找零、最多区间覆盖、哈夫曼编解码

    1. 贪心算法概览 贪心算法是一种算法思想.希望能够满足限制的情况下将期望值最大化.比如:Huffman编码,Dijkstra单源最短路径问题,Kruskal最小生成树 等问题都希望满足限制的情况下用 ...

最新文章

  1. 使用扩展方法和静态门面类实现伪领域对象
  2. crontab用法 时间配置_Linux指定的时间运行自定义命令的两种方式
  3. linux:内核中断
  4. oracle 两个逗号分割的字符串 如何判断是否其中有相同值
  5. 【重大更新】DevExpress v17.2新版亮点—Bootstrap篇(二)
  6. mysql 创建数据库文件_mysql学习之通过文件创建数据库以及添加数据
  7. 【毕业前夕,畅谈科研】一个清华土著的科研感想
  8. 虚拟机中运行windows内核
  9. 关于Shell 脚本的export语句
  10. ie工具internet选项安全自定义级别java_activex控件被禁止怎么办
  11. 计算机控制液压同步顶升系统,PLC多点控制液压同步顶升系统的运用
  12. oracle db studay
  13. 计算机软件是互联网行业吗,中国十大热门专业 互联网行业位居第一
  14. 腾讯QQ被盗的形式及密码保护技巧(转)
  15. Python图像处理笔记——形态学处理(skimage.morphology)
  16. 国标GB28181摄像头直播视频流媒体服务器获取视频流失败问题分析
  17. Programming: Principles and Practice Using C++
  18. 28岁程序员的2016规划
  19. 手工实现:SVM with Stochastic Gradient Descent
  20. 【SpringCloud深入浅出系列】SpringCloud组件之集成Zuul实现过滤器

热门文章

  1. 是的,我打败了一个奥特曼。
  2. 当你和你女朋友闹矛盾时......
  3. 免费使用的支付宝,到底是怎么一年赚1206亿的?
  4. 活久见!一美国大爷发明了永不掉链子的自行车,垂直踩踏即可驱动
  5. 老师看完都吐血的五道题
  6. 如果生活中没有数学,那么。。。
  7. java 继承与多态 习题_JAVA基础 第4章继承与多态_练习题_200910
  8. 烧录imx6需要的linux空间,IMX6Q学习笔记——开发板的Linux系统更新和烧录
  9. python ctp接口_使用ctp的python接口
  10. bootstrap grid php,bootstrap grid用法