首页 > 其他分享 >Gym - 101170H[格雷码规律]

Gym - 101170H[格雷码规律]

时间:2023-05-31 10:06:54浏览次数:37  
标签:格雷 101170H int Gym long scanf 105


题目链接:https://vjudge.net/problem/Gym-101170H

 

解题思路:

如果用一个值给他们做排名,可以发现一个格雷码的值是从高位开始间隔性+,-变化2^(i)-1。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
char a[105],b[105];
int main(){
	int n;
	scanf("%d",&n);
	scanf("%s%s",a,b);
	ll l = 0,r = 0;
	int s = 1;
	for(int i = n; i >= 1; i--){
		if(a[n-i]-'0')
			l += s*((1ll<<(i))-1),s *= -1;
	}
	s = 1;
	for(int i = n; i >= 1; i--){
		if(b[n-i]-'0')
			r += s*((1ll<<(i))-1),s *= -1;
	}

	if(l>r)
		swap(l,r);
	printf("%lld\n",r-l-1);
	return 0;
}

 

标签:格雷,101170H,int,Gym,long,scanf,105
From: https://blog.51cto.com/u_12468613/6384499

相关文章

  • Gym - 101170A[DP+思维]
    题目链接:https://vjudge.net/problem/Gym-101170A 解题思路:首先要确定的是,改变次数最多不会超过2*n次,因为n最多40,所以我们只要改变每个数的前两个最高位,肯定可以让n个数有序。然后我们就可以想办法搞个DP[i][j]表示将前i个数变成有序花了j次的最小值。为什么是最小值呢,维护最小......
  • Gym - 101480J[判环+Hash]
    题目链接:https://vjudge.net/problem/Gym-101480J 解题思路:因为度最多为3所以流量最多不超过3对于在同一个连通块上:flow==1对于在同一个环上(可以看做有向图强连通):flow==2对于某一个点对,删除任意一条边他们还是在同一个环上,说明去掉一个流量他们的流量还是2,所以这种情况:f......
  • Gym - 100851J [随机+01集合]
    题目链接:https://vjudge.net/problem/Gym-100851J 解题思路:出题故意不给501次,就是要让我们去随机找出值为n/2的串,每次最坏的情况随机一个串值是n/2的概率是:约等于0.022。那我们随机400不中的概率是 = 0.000309336,概率非常低,所以几乎是可以找到的。找到之后s串后,同时改变0和i......
  • Gym - 100851L [二分+线性推导]
    题目链接:https://vjudge.net/problem/Gym-100851L 解题思路:根据题目知道,墙的两边是不能放石头的,所以最终的结果肯定会收到两边墙的限制,从而使得答案不会超过1e9+1e5。此外我们再去二分最大高度,一个明显的结论就是以i为最高点建墙的话最少花费肯定是建一个金字塔形的墙面。但由于......
  • Gym - 100519I [NONE]
    题目链接:https://vjudge.net/problem/Gym-100519I 解题思路:先挂在这里#include<bits/stdc++.h>#defineinf0x3f3f3f3fusingnamespacestd;typedeflonglongll;constintmx=3e5+10;boolvis[mx];inttop,pri[mx];voidinit(){ for(inti=2;i<mx;i++){ if(!vis[i......
  • Gym102978C Count Min Ratio 题解
    赛时无人场切。震撼,震撼。学到许多。全程贺zak。首先我们套路推下式子。枚举左边的红蓝球个数,答案即为\[\begin{aligned}&\sum_{b=0}^B\sum_{r=0}^R\binom{b+r}b\binom{B-b+R-r}{B-b}\min(\fracrb,\frac{R-r}{B-b})\\=&\sum_{x=1}^{\fracRB}\sum_{b=0}^B\sum_{r=0}^R\binom......
  • gym.wrappers.Monitor报错,无法使用
    使用gym中的录制功能,报错,具体: >>>importgym>>>gym.wrappers.MonitorTraceback(mostrecentcalllast): File"<stdin>",line1,in<module>AttributeError:module'gym.wrappers'hasnoattribute'Monitor'......
  • Codeforces Gym 103119B - Boring Problem(高斯消元)
    考虑建出AC自动机,朴素做法是高斯消元,\(f_i=\sum\limits_{j=0}^{k-1}f_{to_{i,j}}p_j+1\),复杂度\(O(n^3m^3)\),不能接受。考虑优化高斯消元的过程,我们定义以下节点为“关键点”:根节点对于一个trie树(也就是未经过AC自动机getfail操作得到的树)上有超过两个儿子的节点\(x......
  • GYM104363 2023 ccpc 黑龙江省赛 题解
    比赛链接:https://codeforces.com/gym/104363题解:B//bySkyRainWind#include<bits/stdc++.h>#definemprmake_pair#definedebug()cerr<<"Yoshino\n"#definepiipair<int,int>#definepbpush_backusingnamespacestd;typedeflong......
  • GYM100722C - Ticket to Ride
    首先考虑\(dp_{i,msk}\)表示当前连通了\(msk\)中所有关键点,并且当前连通的非关键点包含\(i\)的最小代价。然后考虑如何转移。我们先用\(Floyd\)预处理所有点对之间的最短路\(dist_{i,j}\)。同时,每次选取的两个用于合并的关键点集合一定没有交集,所以我们可以直接枚举子集......