首页 > 其他分享 >abc380 赛后总结

abc380 赛后总结

时间:2024-11-17 17:18:50浏览次数:1  
标签:总结 cout read 反转 int abc380 字符串 赛后 define

菜菜菜,不是你怎么这么菜。

A-C

模拟即可。

D

正常的方法

因为不管怎么粘合总是一个字符串在复制,所以我们只用考虑大小写问题。

我们设字符串为 \(A\),被反转大小写的字符串为 \(B\),那么这个字符串会长这样:\(ABBABAABBAABABBA\cdots\),第一个 \(A\) 的位置是 \(0\) 的话,我们可以发现每一个 \(B\) 在二进制中的 \(1\) 的个数为奇数。

证明

我们知道,每一次反转字符串长度会乘 \(2\)。
所以字符串中的每一位象征着是经过多少次反转过后得到的。
所以每个字符串的位置在二进制下的 \(1\) 的个数就是反转大小写的次数,
那么一定是反转奇数次才可以变换样式。

幽默方法

按照上面的方法先找出字符串的样子,发现被反转后的字符串的位置在 \(\{1,2,4,7,8,11,\cdots\}\),丢到 oeis 中找到 A000069,发现规律是二进制中 \(1\) 的个数。

点击查看代码
#include<bits/stdc++.h>
#define int ll
#define mem(a,b) memset((a),(b),sizeof(a))
#define m0(a) memset((a),0,sizeof(a))
#define lb(x) ((x)&-(x))
#define lc(x) ((x)<<1)
#define rc(x) (((x)<<1)|1)
#define pb(G,x) (G).push_back((x))
#define For(a,b,c) for(int a=(b);a<=(c);a++)
#define Rep(a,b,c) for(int a=(b);a>=(c);a--)
#define in1(a) a=read()
#define in2(a,b) a=read(), b=read()
#define in3(a,b,c) a=read(), b=read(), c=read()
#define inn(i,n,a) For(i,1,n) a[i]=read();

#define ll long long
#define i128 __int128

using namespace std;
inline int read() {
	int xx= 0;int f= 1;
	char c = getchar();
	while(c<'0'||c>'9') { 
		if(c=='-') f= -1;
		c= getchar();
	}
	while(c>='0'&&c<='9') {
		xx= (xx<<1)+(xx<<3)+(c^48);
		c= getchar();
	}
	return xx*f;
}
#define maxn 200050
string s;
int q;
signed main() {
	ios::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);
	cin>>s>>q;
	int n=s.size();
	while(q--) {
		int x; cin>>x;
		int a=(x-1)/n;
		int cnt=0; //cout<<a<<':';
		while(a) cnt+=(a&1),a>>=1;
		if(!(cnt&1)) cout<<s[(x-1)%n]<<' ';
		else {
			int i=(x-1)%n;
			if(s[i]>='a') cout<<(char)(s[i]-32)<<' ';
			else cout<<(char)(s[i]+32)<<' ';
		}
	}
}

标签:总结,cout,read,反转,int,abc380,字符串,赛后,define
From: https://www.cnblogs.com/CodingGoat/p/18550780

相关文章

  • 2024-2025-1(20241321)《计算机基础与程序设计》第八周学习总结
    这个作业属于哪个课程<班级的链接>(2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标<深刻学习C语言,反思一周学习,温故知新>作业正文...本博客链接https://www.cnblogs.com/guchu......
  • 2024-2025-1 20241314 《计算机基础与程序设计》第八周学习总结
    2024-2025-120241314《计算机基础与程序设计》第八周学习总结作业信息这个作业属于哪个课程<班级的链接>(2024-2025-1-计算机基础与程序设计)这个作业要求在哪里2024-2025-1计算机基础与程序设计第八周作业这个作业的目标功能设计与面向对象设计面向对象设计过......
  • 2024-2025-1 20241415《计算机基础与程序设计》第八周学习总结
    如2024-2025-120241415《计算机基础与程序设计》第八周学习总结作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里2024-2025-1计算机基础与程序设计第八周作业这个作业的目标功能设计与面向对象设计,面向对象设计过程,面向对象语......
  • USB 1.0、1.1、2.0、3.0、4.0版本的技术鉴定标准,侧重于技术层面的总结:
    要鉴定USB各版本(1.0、1.1、2.0、3.0、4.0)是否以次充好、偷工减料或虚假宣传,涉及的主要领域包括传输速率、电气性能、功耗、兼容性等。通过以下几方面的技术测试和评估可以帮助检测和辨别假冒伪劣的USB产品。1. 传输速率测试检测方法:使用专业的USB测试仪器(如USB协议分析仪、数......
  • 学期2024-2025-1 学号20241416 《计算机基础与程序设计》第8周学习总结
    作业信息|这个作业属于哪个课程|https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP||这个作业要求在哪里|https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08||这个作业的目标|功能设计与面向对象设计,面向对象设计过程,面向对象语言三要素,汇编、编译、解释、执行||作......
  • 学期2024-2025-1 学号20241421 《计算机基础与程序设计》第8周学习总结
    作业信息|这个作业属于哪个课程|https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP||这个作业要求在哪里|https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08||这个作业的目标|功能设计与面向对象设计,面向对象设计过程,面向对象语言三要素,汇编、编译、解释、执行||作......
  • 2024-2025-1 20241329 《计算机基础与程序设计》第八周学习总结
    作业信息作业归属课程:https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08作业目标:功能设计与面向对象设计;面向对象设计过程;面向对象语言三要素;汇编、编译、解释、执行作业正文:https://www.cnblogs.com/inca......
  • Codeforces Round 987 (Div. 2) - 比赛总结
    Preface我是若只。A.PenchickandModernMonument先吃三发罚时。最优策略应当是把所有数都调成众数,然而我一开始就忙着往后面做,胡乱猜了个结论就WA了,又猜了一个又WA了,再猜了一个再WA了。点击查看代码constintN=105;intn,a[N];intmain(){ intT;read(T);......
  • 2024-2025-1 20241417 《计算机基础与程序设计》第八周学习总结
    作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里2024-2025-1计算机基础与程序设计第八周作业这个作业的目标功能设计与面向对象设计,面向对象设计过程,面向对象语言三要素,汇编、编译、解释、执行作业正文https://www.cnblogs.c......
  • # 学期2024-2025-1 学号(20241405) 《计算机基础与程序设计》第8周学习总结
    作业信息|这个作业属于哪个课程|https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP||这个作业要求在哪里|https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08||这个作业的目标|功能设计与面向对象设计,面向对象设计过程,面向对象语言三要素,汇编、编译、解释、执行||作......