首页 > 其他分享 >Codeforces Round 958 (Div. 2)A(AC)BC(补题)

Codeforces Round 958 (Div. 2)A(AC)BC(补题)

时间:2024-07-30 11:27:42浏览次数:15  
标签:958 AC 23 int cin long ++ 补题 include

这里写目录标题

A思维题【AC】

思路:每次分成k-1个1,1个其他

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
//const int N = 2e5+10;
void solve()
{
	int n,k;cin>>n>>k;
	int cnt=0;
	if(k>=n)
	{
		if(n==1)cout<<0<<endl;
		else cout<<1<<endl;
		return ;
	}
	while(n>k)
	{
		n=n-(k-1);
		cnt++; 
	}
	if(n!=0)cnt++;
	cout<<cnt<<endl;
	return ;	
}
int main()
{
    int t;cin>>t;
    while(t--)
	{
		solve();
	} 
    return 0;
}

B贪心(+双指针)【补题】

思路:多个连续的0当作一个0,一个1还是一个1。
egg:
100111001
cnt0=2,cnt1=5

冗余代码(我的):

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 2e5+10;
int a[N];
void solve()
{
	int n;cin>>n;
	int cnt1=0,cnt0=0;
	string s;cin>>s;
	for(int i=0;i<n;i++)a[i]=s[i]-'0';
	int f0=0;
	for(int i=0;i<n;i++)
	{
		if(a[i]==1)
		{
			if(f0==1)cnt0++;
			cnt1++;
			f0=0;
		}
		else
		{
			f0=1;
		}
	}
	if(a[n-1]==0)cnt0++;
	if(cnt1>cnt0)cout<<"YES"<<endl;
	else cout<<"NO"<<endl;
//	cout<<"num0:"<<cnt0<<","<<"num1:"<<cnt1<<endl;
}
int main()
{
    int t;cin>>t;
    while(t--)
	{
		solve();
	} 
    return 0;
}

大佬:双指针代码

指针i慢指针,指针j快指针

#include<bits/stdc++.h>
using namespace std;
char s[200005];
int main(){
	int T;
	scanf("%d",&T);
	while(T--){
		int n;
		scanf("%d",&n);
		scanf("%s",s+1);
		int c0=0,c1=0;
		for(int i=1;i<=n;){
			int j=i;
			while(j<=n&&s[j]==s[i])++j;
			if(s[i]=='0')++c0;
			else c1+=j-i;
			i=j;
		}
		puts(c1>c0?"Yes":"No");
	}
	return 0;
}

借鉴后代码

#include<bits/stdc++.h>
using namespace std;
char s[200005];
int main(){
	int T;
	scanf("%d",&T);
	while(T--){
		int n;
		scanf("%d",&n);
		scanf("%s",s+1);
		
		if(s[n]=='0')s[n+1]='1';
		else s[n+1]='0';
		
		int c0=0,c1=0;
		for(int i=1,j=1;i<=n+1;)
		{
			if(s[i]==s[j])i++;
			else
			{
        		if(s[j]=='1')c1+=i-j;
		    	else c0++;			    
		    	j=i;
			}
		}
// 		cout<<"num0:"<<c0<<","<<"num1:"<<c1<<endl;
		puts(c1>c0?"Yes":"No");
	}
	return 0;
}

C异或问题【补题】

存在n,输出最长数组a,使得 a[i] | a[i+1]=n
a,b,c,d,e
a|b=b|c=c|d=d|e=n
思路:将n变成二进制数,例如:n=23=16+4+2+1=10111
答案:23,23-1,23-2,23-4,23-16【23,22,21,19,6】
若n=1,2,4,8,16,32,64等,答案:n

#include <iostream>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std;
const int N = 1e5+10;
long long a[N];
long long lowbit(long long n)
{
    return -n&n;
}
void slove()
{
    long long n;cin>>n;
    long long k=0,t=n;
    if(lowbit(t)==n)
    {
        cout<<1<<endl;
        cout<<n<<endl;
        return;
    }
    a[k++]=n;    
    while(t!=0)
    {
        a[k++]=n-lowbit(t);
        t=t-lowbit(t);
    }
    cout<<k<<endl;
    for (int i = k-1; i >=0; i -- )cout<<a[i]<<" ";
    cout<<endl;
}
int main()
{
    int t;cin>>t;
    while(t--)
    {
        slove();
    }
   return 0;
    
}

标签:958,AC,23,int,cin,long,++,补题,include
From: https://blog.csdn.net/qq_52384627/article/details/140772136

相关文章

  • 在Centos7中使用一键脚本安装Oracle11g
    在Centos7中使用一键脚本安装Oracle11g1.环境准备1.1系统版本:Centos7.9(2009)1.2Oracle版本:Oracle11g11.2.0.41.3网络需求:可以连接互联网1.4一键安装:curl-ooracle_install.shhttps://files-cdn.cnblogs.com/files/blogs/827077/oracle_install.sh?t=1722301473&&c......
  • Oracle内置SQL函数
    Oracle内置SQL函数F.1字符函数——返回字符值这些函数全都接收的是字符族类型的参数(CHR除外)并且返回字符值.除了特别说明的之外,这些函数大部分返回VARCHAR2类型的数值.字符函数的返回类型所受的限制和基本数据库类型所受的限制是相同的,比如:VARCHAR2数值被限制为2000字符(O......
  • 逻辑漏洞复现(pikachu靶场,大米cms)
    逻辑漏洞漏洞介绍1.成因逻辑漏洞是指由于程序逻辑不严或逻辑太复杂,导致一些逻辑分支不能够正常处理或处理错误,一般出现任意密码修改(没有旧密码验证)、越权访问、密码找回、交易支付金额等。2.分析对常见的漏洞进行过统计,发现其中越权操作和逻辑漏洞占比最高,很多平台中基......
  • ActiViz基础完整教程导航 (订阅免费赠送最新ActiViz 9.3源码)
    ActiViz基础完整教程导航(订阅免费赠送最新ActiViz9.3源码)1.ActiViz中的灯光2.ActiViz中的相机3.ActiViz中的角色4.ActiViz中的管线机制5.ActiViz中的颜色映射表vtkLookupTable6.ActiViz中的数据对象vtkDataObject7.ActiViz中的数据对象vtkDataSet8.ActiV......
  • 易基因:m6A/m5C/m1A/m7G/ac4C/Ψ等8种RNA修饰的生物学功能和潜在机制
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。RNA修饰近来已成为热门话题,它们通过影响RNA生成、转运、功能和代谢等过程,是细胞生物学的关键调节因子。本文介绍了包括N6-甲基腺苷(m6A)、5-甲基胞嘧啶(m5C)、N1-甲基腺苷(m1A)、N7-甲基鸟苷(m7G)、N4-乙酰胞嘧啶(ac4C)、假尿苷......
  • adobe acrobat DC如何彻底解决自动更新的问题
    有客户反应已经按照adobeacrobatDC下载安装界面的教程删除了升级文件,但是还是会时不时的跳出更新,只能重新安装,有没有其他的更好的方法呢?解决方法如下:一、首先删除/Library/ApplicationSupport/Adobe/ARMDC/Application路径下的update文件,具体方法如下:1.点击左上角前往,选择前......
  • 快速开启react+electron应用,搭建启动问题
    注意:React本地启动在3000端口Electron在创建BrowserWindow的时候,可以读取本地的文件或者是url开发环境读取localhost:3000生产环境需要加载本地成型以后的本地文件,打包的时候再考虑一react脚手架create-react-app快速搭建reactnpxcreate-react-appmy-ap......
  • js-数组内置函数-filter、map、forEach、reduce
    1、过滤数组-filter筛选数组元素,并生成新数组//过滤出分数为60分以上的数据<script>constarr=[{'name':'张三','score':80},{'name':'张六','score':50},{'name':'李四','score&#......
  • [USACO1.5] 八皇后 Checker Challenge 题解
    [USACO1.5]八皇后CheckerChallenge题目描述一个如下的\(6\times6\)的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列\(2\4\6\1\3\5\)来描述,第\(i\)个数字表示在......
  • macOS Sonoma 14.6 (23G80) 正式版发布,ISO、IPSW、PKG 下载
    macOSSonoma14.6(23G80)正式版发布,ISO、IPSW、PKG下载2024年7月30日凌晨,macOSSonoma14.6发布,本更新提供了重要的错误修复和安全更新,建议所有用户安装。同时带来了macOSVentura13.6.8和macOSMonterey12.7.6安全更新。请访问原文链接:https://sysin.org/blog/......