贪心code

#include<bits/stdc++.h>
#define x first
#define gcfx main
#define y second
#define mak make_pair
#define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
#define debug(a) cout<<a<<'\n'
#define endl '\n'
#define umap unordered_map
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;
const int N=4e5+10,M=1,inf=0x3f3f3f3f,mod=1e9+7;
int t,k,n,a[N]; void solve()
{cin>>n>>k;for(int i=1;i<=k;i++) cin>>a[i];sort(a+1,a+1+k);LL res=0,cnt=0;for(int i=k;i>=1;i--){res+=n-a[i];if(res>=n) break;cnt++;}cout<<cnt<<endl;
}int gcfx()
{IOS;cin>>t;while(t--) solve();return 0;
}

二分code

#include<bits/stdc++.h>
#define x first
#define gcfx main
#define y second
#define mak make_pair
#define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
#define debug(a) cout<<a<<'\n'
#define endl '\n'
#define umap unordered_map
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;
const int N=4e5+10,M=1,inf=0x3f3f3f3f,mod=1e9+7;
int t,a[N],k,n;bool check(int x)
{LL res=0;for(int i=1;i<=x;i++) res+=(n-a[i]);return res<n;
}void solve()
{cin>>n>>k;for(int i=1;i<=k;i++) cin>>a[i];sort(a+1,a+k+1,greater<int>());int l=1,r=k;while(l<r){int mid=l+r+1>>1;if(check(mid)) l=mid;else r=mid-1;}cout<<r<<endl;}int gcfx()
{IOS;cin>>t;while(t--) solve();return 0;
}

Save More Mice (贪心 二分)相关推荐

  1. Save More Mice 贪心

    题意 : 0位置有一个猫,n位置有老鼠洞,每次任选一个老鼠向右移动1个位置,然后猫也向右移动一个位置,如果猫所在的位置有老鼠,这些老鼠全部会被抓住,老鼠碰到洞就不会被抓,问最多有多少老鼠不被抓住 思路 ...

  2. [SCOI2005]栅栏(贪心+二分+dfs)难度⭐⭐⭐⭐

    [SCOI2005]栅栏(贪心+二分+dfs) P2329 [SCOI2005]栅栏 题目描述 农夫约翰打算建立一个栅栏将他的牧场给围起来,因此他需要一些特定规格的木材.于是农夫约翰到木材店购买木材. ...

  3. 贪心/二分查找 BestCoder Round #43 1002 pog loves szh II

    题目传送门 1 /* 2 贪心/二分查找:首先对ai%=p,然后sort,这样的话就有序能使用二分查找.贪心的思想是每次找到一个aj使得和为p-1(如果有的话) 3 当然有可能两个数和超过p,那么an ...

  4. LIS最长上升子序列详解(动态规划、贪心+二分、树状数组)

    1.摘要: 关于LIS部分,本篇博客讲一下LIS的概念定义和理解,以及求LIS的三种方法,分别是O(n^2)的DP,O(nlogn)的二分+贪心法,以及O(nlogn)的树状数组优化的DP,最后附上几 ...

  5. C. Anton and Making Potions 贪心 + 二分

    http://codeforces.com/contest/734/problem/C 因为有两种操作,那么可以这样考虑, 1.都不执行,就是开始的答案是n * x 2.先执行第一个操作,然后就会得到 ...

  6. CodeForces - 967D Resource Distribution(贪心+二分+构造)

    题目链接:点击查看 题目大意:给出 n 个机器,每个机器可以处理 a[ i ] 的工作,现在有两个工作需要处理,工作量分别为 x1 和 x2,可以将一个工作分配给 k 个机器同时完成,需要满足: k ...

  7. 牛客 - Sixth Sense(贪心+二分)

    题目链接:点击查看 题目大意:给出两个长度为 n 的数列记为 a 和 b,现在 a 的数列固定不动,问如何对数列 b 进行排列,可以使得: b[ i ] > a[ i ] (严格大于)的位置尽可 ...

  8. CodeForces - 1236D Alice and the Doll(贪心+二分+模拟)

    题目链接:点击查看 题目大意:给出一个n*m的矩阵,矩阵中有k个障碍物,在点(1,1)处有一个洋娃娃,洋娃娃每次的行动路线只能是直走或右拐,初始时洋娃娃面朝正右方向,问洋娃娃能否将所有方格都走一遍,并 ...

  9. CF505E-Mr. Kitayuta vs. Bamboos【贪心,二分】

    正题 题目链接:https://www.luogu.com.cn/problem/CF505E 题目大意 开始一个长度为nnn的序列hhh,mmm天每天你可以kkk次选择一个hih_ihi​让它等于h ...

最新文章

  1. PHP魔术函数与魔术常量
  2. 《深入浅出MFC》第六章 MFC程序的生死因果
  3. LeetCode_每日一题今日份_剑指Offer11.旋转数组的最小数字
  4. 【剑指offer】找出数组中出现一次的两个数
  5. USACO-Section1.2 Broken Necklace (枚举法)
  6. 关于dll实现api挂接
  7. 提高软件质量的10点
  8. css3动画与@keyframes关键帧
  9. 备忘--简单比较SPSS、RapidMiner、KNIME以及Kettle四款数据分析工具
  10. iOS开发Assertion failure in -[AFJSONRequestSerializer requestWithMethod:URLString:parameters:error:]
  11. java飞机大战强化版_java飞机大战升级版源码(全彩,背景音乐,各种音效,不同僚机,子弹特效以及技能系统)...
  12. mongo分组查询,统计 Group.grouping(),Group.first(),Accumulator(“$sum“, new Integer(1) 含义解释
  13. hsqldb和mysql,Hsqldb简介和基本使用
  14. OD调试检测研究笔记(以E盾简化版作研究时写的笔记)
  15. ubuntu 下sopcast的使用
  16. C#实例.net_经典例子400个
  17. python画图旋转图形_python – 如何将matplotlib图旋转90度?
  18. Java实现窗口框架,转换金额的大小写
  19. 飞速创新更新IPO招股书:计划募资约14亿元,向伟为实际控制人
  20. python之scrapy:第一只spider

热门文章

  1. python另存为_python 将word另存为txt
  2. 为什么打印还要另存为_打印的时候为什么显示文件另存为
  3. 深度学习部署(十八): CUDA RunTime API _wa_仿射变换的实现
  4. 加入购物车里面的商品被商家调整价格以后如何处理金额问题
  5. google v8 实战 -- 构建v8
  6. win7共享打印机设置
  7. [bat] cmd命令进入用户登录界面和屏幕保护程序
  8. 小尾巴微博html5版,小尾巴
  9. 10nm 以一敌二 — 雷蛇灵刃潜行 2020 水银版评测
  10. UE4碰撞射线检测2