首页 > 其他分享 >20240706比赛总结

20240706比赛总结

时间:2024-07-06 20:53:03浏览次数:22  
标签:总结 20240706 int ll ans mid printf include 比赛

题外话:IOI赛制的一大好处是可以猜解法,密码已改,不要试图jc我

T1 公式求值

根据样例解释,显然在不进位的情况下,倒数第一位是所有位上数字的总和,倒数第二位是所有位上数字的总和减去最后一位的数字

以此类推,显然前缀和,在处理一下进位即可

代码:

#include<cstdio>
#include<string>
#include<iostream>
using namespace std;
int n,ans[1000005],sum[500005],cnt;
string s;
int main()
{
	cin>>s;
	n=s.size();
	s=" "+s;
	for(int i=1;i<=n;i++)
	{
		sum[i]=s[i]-'0';
		sum[i]+=sum[i-1];
	}
	for(int i=1,j=n;i<=n;i++,j--)
	{
		ans[i]=sum[j];
	}
	for(int i=1;i<=n;i++)
	{
		ans[i+1]+=ans[i]/10;
		ans[i]=ans[i]%10;
	}
	cnt=n;
	while(ans[cnt+1])
	{
		cnt++;
		ans[cnt+1]=ans[cnt]/10;
		ans[cnt]%=10;
	}
	for(int i=cnt;i>0;i--)
	{
		printf("%d",ans[i]);
	}
	return 0;
}

T2 最长的Y

https://gxyzoj.com/d/hzoj/p/3736

当Y的个数和位置确定时,根据绝对值的几何意义,显然当终点在中间时是操作次数最小

此处可以用前缀和然后枚举中间点

然后考虑长度,因为当x可以完成时,x-1显然可以,所以直接二分即可

代码:

#include<cstdio>
#include<string>
#include<iostream>
#include<algorithm>
#define ll long long
using namespace std;
int n,p[200005],cnt;
ll k,sum[200005];
string s;
bool check(int x)
{
	int mid=(x+1)>>1;
	int l=mid-1,r=x-mid;
	ll t1=l*(l+1)/2,t2=r*(r+1)/2,ans=1e18+1;
	for(int i=mid;i<=cnt-r;i++)
	{
		ll l_step=p[i]*l-sum[i-1]+sum[i-mid]-t1;
		ll r_step=sum[i+r]-sum[i]-p[i]*r-t2;
	//	printf("%d %d %d\n",i,l_step,r_step);
		ans=min(ans,l_step+r_step);
	}
	if(ans<=k) return 1;
	return 0;
}
int main()
{
	cin>>s;
	scanf("%lld",&k);
	n=s.size();
	for(int i=1;i<=n;i++)
	{
		if(s[i-1]=='Y') p[++cnt]=i;
	}
	for(int i=1;i<=cnt;i++)
	{
		sum[i]=sum[i-1]+p[i];
	}
	int l=1,r=cnt;
	while(l<r)
	{
		int mid=(l+r+1)>>1;
	//	printf("%d\n",mid);
		if(check(mid))
		{
			l=mid;
		}
		else r=mid-1;
	}
	printf("%d",l);
	return 0;
}

标签:总结,20240706,int,ll,ans,mid,printf,include,比赛
From: https://www.cnblogs.com/wangsiqi2010916/p/18287893

相关文章

  • 比赛获奖的武林秘籍:03 好的创意选取-获得国奖的最必要前提
    比赛获奖的武林秘籍:03好的创意选取-获得国奖的最必要前提摘要本文主要介绍了大学生电子计算机类比赛和创新创业类比赛创意选取的重要性,并列举了好的创意选取和坏的创意选取的例子,同时说明了好的创意选取具有哪些特点,同时对常见的创意选取途径与来源进行了基本介绍。正文好的......
  • 比赛获奖的武林秘籍:03 好的创意选取-获得国奖的最必要前提
    比赛获奖的武林秘籍:03好的创意选取-获得国奖的最必要前提摘要本文主要介绍了大学生电子计算机类比赛和创新创业类比赛创意选取的重要性,并列举了好的创意选取和坏的创意选取的例子,同时说明了好的创意选取具有哪些特点,同时对常见的创意选取途径与来源进行了基本介绍。正文......
  • 小白学python的第一周总结
    一、常用的cmd指令cmd指令cls清屏cdcd..返回上一级;cd.当前目录;D:(把冒号前方的字符更改为盘符名称表示切换盘符)dir列出当前目录下的文件和子目录ipconfig显示网络配置信息;查看电脑的ip地址 二、运算符    运算符包括:算数运算符、赋值运算符、比较运......
  • 暑假第一周总结(6.29-7.7)
    时间是残酷的,从来不愿停下脚步等一等谁在石铁大的第一年结束了,成功分流到软工系的我迎来了第一次大学暑假(可能也是最后一次暑假)。回首这一年,自己没走上自己预期的道路,尽管经历师长前辈名言警句的洗礼,仍旧困顿于过往,既然意识到这一切的不正确,那么就痛定思痛,让一切回到正轨!///......
  • 【2023-2024第二学期】助教工作学期总结——数字电路与逻辑设计助教
    一、助教工作的具体职责和任务协助教师引导大一转专业学生如何学习本门课程,收集学生问题、定期答疑、协助教师批改作业并跟踪作业完成情况,实验指导,改进课程建设。指导学生学习《数字电路与逻辑设计》。并指导学生完成《数字电路与逻辑设计实验》。二、助教工作的每周时长和具体......
  • 助教工作学期总结
    一、助教工作的具体职责和任务老师的配合:    协助老师完成作业的批改、作业的评分、登记成绩二、助教工作的每周时长和具体安排    没有固定的工作时间和具体安排,在布置的作业截至后对作业进行批改、评分;大作业答辩前安排好答辩名单,课程结课后按照老师要求完成成绩录......
  • 【2023-2024第二学期】助教工作学期总结(教务处助教)
    一、助教工作的具体职责和任务帮助老师整理试卷以及存放协助老师做会议记录表二、助教工作的每周时长和具体安排每周工作时间不定,一般情况下由老师通知,课余时间随叫随到,具体安排是做会议记录表和其他事情三、对助教工作反思第一,工作时要细心,不要贪图一时快,要细心照顾每一个......
  • 助教工作学期总结
    一、助教工作的具体职责和任务1.老师的配合:协助老师将2023年下学期试卷整理入库2.与课程其他助教的配合:共同完成了2023年下学期期末试卷的装订二、助教工作的每周时长和具体安排没有特定的工作时间及每周具体安排,一般是课余时间老师需要随叫随到三、因为......
  • 暑假第一周总结
    弗洛伊德基本思想弗洛伊德算法作为求最短路径的经典算法,其算法实现相比迪杰斯特拉等算法是非常优雅的,可读性和理解都非常好。基本思想:弗洛伊德算法定义了两个二维矩阵:矩阵D记录顶点间的最小路径例如D[0][3]=10,说明顶点0到3的最短路径为10;矩阵P记录顶点间最小路径中的中转点......
  • js中数组方法总结
    改变原数组的方法有:栈方法push:数组末尾追加任意数量的元素,返回修改后数组的长度pop:数组末尾移除最后一项,返回移除的项队列方法unshift:数组前端添加任意个项并返回新数组的长度shift:移除数组中的第一项并返回改该项重排序方法sort:默认情况按照升序排列数组reserve:翻......