老年选手需要多写一些思维题qwq。

通过打表很容易发现对于(i,j),值为(i-1)^(j-1)+1,然后本题就没了qwq。

矩阵差分还是很容易想到的,容斥成四个矩阵。

然后看到异或很容易想到三件事:数位DP、字典树、线性基。很容易发现后两种与本题不符,就是数位DP了,从高位到低位DP,f[i][0/1][0/1][0/1]表示到第i位,当前的x、y、x^y是否达到上界,然后直接暴力枚举当前位即可。因为q<=1e4怕memset多了出事,我用了滚动数组qwq。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=3e5+,mod=1e9+;
int f[][][][],g[][][][];
void add(int&x,int y){x=x+y>=mod?x+y-mod:x+y;}
ll work(int n,int m,int k)
{
if(n<||m<)return ;
memset(f,,sizeof f),memset(g,,sizeof g);
int p=;
g[][][][]=;
for(int i=;~i;i--)
{
int x=n>>i&,y=m>>i&,z=k>>i&;
for(int j=;j<=;j++)
for(int k=;k<=;k++)
for(int l=;l<=;l++)
if(g[p^][j][k][l])
{
for(int X=;X<=(x|(!j));X++)
for(int Y=;Y<=(y|(!k));Y++)
if((X^Y)<=z||!l)
{
add(f[p][j&(X==x)][k&(Y==y)][l&((X^Y)==z)],(f[p^][j][k][l]+1ll*g[p^][j][k][l]*((X^Y)<<i)%mod)%mod);
add(g[p][j&(X==x)][k&(Y==y)][l&((X^Y)==z)],g[p^][j][k][l]);
}
f[p^][j][k][l]=g[p^][j][k][l]=;
}
p^=;
}
int ans=;
for(int j=;j<=;j++)
for(int k=;k<=;k++)
for(int l=;l<=;l++)
add(ans,(f[p^][j][k][l]+g[p^][j][k][l])%mod);
return ans;
}
int main()
{
int T;scanf("%d",&T);
while(T--)
{
int ax,ay,bx,by,k;scanf("%d%d%d%d%d",&ax,&ay,&bx,&by,&k);
ax--,ay--,bx--,by--,k--;
printf("%lld\n",((work(bx,by,k)-work(ax-,by,k)-work(bx,ay-,k)+work(ax-,ay-,k))%mod+mod)%mod);
}
}

CF809C(找规律+数位DP)的更多相关文章

  1. 找规律/数位DP HDOJ 4722 Good Numbers

    题目传送门 /* 找规律/数位DP:我做的时候差一点做出来了,只是不知道最后的 is_one () http://www.cnblogs.com/crazyapple/p/3315436.html 数 ...

  2. 2017年icpc西安网络赛 Maximum Flow (找规律+数位dp)

    题目 https://nanti.jisuanke.com/t/17118 题意 有n个点0,1,2...n-1,对于一个点对(i,j)满足i<j,那么连一条边,边权为i xor j,求0到n- ...

  3. Codeforces D. Little Elephant and Interval(思维找规律数位dp)

    题目描述: Little Elephant and Interval time limit per test 2 seconds memory limit per test 256 megabytes ...

  4. Codeforces Round #260 (Div. 2) A , B , C 标记,找规律 , dp

    A. Laptops time limit per test 1 second memory limit per test 256 megabytes input standard input out ...

  5. hdu 4722 Good Numbers 规律 数位dp

    #include<iostream> #include<cstring> #include<cstdio> #include<vector> #incl ...

  6. 剑指 Offer 44. 数字序列中某一位的数字 + 找规律 + 数位

    剑指 Offer 44. 数字序列中某一位的数字 Offer_44 题目描述 题解分析 java代码 package com.walegarrett.offer; /** * @Author Wale ...

  7. HDU - 4722 Good Numbers 【找规律 or 数位dp模板】

    If we sum up every digit of a number and the result can be exactly divided by 10, we say this number ...

  8. HDU 4588 Count The Carries 数位DP || 打表找规律

    2013年南京邀请赛的铜牌题...做的非常是伤心.另外有两个不太好想到的地方.. ..a 能够等于零,另外a到b的累加和比較大.大约在2^70左右. 首先说一下解题思路. 首先统计出每一位的1的个数, ...

  9. UVALive - 6575 Odd and Even Zeroes 数位dp+找规律

    题目链接: http://acm.hust.edu.cn/vjudge/problem/48419 Odd and Even Zeroes Time Limit: 3000MS 问题描述 In mat ...

随机推荐

  1. weex框架

    weex优势: (1)支持ES6规范 (2)性能优异,开发简介标准,提及小巧. (3)跨平台 weex调试工具:weexplayground weex环境搭建: (1)安装 node.js.npm ( ...

  2. mongodb replication set 主从切换

    今天被问到mongodb副本集主从切换的问题,然后发现没有相关命令的中文文档,这里翻译记录一下 rs.stepDown() rs.stepDown(stepDownSecs, secondaryCat ...

  3. 【Java Spring 进阶之路 】1.Spring 是什么?

  4. 覆盖.project

    <?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name ...

  5. 大二暑假第一周总结--初次安装配置Hadoop

    本次配置主要使用的教程:http://dblab.xmu.edu.cn/blog/install-hadoop-in-centos/ 以下是自己在配置中的遇到的一些问题和解决方法,或者提示 一.使用虚 ...

  6. 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring JDK动态代理

    JDK 动态代理是通过 JDK 中的 java.lang.reflect.Proxy 类实现的.下面通过具体的案例演示 JDK 动态代理的使用. 1. 创建项目 在 MyEclipse 中创建一个名称 ...

  7. spring boot 生命周期初探

    1.MytestApplication package com.gomepay; import org.springframework.boot.Banner; import org.springfr ...

  8. 组件state

    一.设计合适的state 1.1 定义: state代表一个组件UI呈现的完整状态 stae代表一个组件UI呈现的最小状态集[所有状态都用于组件UI的变化,没有任何多余的状态] 1.2 state和p ...

  9. POJ 1129:Channel Allocation 四色定理+暴力搜索

    Channel Allocation Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 13357   Accepted: 68 ...

  10. k8s安装helm

    1.客户端安装 A.直接在github上下载二进制文件进行解压,下载地址:https://github.com/kubernetes/helm/releases B.将解压出来的二进制文件helm 拷 ...