Palindrome Function
题意分析
给定左区间和右区间在k进制下是回文数有多少
分析
考虑每一个进制下的区间合法方案
代码
/*made in mrd*/
#include
using namespace std;
const int N=2e5+10;
#define int long long
#define mem(a,b) memset(a,b,sizeof a)
#define fi first
#define se second
#define lu u<<1
#define ru u<<1|1
#define pb push_back
#define bug1(x) cout<
#define bug3(x,y,z) cout<=0) return f[pos][len][bit];
    int end=limit?s[pos]:bit-1;
    int res=0;
    for(int i=0;i<=end;i++)
    {
        q[pos]=i;
        if(i==0&&zero) res+=dfs(pos-1,len-1,limit&&i==s[pos],zero,ok);
        else if(pos>len/2) res+=dfs(pos-1,len,limit&&i==s[pos],0,1);
        else if(i==q[len-pos+1]) res+=dfs(pos-1,len,limit&&i==s[pos],0,1);
    }
    if(!limit&&!zero) f[pos][len][bit]=res;
    return res;
}
int dp(int x)
{
    len =0;
    while(x)
    {
        s[++len]=x%bit;
        x/=bit;
    }
    return dfs(len,len,1,1,1);
}
signed main() {
    cin>>n;
    mem(f,-1);
    int t=1;
    while(n--)
    {
        int res=0;
        cin>>a>>b>>c>>d;
        for(int i=c;i<=d;i++)
        {
            bit=i;
            int cnt=(dp(b)-dp(a-1));
            res=res+cnt*i+(b-a+1-cnt);
        }
        cout<<"Case #"< .│? /│  Shift   │     │ ↑ │     │ 1 │ 2 │ 3 │   │
* ├─────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ E││
* │ Ctrl│ Win│ Alt│         Space         │ Alt│ Win│Menu│Ctrl│ │ ← │ ↓ │ → │ │   0   │ . │←─┘│
* └─────┴────┴────┴───────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
*/
Xor
分析

代码
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
C - Sum of Log
题意
两个数x,y&起来==0并且 求log(x+y)+1;
分析
数位dp
dp[wei][flag][lim1][lim2]
代码
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include