思路:

首先,inedible tails 的个数最多为C(18+9,9)个(用隔板法),所以我们暴力出所有的 inedible tails,然后检查一下在[L, R]这段区间是否存在这个inedible tails

检查的时候用了和数位dp差不多的方法,设一个下界和上界,只要之前的既没有达到上界也没有达到下界,后面就可以随便填了,说明存在

#pragma GCC optimize(2)
#pragma GCC optimize(3)
#pragma GCC optimize(4)
#include<bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define pi acos(-1.0)
#define LL long long
//#define mp make_pair
#define pb push_back
#define ls rt<<1, l, m
#define rs rt<<1|1, m+1, r
#define ULL unsigned LL
#define pll pair<LL, LL>
#define pii pair<int, int>
#define piii pair<pii, int>
#define mem(a, b) memset(a, b, sizeof(a))
#define fio ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define fopen freopen("in.txt", "r", stdin);freopen("out.txt", "w", stout);
//head int l[], r[], f[], ans = , cnt = ;
bool check(int pos, bool Llimit, bool Rlimit) {
if(!Llimit && !Rlimit) return true;
if(pos == ) return true;
int down = Llimit ? l[pos] : ;
int up = Rlimit ? r[pos] : ;
for (int i = down; i <= up; i++) {
if(f[i]) {
f[i]--;
bool flag = check(pos-, Llimit&&i==l[pos], Rlimit&&i==r[pos]);
f[i]++;
if(flag) return true; }
}
return false;
}
void dfs(int pos, int res) {
if(pos == ) {
f[pos] = res;
if(check(cnt, , )) ans++;
return ;
}
for (int i = ; i <= res; i++) {
f[pos] = i;
dfs(pos+, res - i);
}
}
int solve(LL L, LL R) {
cnt = ;
while(L) {
l[++cnt] = L%;
L /= ;
} cnt = ;
while(R) {
r[++cnt] = R%;
R /= ;
}
ans = ;
dfs(, cnt);
return ans;
}
int main() {
LL L, R;
scanf("%lld %lld", &L, &R);
printf("%d\n", solve(L, R));
return ;
}

最新文章

  1. C 语言Struct 实现运行类型识别 RTTI
  2. 该字符串未被识别为有效的 DateTime
  3. PHP+Hadoop实现数据统计分析
  4. 在 Visio 中录制宏
  5. 非root不能gdb attach的限制
  6. JVM菜鸟进阶高手之路九(解惑)
  7. sql优化原则与技巧
  8. js判断flash文件是否加载完毕
  9. Socket层实现系列 — bind()的实现(一)
  10. 粮草先行——Android折叠屏开发技术点(一)
  11. Idea使用说明
  12. 从面试连跪到收割offer,回顾我的春招面试历程(研发岗位)
  13. JVM(二)—— 垃圾回收
  14. Cycle (KMP + hash)
  15. WCF+Nhibernate循环引用导致序列化的问题
  16. Docker关联使用的一些工具:Clip名字服务(转载)
  17. LeetCode144:Binary Tree Preorder Traversal
  18. java的if语句,少于一行可以省略大括号
  19. MFC动态时间表示法——strtime函数
  20. linux中的分段和分页

热门文章

  1. 火车时刻表WebApp
  2. 2018-2019-2 《网络对抗技术》Exp0 Kali安装 Week1 20165211
  3. javaScript中ajax、axios总结
  4. Android中activity的四个启动模式
  5. Linux电源管理_autosleep--(五)【转】
  6. sqlitestudio
  7. kafka丢失和重复消费数据
  8. Hive安装部署及简单测试 网页《一》
  9. RequestMethod用法小结和注意事项
  10. Vue学习三:v-on:click命令及v-html命令学习