
N进制运算
Forward in time
永不停止前进
展开
-
C0024 [1999提高组-B]回文数(N进制数运算)
就是用数组实现N进制运算(基础运算必须掌握);主要是注意10进制以上的会有字母表示(大写或者小写):#include<bits/stdc++.h>using namespace std;typedef long long ll;char s[100];ll a[100],b[100],Sa,Sb,N;void Change(){//把字符转化为整数//注意字母问题 l...原创 2019-08-03 23:40:52 · 291 阅读 · 0 评论 -
^&^(位运算优先级)
比赛的签到题:因为位运算符优先级为:逻辑运算符优先级为:所以题的公式可化为:位运算:~按位取反,&相同才为1,^不同才为1,|是有1则1;如果A&B大于0,那么C最小就是A^B,(因为相同的异或就是0);//这些都是根据位运算规则知道的;如果A&B为0,因为C必须是>0的整数,并且算一下就可以知道结果可以为0:因为当C=min(A,B)的时候;就可以...原创 2019-08-23 18:56:11 · 1575 阅读 · 0 评论 -
A. BowWow and the Timetable(二,四进制+思维)
题意:给一个二进制串(没有前导0),求4的K次幂(k>=0)中使得4^k<=s的不同的k值;这个题我拿着就想着直接枚举不就完了?因为:但是精度问题,所以我就放弃了这个写法;之后发现这个问题:也就是这个意思:这就发现规律了,就是每隔1个就是一个4^k;所以我可以发现:意思就是全为1时不会超过只有第一个为1时的两倍;这个地方就很关键了;所以我就可以用长度来判断了:如...原创 2019-08-21 19:03:33 · 172 阅读 · 0 评论 -
A. You Are Given Two Binary Strings...(二进制思维题)
题意很简单就是给你x和y转成二进制:f(x)和g(y)然后求最小的k使得;ans=f(x)+g(y)*2^k的二进制结果反转后最小值;很明显直接reverse然后找第二个对应的第一个串的第一个1;为什么呢?理由:因为2^k二进制表示为:然后根据二进制运算:这个相当于就是十进制里面的乘10;因为比如(11)2乘上2^k:然后拿第一个案例举例:1010翻转0101那么我需要把最高...原创 2019-08-17 22:37:38 · 627 阅读 · 0 评论