D. Problem with Random Tests

news2024/11/24 19:04:08

Problem - 1743D - Codeforces

 

思路:因为是或,所以答案一定会比原串更大,并且为了保留更多的1,我们可以选择原串作为其中一个串,另一个串则要找到第一个为0的位置,我们希望让这个为1,为了让这个位置在或之后为1,需要满足两个条件,假设这个位置为id,那么首先要满足长度至少为n-id+1,并且这个串的最高位还要是1,所以满足条件的起始位置一定在第一个1到第一个1之后的第一个0之前,而这之间有30个1的概率为1/2^(30)所以基本不可能,所以可以直接进行暴力

这个题数据随机是一个关键点,因为在数据随机的情况下,每个位置为1的概率为1/2,所以连续的1不会很长,那么就可以暴力的做

// Problem: D. Problem with Random Tests
// Contest: Codeforces - Educational Codeforces Round 137 (Rated for Div. 2)
// URL: https://codeforces.com/problemset/problem/1743/D
// Memory Limit: 512 MB
// Time Limit: 4000 ms

#include<iostream>
#include<cstring>
#include<string>
#include<sstream>
#include<bitset>
#include<deque>
#include<cmath>
#include<cstdio>
#include<algorithm>
#include<cassert>
#include<queue>
#include<map>
#include<stack>
#include<vector> 
#include<set>
#include<cstdlib>
#define fi first
#define se second
#define i128 __int128
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<int,int> PII;
typedef pair<int,pair<int,int> > PIII;
const double eps=1e-7;
const int N=1e6+7 ,M=5e5+7, INF=0x3f3f3f3f,mod=1e9+7,mod1=998244353;
const long long int llINF=0x3f3f3f3f3f3f3f3f;
inline ll read() {ll x=0,f=1;char c=getchar();while(c<'0'||c>'9') {if(c=='-') f=-1;c=getchar();}
while(c>='0'&&c<='9') {x=(ll)x*10+c-'0';c=getchar();} return x*f;}
inline void write(ll x) {if(x < 0) {putchar('-'); x = -x;}if(x >= 10) write(x / 10);putchar(x % 10 + '0');}
inline void write(ll x,char ch) {write(x);putchar(ch);}
void stin() {freopen("in_put.txt","r",stdin);freopen("my_out_put.txt","w",stdout);}
bool cmp0(int a,int b) {return a>b;}
template<typename T> T gcd(T a,T b) {return b==0?a:gcd(b,a%b);}
template<typename T> T lcm(T a,T b) {return a*b/gcd(a,b);}
void hack() {printf("\n----------------------------------\n");}

int T,hackT;
int n,m,k;
string str;

void check(int id,int len,string &ans,string temp,int r) {
	string s1=temp.substr(id,len);
	string s2=ans.substr(r,len);
	string s3=temp.substr(r,len);
	
	for(int i=0;i<s1.size();i++) {
		if(s3[i]=='1') s1[i]='1';
	}
	
	if(s1>s2) {
		string p=ans.substr(0,temp.size()-len)+s1;
		ans=p;
	}
}

void solve() {
	n=read();
	cin>>str;
	
	int l=0;
	while(l<n&&str[l]=='0') l++;
	
	if(l>=n) printf("0\n");
	else {
		string ans=str.substr(l,n-l);
		int r=0;
		while(r<ans.size()&&ans[r]=='1') r++;

		if(r>=ans.size()) cout<<ans<<'\n';
		else {
			string temp=ans;
			int len=ans.size()-r;
			for(int i=0;i<r;i++) {
				check(i,len,ans,temp,r);
			}
			
			cout<<ans<<'\n';
		}
	}
}

int main() {
    // init();
    // stin();
	//ios::sync_with_stdio(false); 

    // scanf("%d",&T);
    T=1; 
    while(T--) hackT++,solve();
    
    return 0;       
}          

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/882132.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

汇编语言--操作系统入门

计算机真正能够理解的是低级语言,它专门用来控制硬件。汇编语言就是低级语言,直接描述/控制 CPU 的运行。如果你想了解 CPU 到底干了些什么,以及代码的运行步骤,就一定要学习汇编语言。 CPU 只负责计算,本身不具备智能。你输入一条指令(instruction),它就运行一次,然后…

仓库库存管理难点在哪?有哪些仓库库存管理软件?

仓库库存管理常见的难点有&#xff1a;库存数据混乱、库存成本较高、库存积压严重等问题 使用仓库管理软件&#xff0c;企业可以更好地管理库存、优化供应链、提高操作效率&#xff0c;并基于准确的数据进行决策和规划&#xff0c;从而解决许多仓库库存管理中的难题。 一、仓库…

微信开发之一键修改好友备注的技术实现

简要描述&#xff1a; 修改好友备注 请求URL&#xff1a; http://域名地址/modifyRemark 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选类型说…

【server组件】——mysql连接池的实现原理

目录 1.池化技术 2.数据库连接池的定义 3.为什么要使用连接池 4. 数据库连接池的运行机制 5. 连接池与线程池的关系 6. CResultSet的设计 6.1构造函数 7. CDBConn的设计 6.1.构造函数 6.2.init——初始化连接 8.数据库连接池的设计要点 9.接口设计 9.1 构造函数 …

美好发展 商密见“郑” | GBASE南大通用亮相2023商用密码大会

本届大会以“密码赋能美好发展”为主题&#xff0c;全国商用密码主管部门及相关企业齐聚一堂&#xff0c;探讨产业发展趋势&#xff0c;解读政策法规&#xff0c;集中呈现我国商用密码理论、技术、产品、服务、应用等最新成果&#xff0c;吸引了300余家企业参展&#xff0c;参观…

京喜详情API接口大药房API接口详情获取jason

通过调用该API接口&#xff0c;商家可以获取商品的详细信息&#xff0c;包括商品名称、价格、库存、销量等。基于这些信息&#xff0c;商家可以根据自身的营销策略进行推广和销售 京喜商品详情API接口具有高度的可定制性。商家可以根据自身的需求来选择获取的信息内容&#xff…

论文解读 | 5分钟带你了解基于深度学习的点云配准的ICP算法

原创 | 文 BFT机器人 01 摘要 迭代最近点&#xff08;ICP&#xff09;及其变式为此任务提供了简单且易于实现的迭代方法&#xff0c;但这些算法可能会收敛到虚假的局部最优值。 为了解决ICP通道中的局部最优和其他困难&#xff0c;我们提出了一种基于学习的方法&#xff0c;名…

自适应巡航辅助ACC

1.自适应巡航辅助功能描述 自适应巡航控制&#xff08;Adaptive Cruise Control&#xff09;&#xff0c;它通过单目摄像头与雷达数据融合来检测前方车辆距离及相对速度&#xff0c;控制油门和刹车系统以实现稳定跟随前方车辆&#xff0c;且达到驾驶员设定的目标时距。在没有前…

一文带你了解10倍股票杠杆是什么?

10倍股票杠杆是一种投资策略&#xff0c;其核心原理是通过借贷的方式将投资本金放大到原始资金的十倍。假设你有1000元的投资本金&#xff0c;使用10倍杠杆&#xff0c;你可以借贷额外的9000元&#xff0c;使你的总投资金额达到10000元。 使用10倍股票杠杆的主要目的是提高投资…

【数据库】P2 SELECT 与 SQL注释

SELECT 检索单个列检索多个列检索所有列不重复的结果 DISTINCT限制结果 LIMIT 与 OFFSET注释行内注释多行注释 检索单个列 从 Products 表中检索一个名为 prod_name 的列&#xff1b; SELECT prod_name FROM Products;【1】返回的数据可能是无序的&#xff0c;除非规定了顺序…

vue3.0 element-plus 不同版本 el-popover 循环优化

表格内循环el-popover 渲染以后的页面&#xff0c;数据量很大的时候页面会卡&#xff0c;生成的代码&#xff1a; 解决思路&#xff1a;将el-popover提出来&#xff0c;不参与循环&#xff0c;让el-popover只渲染一次 1、以1.1.0-beta.24版为例&#xff08;低版本&#xff09;…

【Antd】实现Table组件行点击,解决某一列不触发行点击

今天有个新需求&#xff0c;点击table行&#xff0c;执行一些操作。实现过程中遇到了&#xff1a;点击操作列、操作列内按钮会冒泡触发行点击。antd版本&#xff1a;1.7.8 一、解决方案 customRow <a-table :customRow"handleClickRow" :data-source"data_li…

DBeaver导数据抛错 Java heap space

从表中导出数据时报错&#xff1a; 原因&#xff1a; DBeaver内存设置过小&#xff0c;需要调整 找到配置文件&#xff1a;安装目录->dbeaver.init Xms为最小内存&#xff0c;默认 64M Xmx为最大内存&#xff0c;默认 1024M&#xff0c;调大此值即可&#xff0c;如10240M

GIS应用技巧之植被制图

植被&#xff0c;亦可称为植群&#xff0c;是地球表面某一地区所覆盖全体植物的总称&#xff0c;它是一个植物学、生态学、农学和地球科学的名词。 无论是GIS还是CAD中或者简单绘制表示植被&#xff0c;往往用绿色一个面覆盖即表示植被&#xff0c;GIS中更是如此&#xff0c;如…

〔AI 绘画〕Stable Diffusion 之 解决绘制多人或面部很小的人物时面部崩坏问题 篇

✨ 目录 &#x1f388; 脸部崩坏&#x1f388; 下载脸部修复插件&#x1f388; 启用脸部修复插件&#x1f388; 插件生成效果&#x1f388; 插件功能详解 &#x1f388; 脸部崩坏 相信很多人在画图时候&#xff0c;特别是画 有多个人物 图片或者 人物在图片中很小 的时候&…

数据结构入门指南:二叉树

目录 文章目录 前言 1. 树的概念及结构 1.1 树的概念 1.2 树的基础概念 1.3 树的表示 1.4 树的应用 2. 二叉树 2.1 二叉树的概念 2.2 二叉树的遍历 前言 在计算机科学中&#xff0c;数据结构是解决问题的关键。而二叉树作为最基本、最常用的数据结构之一&#xff0c;不仅在算法…

蓝牙耳机运动耳机哪个好、好用的运动蓝牙耳机推荐

如今的蓝牙耳机已经成为手机的最佳伴侣&#xff0c;也是运动爱好者的必备装备。然而&#xff0c;在众多蓝牙耳机中做出选择可能会让人感到困惑。其实&#xff0c;在选购运动蓝牙耳机时需要注意的事项还挺多的&#xff0c;比如舒适度、稳定性和音质等多个方面,逐一对照这些要点来…

Unity 工具 之 Azure 微软SSML语音合成TTS流式获取音频数据的简单整理

Unity 工具 之 Azure 微软SSML语音合成TTS流式获取音频数据的简单整理 目录 Unity 工具 之 Azure 微软SSML语音合成TTS流式获取音频数据的简单整理 一、简单介绍 二、实现原理 三、实现步骤 四、关键代码 一、简单介绍 Unity 工具类&#xff0c;自己整理的一些游戏开发可…

记一次fegin调用的媒体类型问题

1.问题&#xff1a;分页查询&#xff0c;分页参数传递不生效 2.开发环境&#xff1a;fegin接口 开发环境&#xff1a;调用接口 3.修改后&#xff1a;fegin接口不变 调用接口 前端媒体类型&#xff1a; 问题解决&#xff01;&#xff01;&#xff01; 4.原因分析&…

正中优配:超470份半年报出炉!多家龙头公司表现亮眼

到8月15日记者发稿&#xff0c;A股共有474家上市公司对外披露了2023年半年报&#xff0c;其间270家完结净利润同比增加&#xff0c;占比到达56.96%。陈述期内&#xff0c;净利润同比增幅居前的上市公司首要会集在酒店餐饮、旅行及景区、光伏设备、轿车零部件等职业。 270家A股上…