打表法:

打表前先运行一下 看一看速度

优化: O3 #pragma GCC optimize(3,"Ofast","inline")

O2  #pragma GCC optimize(2)

将一些数据暴力枚举要很久的,就提前打表出来后直接调用就行了。

分段打表 可以减少 空间, 直接暴力剩下的东西嘿嘿;

分段打表例题:

神犇最近闲来无事,于是就思考哲学,研究数字之美。在神犇看来,如果一个数的各位能够被分成两个集合,而且这两个集合里的数的和相等,那么这个数就是优美的(具体原因就只有神犇才知道了)。现在神犇在思考另一个问题,在区间[a,b]中有多少个数是优美的?这个问题对于神犇来说很简单,相信对于你来说也不难。
Input
输入只有一行,包含两个整数a和b。
Output
输出只有一行,包含一个整数,代表区间[a,b]中优美的数的个数。 Sample Input Sample Output Hint
<=A<=B<=^

打表代码:

#include <bits/stdc++.h>
#pragma GCC optimize(3,"Ofast","inline")
using namespace std;
const int M = ;
const int N = ;
#define ri register int
long long ans;
bool getans(int x)
{
int sum=;
long long f=;
for(ri i=x;i;i/=)
{
f|=(f<<i%);
sum+=i%;
}
if(sum&) return ;
return f&1ll<<(sum/);
}
int p=;
int main(){
freopen("233.txt","w",stdout); // txt 记住了
for(ri i=;i<=;i++)
{
ans+=getans(i);
if(i%p==)
printf("%d,",ans);
}
}

提交代码:

#include<cstdio>
#include<string>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
const int M = ;
const int N = ;
const int P = ;
#define ri register int
long long f[]={,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,};
bool check(int x)
{
int sum=;
long long f=;
for(ri i=x;i;i/=)
sum+=i%,f|=(f<<(i%));
if(sum&) return ;
return f&1ll<<(sum/);
}
long long getans(int x)
{
long long ans=f[x/P];
for(ri i=x/P*P+;i<=x;i++)
{
ans+=check(i);
}
return ans;
}
int main(){
long long a,b;
scanf("%lld%lld",&a,&b);
printf("%lld",getans(b)-getans(a-));
}

1

最新文章

  1. 使用ngrok将内网映射为外网
  2. Xamarin 与VS2015RC(xamarin 3.11.450) 报空指针错误。
  3. [转]SpringMVC拦截器简单教程
  4. java写入excel文件poi
  5. Wix 安装部署教程(十六) -- 自动生成多语言文件
  6. 在多线程环境下使用HttpWebRequest或者调用Web Service(连接报超时问题)
  7. sessionFactory.getCurrentSession()的引出
  8. J​a​v​a​S​c​r​i​p​t​针​对​D​o​m​相​关​的​优​化​心​得
  9. Python-Day3 Python基础进阶之集和/文件读写/函数
  10. Sublime Text3 包管理器、插件安装
  11. HDOJ 2167 Pebbles (状态压缩dp)
  12. COJN 0575 800601滑雪
  13. ado.net 数据库连接的两方式种
  14. Sql Server 2008清理数据库日志的语句
  15. memset功能的具体说明
  16. [转载] 使用Redis的Java客户端Jedis
  17. Definition of matrix norms
  18. JS的splice()方法在for循环中使用可能会遇到的坑
  19. Go语言学习笔记(五) [函数]
  20. Ubuntu的内核转储工具【转】

热门文章

  1. ConcurrentHashMap的size()方法(1.7和1.8)
  2. 最新2019Pycharm安装教程,亲测!最新2019pycharm安装!如何安装Pycharm2019版本!如何安装2019Pycharm永久教程!2019Pycharm永久安装!
  3. cf1176D
  4. 【UWP】在 UWP 中使用 Exceptionless 进行遥测
  5. Spring Boot Starter 开发指南
  6. Largest Rectangle in a Histogram POJ - 2559
  7. R 分析回归(一元回归)
  8. 永久破解pycharm,golang,IDEA开发工具
  9. ADO.NET中的数据库帮助类
  10. 《Photoshop 2020》初心版_v6 21.0.2.57