贪心 ---- 2020牛客多校第3场[Clam and Fish+贪心]
题目链接
解题思路:1.根据贪心的思想肯定是如果是第2或者第3种状态肯定是钓鱼且不需要鱼饵的,如果是在第0种状态有鱼饵肯定也钓鱼,对于第1种状态就是可以钓鱼也可以造鱼饵的状态我们如何考虑
2.我们从后面看需要鱼饵钓鱼的有第0和第1种状态如果后面这两种状态的个数大于当前的鱼饵个数那么我们就继续造鱼饵,否则我们就直接钓鱼,因为鱼饵太多留着也没用
#include <iostream>
#include <cstdio>
#include <stack>
#include <sstream>
#include <vector>
#include <map>
#include <cstring>
#include <deque>
#include <cmath>
#include <iomanip>
#include <queue>
#include <algorithm>
#include <set>
#define mid ((l + r) >> 1)
#define Lson rt << 1, l , mid
#define Rson rt << 1|1, mid + 1, r
#define ms(a,al) memset(a,al,sizeof(a))
#define log2(a) log(a)/log(2)
#define _for(i,a,b) for( int i = (a); i < (b); ++i)
#define _rep(i,a,b) for( int i = (a); i <= (b); ++i)
#define for_(i,a,b) for( int i = (a); i >= (b); -- i)
#define rep_(i,a,b) for( int i = (a); i > (b); -- i)
#define lowbit(x) ((-x) & x)
#define IOS std::ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define INF 0x3f3f3f3f
#define hash Hash
#define next Next
#define count Count
#define pb push_back
#define f first
#define s second
using namespace std;
const int N = 2e6+10, mod = 1e9 + 7;
const double eps = 1e-10;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> PII;
typedef pair<ll,ll> PLL;
typedef pair<double,double> PDD;
template<typename T> void read(T &x)
{x = 0;char ch = getchar();ll f = 1;while(!isdigit(ch)){if(ch == '-')f*=-1;ch=getchar();}while(isdigit(ch)){x = x*10+ch-48;ch=getchar();}x*=f;
}
template<typename T, typename... Args> void read(T &first, Args& ... args)
{read(first);read(args...);
}
char a[N];
int Suff[N];
int fish, clam;
int T;
int main()
{read(T);while(T --){int n;fish = clam = 0;read(n);cin >> a;int len = strlen(a);Suff[len] = 0;for(int i = len - 1; i >= 0; -- i)if(a[i] == '0' || a[i] == '1')Suff[i] = Suff[i + 1] + 1;else Suff[i] = Suff[i + 1];for(int i = 0; i < len; ++ i){if(a[i] == '0'){if(clam) clam --, fish ++;}else if(a[i] == '1'){if(Suff[i] > clam) clam ++;else {if(clam) clam --, fish ++;}}else fish ++;}cout << fish << endl;}return 0;
}
贪心 ---- 2020牛客多校第3场[Clam and Fish+贪心]相关推荐
- 2020牛客多校第1场H-Minimum-cost Flow
解题思路: 首先我们要从费用流mcmf的算法入手:因为它每次增广是再费用增广路上跑的,根据贪心的思想费用小的路基本上能运多少就尽量运多少,所以我们可以假设初始的边容量是1,只跑一遍mcmf.记录一下每 ...
- 2020牛客多校第3场:[Points Construction Problem + 思维题+构造]
题目链接 题目大意:就是给你n个边长为1的正方形,要求用这些正方形拼成周长为m的图形,并输出这些正方形的坐标,如果没有输出No 首先如果这些正方形都零散分布那么周长就是4∗n4*n4∗n,如果将这些正 ...
- 数论分块 ---- 2020牛客多校第7场H-Dividing[思维+数论分块]
题目大意: 解题思路:很明显满足条件的点是n%k==0∣∣n%k==1n\%k==0||n\%k==1n%k==0∣∣n%k==1 1.因为nnn是从111开始的如果一直乘以k[n=n∗k]k[n=n ...
- 2020牛客多校第7场C-A National Pandemic[树链剖分+思维]
题目大意 1.首先我们看一下操作1:实际上可以说成在所有位置上加上w−dist(x,y)w-dist(x,y)w−dist(x,y),因为dist(x,x)=0dist(x,x)=0dist(x,x) ...
- 2020牛客多校第5场B-Graph完全图异或最小生成树
因为这里边是可以任意加的但是要保证联通性所有这里可以看成一个完全图,每条边的权值=a[u]^a[v] 1.那么我们可以将每个点的权值sort一遍,将每个a[i],从高位到低位,按照最高位的1出现的顺序 ...
- 2020牛客多校第3场:Two Matchings[找规律+dp]
题目链接 解题思路:这题规律......无语: #include <iostream> #include <cstdio> #include <stack> #in ...
- 2020牛客多校第三场[C Operation Love+基础计算几何 判断多边形顺逆时针]
题目链接 题目大意:就是给你两个左右手的模型,下面给出这两只手通过平移变换之后坐标问你这只手是左手还是右手?[题目保证坐标是按照顺时针或者逆时针给出的] 解题思路:首先我们先观察一下这只右手:假如数据 ...
- exgcd ---- 2020牛客多校第三场:[Fraction Construction Problem:exgcd+思维题]
题目链接 题目大意:就是给你两个数a,ba,ba,b叫你求满足下面三个条件的c,d,e,fc,d,e,fc,d,e,f 1.cd−ef=ab1.{c\over d}-{e\over f}={a\ove ...
- 2020牛客多校第1场I-1 or 2一般图最大匹配带花树
链接:https://ac.nowcoder.com/acm/contest/5666/I Bobo has a graph with n vertices and m edges where the ...
最新文章
- iKair:放弃硬件制造,切入上游去“送水”的逻辑
- cmd后台运行exe_windows 十大实用“运行”命令
- Docker基本组成 和 基本命令
- Java实现最小二乘法线性拟合,传感与检测,单臂半桥全桥实验,江南大学自动化
- Hadoop学习笔记—15.HBase框架学习(基础知识篇)
- 两个系统整合一起怎么说_结婚后该不该把父母接过来一起生活? 看看过来人是怎么说的...
- 被坑;剪头发(普通修剪)180元!你会怎么办?
- 吃透这套架构演化图,从零搭建Web网站也不难!
- centos 7 安装donet core2.0环境
- 制作自己专属的抓包工具
- GitHub:git push问题remote:Support for password authentication was removed on August 13,2021.
- 图表点编辑数据无反应_excel输入数据表格没反应-点击EXCEL插入图表没有反应
- [lintcode]879. 输出赛程表
- 开发框架-.Net:Learun(力软敏捷开发)
- 中国线上驾驶游戏市场深度研究分析报告
- 大话设计模式系列之面向对象基础(一)
- k8s 证书过期解决
- 阿奇霉素联合甲泼尼龙治疗30例小儿难治性支原体肺炎的效果及安全性探讨
- 【人工智能 Open AI】设计一个SQL Where DSL模型,使用 golang 代码来实现DSL的翻译成SQL。
- NY8A051F 6 I/O 8-bit EPROM-Based MCU 台湾九齐单片机