专栏文章

真真随机

P12335题解参与者 8已保存评论 7

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
7 条
当前快照
1 份
快照标识符
@miq17puj
此快照首次捕获于
2025/12/03 21:17
3 个月前
此快照最后确认于
2025/12/03 21:17
3 个月前
查看原文
直接吹水即可。
考虑人类智慧,如果我们拿第 22 个点和第 44 个点作为数值的存储器,把这两个数记为 a,ba,b
RRLL 这一操作可以把 aa+2ba\leftarrow a+2bRL 这一操作可以 aa+b,b2ba\leftarrow a+b,b\leftarrow 2b
用这两个操作可以作为一种新型的二进制,其除了第一位以外都可以填 1122,第一位只能填 11
显然这种新二进制和正常二进制的构造方法是一模一样的,但是由于第一位只能填 11,所以如果最后要求是偶数的话需要最后再反复利用 RL
应该是有很多做法可以卡进限制里的。
CPP
#include <bits/stdc++.h>
using namespace std;

int x,p,r;
signed main(){
	scanf("%d",&x);
	if(x==0){
		printf("L");
		return 0;
	}
	if(x==1){
		printf("LR");
		return 0;
	}
	while(x%2==0) x>>=1,r++; 
	for(int i=0;i<31;i++){
		if((x>>i)&1) p=i;
	}
	x-=(1<<p)-1;
	printf("L");
	for(int i=0;i<p;i++){
		if((x>>(i+1))&1) printf("RRLL");
		printf("RL");
	}
	printf("L");
	while(r--) printf("RL");
	printf("R");
	return 0;
} 
这也是题?这也是题?这也是题?这也是题?这也是题?这也是题?这也是题?这也是题?这也是题?
小 D 发现一些比较简洁的函数生成的字符串具有某种伪随机性质,请你看看他说的是否有道理!

评论

7 条评论,欢迎与作者交流。

正在加载评论...