[SRM603] WinterAndSnowmen
2024-05-11 04:06:39
Description
Sol
设 \(A=\text{XOR}(X)\),\(B=\text{XOR}(Y)\)。
因为 \(A<B\),所以写下他们的二进制表示,一定是最高的几位先是相等,紧接着有一位 \(A=0\) 而 \(B=1\),后边就随意了。
嗯那我们可以枚举 \(A\) 和 \(B\) 二进制的 \(LCP\) 长度,这样计数就不重不漏了。
设当前枚举的长度为 \(p\), \(f[i][j][0/1][0/1]\) 表示决策完数字 \(i\),\(A\) 的前 \(p\) 位异或上 \(B\) 的前 \(p\) 位的结果为 \(j\),\(A/B\) 的第 \(p-1\) 位为 \(0/1\)。
转移就是决策当前数字填在哪个集合,最后的答案就是 \(f[n][0][0][1]\)。
Code
#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
typedef double db;
typedef long long ll;
const int mod=1e9+7;class WinterAndSnowmen{
public:int f[2005][2049][2][2];int getNumber(int n,int m){int ans=0,mx=max(n,m);for(int i=11;i;i--){memset(f,0,sizeof f);f[0][0][0][0]=1;for(int j=1;j<=mx;j++){for(int p=0;p<1<<(11-i);p++){for(int a=0;a<2;a++){for(int b=0;b<2;b++){f[j][p][a][b]=f[j-1][p][a][b];if(j<=n) f[j][p][a][b]=(f[j-1][p^(j>>i)][a^(j>>i-1&1)][b]+f[j][p][a][b])%mod;if(j<=m) f[j][p][a][b]=(f[j-1][p^(j>>i)][a][b^(j>>i-1&1)]+f[j][p][a][b])%mod;}}}} (ans+=f[mx][0][0][1])%=mod;} return ans;}
};
转载于:https://www.cnblogs.com/YoungNeal/p/10396526.html
[SRM603] WinterAndSnowmen相关推荐
- 【做题】TCSRM601 Div1 500 WinterAndSnowmen——按位考虑dp
原文链接https://www.cnblogs.com/cly-none/p/9695526.html 题意:求有多少对集合\(S,T\)满足:\(S \subseteq \{1,2...n \}, ...
- idea生成有参构造的快捷键,idea生成有参构造的快捷键_Idea_学习_09_Idea 方法自动生成参数默认名...
关于SQL递归查询在不同数据库中的实现方法 比如表结构数据如下: Table:Tree ID Name ParentId 1 一级 0 2 二级 1 3 三级 2 4 四级 3 SQL SERV ...
- Winter And Snowmen
https://vjudge.net/problem/TopCoder-12891 暴力想法是:dp[i][s1][s2]前i个,第一个集合xor是s1,第二个集合xor是s2方案数O(n^3) 有x ...
最新文章
- 关于Jvm知识看这一篇就够了
- php elasticsearch ik,elasticsearch 中文分词(elasticsearch-analysis-ik)安装
- java递归获取文件名_递归打印文件名
- 6425C-Lab11 配置DNS
- ASP.NET MVC之从控制器传递数据到视图四种方式(一)
- Stanford机器学习笔记-4. 神经网络Neural Networks (part one)
- Redis 是如何执行的?
- Android获得全局进程信息以及进程使用的内存情况
- Coolite中的ComboBox控件示例
- 微信小程序实战之 goods(订餐页)
- C++多线程传参详解
- 网页上传大文件被限制,如何设置配置文件
- 辰星人才 | 旷视实习生鲁盼:UCLA朱松纯准博士,两年七篇顶会论文
- 何苦蹲点预售抢交尾款 这款电竞游戏显示器就超值
- 自动切图生成html,Photoshop如何实现UI自动切图?_html/css_WEB-ITnose
- 制作Win10安装U盘(量产PE+UEFI)双引导
- 实现Swap函数,将两个数交换
- ecplise提示:“The selection cannot be launched, and there are no recent launches.”
- NMEA1803协议3.0版本及以上说明
- python爬虫 爬取360图片(非结构化数据)
热门文章
- Python+Appium自动化测试-通过坐标定位元素
- 爬取B站视频 - m4s文件的相关研究
- Three.js盖房子 点击开关门
- [汇编] 在屏幕中央显示时钟
- 前端页面嵌入word文档_word文档怎样加页面
- 解决Qt5.7.0 cannot find -lGL
- 603. Consecutive Available Seats
- k线符号图解大全_八种常见的K线符号
- ictclas java 64_ICTCLAS分词系统在win7 64 java平台下环境搭建
- Python pip distribute