Save More Mice (贪心 二分)
贪心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 (贪心 二分)相关推荐
- Save More Mice 贪心
题意 : 0位置有一个猫,n位置有老鼠洞,每次任选一个老鼠向右移动1个位置,然后猫也向右移动一个位置,如果猫所在的位置有老鼠,这些老鼠全部会被抓住,老鼠碰到洞就不会被抓,问最多有多少老鼠不被抓住 思路 ...
- [SCOI2005]栅栏(贪心+二分+dfs)难度⭐⭐⭐⭐
[SCOI2005]栅栏(贪心+二分+dfs) P2329 [SCOI2005]栅栏 题目描述 农夫约翰打算建立一个栅栏将他的牧场给围起来,因此他需要一些特定规格的木材.于是农夫约翰到木材店购买木材. ...
- 贪心/二分查找 BestCoder Round #43 1002 pog loves szh II
题目传送门 1 /* 2 贪心/二分查找:首先对ai%=p,然后sort,这样的话就有序能使用二分查找.贪心的思想是每次找到一个aj使得和为p-1(如果有的话) 3 当然有可能两个数和超过p,那么an ...
- LIS最长上升子序列详解(动态规划、贪心+二分、树状数组)
1.摘要: 关于LIS部分,本篇博客讲一下LIS的概念定义和理解,以及求LIS的三种方法,分别是O(n^2)的DP,O(nlogn)的二分+贪心法,以及O(nlogn)的树状数组优化的DP,最后附上几 ...
- C. Anton and Making Potions 贪心 + 二分
http://codeforces.com/contest/734/problem/C 因为有两种操作,那么可以这样考虑, 1.都不执行,就是开始的答案是n * x 2.先执行第一个操作,然后就会得到 ...
- CodeForces - 967D Resource Distribution(贪心+二分+构造)
题目链接:点击查看 题目大意:给出 n 个机器,每个机器可以处理 a[ i ] 的工作,现在有两个工作需要处理,工作量分别为 x1 和 x2,可以将一个工作分配给 k 个机器同时完成,需要满足: k ...
- 牛客 - Sixth Sense(贪心+二分)
题目链接:点击查看 题目大意:给出两个长度为 n 的数列记为 a 和 b,现在 a 的数列固定不动,问如何对数列 b 进行排列,可以使得: b[ i ] > a[ i ] (严格大于)的位置尽可 ...
- CodeForces - 1236D Alice and the Doll(贪心+二分+模拟)
题目链接:点击查看 题目大意:给出一个n*m的矩阵,矩阵中有k个障碍物,在点(1,1)处有一个洋娃娃,洋娃娃每次的行动路线只能是直走或右拐,初始时洋娃娃面朝正右方向,问洋娃娃能否将所有方格都走一遍,并 ...
- CF505E-Mr. Kitayuta vs. Bamboos【贪心,二分】
正题 题目链接:https://www.luogu.com.cn/problem/CF505E 题目大意 开始一个长度为nnn的序列hhh,mmm天每天你可以kkk次选择一个hih_ihi让它等于h ...
最新文章
- PHP魔术函数与魔术常量
- 《深入浅出MFC》第六章 MFC程序的生死因果
- LeetCode_每日一题今日份_剑指Offer11.旋转数组的最小数字
- 【剑指offer】找出数组中出现一次的两个数
- USACO-Section1.2 Broken Necklace (枚举法)
- 关于dll实现api挂接
- 提高软件质量的10点
- css3动画与@keyframes关键帧
- 备忘--简单比较SPSS、RapidMiner、KNIME以及Kettle四款数据分析工具
- iOS开发Assertion failure in -[AFJSONRequestSerializer requestWithMethod:URLString:parameters:error:]
- java飞机大战强化版_java飞机大战升级版源码(全彩,背景音乐,各种音效,不同僚机,子弹特效以及技能系统)...
- mongo分组查询,统计 Group.grouping(),Group.first(),Accumulator(“$sum“, new Integer(1) 含义解释
- hsqldb和mysql,Hsqldb简介和基本使用
- OD调试检测研究笔记(以E盾简化版作研究时写的笔记)
- ubuntu 下sopcast的使用
- C#实例.net_经典例子400个
- python画图旋转图形_python – 如何将matplotlib图旋转90度?
- Java实现窗口框架,转换金额的大小写
- 飞速创新更新IPO招股书:计划募资约14亿元,向伟为实际控制人
- python之scrapy:第一只spider
热门文章
- python另存为_python 将word另存为txt
- 为什么打印还要另存为_打印的时候为什么显示文件另存为
- 深度学习部署(十八): CUDA RunTime API _wa_仿射变换的实现
- 加入购物车里面的商品被商家调整价格以后如何处理金额问题
- google v8 实战 -- 构建v8
- win7共享打印机设置
- [bat] cmd命令进入用户登录界面和屏幕保护程序
- 小尾巴微博html5版,小尾巴
- 10nm 以一敌二 — 雷蛇灵刃潜行 2020 水银版评测
- UE4碰撞射线检测2