CF1245F Daniel and Spring Cleaning

题意:

给定l,r,求∑a=lr∑b=lr[a+b=a⊕b]\sum_{a=l}^{r}\sum_{b=l}^{r}[a+b=a⊕b]∑a=lr​∑b=lr​[a+b=a⊕b]

题解:

对于这个式子,只有当a和b都不为0时成立,也就是我们不求
对于这个式子有f(x,y)=f(y,x)
考虑差分,f(r,r)-f(l-1,r)-f(r,l-1)+f(l-1,l-1)
答案为:f(r,r)-2f(l-1,r)+f(l-1,l-1)
数位dp转移即可,数位dp还是dfs的转移好写

代码:

#include <bits/stdc++.h>
#include <unordered_map>
#define debug(a, b) printf("%s = %d\n", a, b);
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> PII;
clock_t startTime, endTime;
//Fe~Jozky
const ll INF_ll= 1e18;
const int INF_int= 0x3f3f3f3f;
void read(){};
template <typename _Tp, typename... _Tps> void read(_Tp& x, _Tps&... Ar)
{x= 0;char c= getchar();bool flag= 0;while (c < '0' || c > '9')flag|= (c == '-'), c= getchar();while (c >= '0' && c <= '9')x= (x << 3) + (x << 1) + (c ^ 48), c= getchar();if (flag)x= -x;read(Ar...);
}
template <typename T> inline void write(T x)
{if (x < 0) {x= ~(x - 1);putchar('-');}if (x > 9)write(x / 10);putchar(x % 10 + '0');
}
void rd_test()
{#ifdef ONLINE_JUDGE
#elsestartTime = clock ();freopen("data.in", "r", stdin);
#endif
}
void Time_test()
{#ifdef ONLINE_JUDGE
#elseendTime= clock();printf("\nRun Time:%lfs\n", (double)(endTime - startTime) / CLOCKS_PER_SEC);
#endif
}
const int maxn=50;
ll dp[maxn][2][2][2];
int b[maxn],a[maxn];
ll dfs(int len,int flag1,int flag2,int flag3){if(!len){return flag3;}if(dp[len][flag1][flag2][flag3]!=-1)return dp[len][flag1][flag2][flag3];ll res=0;int up1=flag1?a[len]:1;int up2=flag2?b[len]:1;for(int i=0;i<=up1;i++){for(int j=0;j<=up2;j++){bool F=flag3;if((i&j)!=0)F=0;res+=dfs(len-1,(i==up1)&&flag1,(j==up2)&&flag2,F);}}return dp[len][flag1][flag2][flag3]=res;
}ll solve(ll x,ll y){if(x<0||y<0)return 0;int num1=0,num2=0; memset(dp,-1,sizeof(dp));for(int i=0;i<=40;i++){a[i]=0;b[i]=0;}while(x){a[++num1]=x%2;x/=2;}while(y){b[++num2]=y%2;y/=2;}ll ans=dfs(32,1,1,1);return ans;
}
int main()
{rd_test();int t;read(t);while(t--){ll l,r;read(l,r);cout<<solve(r,r)-2ll*solve(l-1,r)+solve(l-1,l-1)<<endl;}return 0;//Time_test();
}

CF1245F Daniel and Spring Cleaning(等会了更新)相关推荐

  1. Spring Data JPA 禁止自动更新

    公司的项目后台架构是SpringBoot + Spring Date JPA,采用MySQL数据库.在工作刚开始时就遇到了一个奇怪的现象.在采用Date JPA查询完数据库之后,若改变了查询出的对象属 ...

  2. Spring Boot 2.0 都更新了什么

    Spring Boot 2.0 都更新了什么 2018 年 3 月 1 号 Spring Boot 2.0.0.RELEASE 正式发布,这是 Spring Boot 1.0 发布 4 年之后第一次重 ...

  3. SPOJ Ada and Spring Cleaning(hash)

    思路:先计算出前k个字符组成的子串的哈希值,再根据哈希值及递推关系 具体代码参考: https://github.com/wuli2496/OJ/blob/master/spoj/Ada%20and% ...

  4. Spring基础面试题-同步更新

    谈谈你对IOC 和 AOP 的理解?他们的实现原理是什么? IOC 叫做控制反转,指的是通过Spring来管理对象的创建.配置和生命周期,这样相当于把控制权交给了Spring,不需要人工来管理对象之间 ...

  5. Spring Jdbc模板插入、更新和删除示例

    在Spring框架中数据访问的文章中,我们已经看到了Spring如何为各种持久性方法提供模板,以及模板如何将数据访问代码划分为固定部分和可变部分.Spring框架管理固定部分的地方,用户提供的自定义代 ...

  6. 【数位DP】CF 54C,509C,431D,628D,855E,1245F,95D

    这一次有题解了!! T1:CF54C First Digit Law title solution code T2:CF509C Sums of Digits title solution code ...

  7. CF Round597 Div.2

    C. Constanze's Machine 题意:有一个键盘,你敲w的时候就弹出uu,你敲m的时候就弹出nn,其他正常.现在给你一个用该键盘敲出的字符串,问你原字符串有多少种可能. 思路:首先字符串 ...

  8. Codeforces Round #597 (Div. 2) - BenFromHRBUST

    Codeforces Round #597 (Div. 2) -----比赛传送门----- A - Good ol' Numbers Coloring Problem Description Con ...

  9. spring boot application.properties 属性详解

    2019年3月21日17:09:59 英文原版: https://docs.spring.io/spring-boot/docs/current/reference/html/common-appli ...

最新文章

  1. PHP:isset()-检测变量是否被设置
  2. 用它调试线上 bug,真得劲 | webconsole
  3. 柏拉图-理想国(西方哲学的源头)-教你如何思考人生 思考世界 思考社会
  4. html登录界面cookie,HTML中使用cookie保存登录账户
  5. 设计模式 — 行为型模式 — 迭代器模式
  6. js基础练习题 二次封装函数
  7. php获取ip几种方法区别,php获取客户端IP地址的几种方法
  8. Android Binder 分析——数据传递者(Parcel)
  9. Mysql日期和时间函数
  10. Intel Core Enhanced Core架构/微架构/流水线 (10) - 先进存储器访问
  11. Android开发笔记(二十三)文件对话框FileDialog
  12. LVSHAproxyNginx区别
  13. python做一副54扑克牌发牌_用Python制作4人扑克牌发牌游戏
  14. 项目组【网站】的项目
  15. 圆排列问题详解(原理+代码)
  16. 张量处理单元(TPU)
  17. React Fiber 04 - 渲染组件、节点更新、节点删除
  18. 电脑中文件名称字体变颜色怎么解决,由黑色变成蓝色了。。。。。。
  19. [阶段4 企业开发进阶] 5. Netty
  20. 码农翻身讲网络2:TCP协议

热门文章

  1. 大型打脸现场!被藐视的少女摇身一变成为“抽象代数之母”,哲学教授只能跪地喊爸爸...
  2. 过了双十一之后的你。。| 今日最佳
  3. 每日一笑 | 老板,黑凤梨真的能吃吗?
  4. linux ntfs 速度慢,将U盘磁盘格式改成NTFS解决u盘复制速度慢问题
  5. Android带三角形的弹窗,Android实现三角形气泡效果方式汇总
  6. php语言难点,PHP知识难点TOP3,挑战一下你
  7. java 方法执行结束局部变量释放_Java方法执行的内存模型
  8. Typora markdown公式换行等号对齐_下了31个markdown编辑器,我就不信选不出一个好用的...
  9. 机器学习之格式变化——reshape(-1,1)
  10. html标签属性%= %,HTML标签属性集合