http://acm.hdu.edu.cn/showproblem.php?pid=6156

【AC】

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. const ll mod=1e9+;
  5. int num[];
  6. int L,R,l,r;
  7. ll query(int x,int k)
  8. {
  9. if(x==) return ;
  10. int cnt=;
  11. int cp=x;
  12. while(cp)
  13. {
  14. num[cnt++]=cp%k;
  15. cp/=k;
  16. }
  17. int base=k,sum=,tot=;
  18. for(int i=;i<cnt;i++)
  19. {
  20. tot+=base-sum;
  21. if(i%==)
  22. {
  23. sum=base;
  24. base*=k;
  25. }
  26. }
  27. int p=;
  28. for(int i=cnt-;i>=cnt/;i--)
  29. {
  30. p=p*k+num[i];
  31. }
  32. tot+=p-sum;
  33. int o=(cnt%==?cnt/:cnt/+);
  34. for(int i=o;i<cnt;i++)
  35. {
  36. p=p*k+num[i];
  37. }
  38. if(p<=x) tot+=;
  39. return 1ll*tot*(k-)+(ll)x;
  40. }
  41. int main()
  42. {
  43. int T;
  44. scanf("%d",&T);
  45. int cas=;
  46. while(T--)
  47. {
  48. scanf("%d%d%d%d",&L,&R,&l,&r);
  49. ll ans=;
  50. for(int i=l;i<=r;i++)
  51. {
  52. ans+=query(R,i)-query(L-,i);
  53. }
  54. printf("Case #%d: %I64d\n",++cas,ans);
  55. }
  56. return ;
  57. }

【数位DP】HDU 6156 Palindrome Function的更多相关文章

  1. HDU 6156 - Palindrome Function [ 数位DP ] | 2017 中国大学生程序设计竞赛 - 网络选拔赛

    普通的数位DP计算回文串个数 /* HDU 6156 - Palindrome Function [ 数位DP ] | 2017 中国大学生程序设计竞赛 - 网络选拔赛 2-36进制下回文串个数 */ ...

  2. HDU 6156 Palindrome Function(数位DP)题解

    思路: 数位dp的操作是dfs+记忆化,我们dp开四维:位置,长度,进制,是否回文.然后每次暴搜记录下每个位置的数字是什么,搜到对称轴另一边需要检查是否符合回文. 终于把友谊赛的题目都补完了...没做 ...

  3. HDU 6156 Palindrome Function

    http://acm.hdu.edu.cn/showproblem.php?pid=6156 题意:$f(n,k)$表示判断n在k进制下是否是回文串,如果是,则返回k,如果不是,则返回1.现在要计算$ ...

  4. 2019年9月训练(壹)数位DP (HDU 2089)

    开学之后完全没时间写博客.... HDU 2089 不要62(vjudge) 数位DP 思路: 题目给出区间[n,m] ,找出不含4或62的数的个数 用一个简单的差分:先求0~m+1的个数,再减去0~ ...

  5. 数位DP HDU - 2089 不要62

    不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  6. HDU - 6156 2017CCPC网络赛 Palindrome Function(数位dp找回文串)

    Palindrome Function As we all know,a palindrome number is the number which reads the same backward a ...

  7. 2017中国大学生程序设计竞赛 - 网络选拔赛 HDU 6156 数位DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6156 题意:如题. 解法:数位DP,暴力枚举进制之后,就转化成了求L,R区间的回文数的个数,这个直接做 ...

  8. HDU 6156 数位dp

    Palindrome Function Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 256000/256000 K (Java/Ot ...

  9. HDU-6156 Palindrome Function(数位DP)

    一.题目 二.思路 1.这是很明显的数位DP: 2.和以往数位DP不同的是,这里带了个进制进来,而以往做是纯十进制下或者纯二进制下做操作.但是,不管多少进制,原理都是一样的: 3.这里有个小坑,题目中 ...

随机推荐

  1. SnowKiting 2017/1/24

    原文 Let's go fly a kite...in the snow Your snowkiting checklist To snowkite safely,you'll need a litt ...

  2. 怎样配置JDK开发环境

    (1)我们需要配置三个环境变量,分别是JAVA_HOME,CLASSPATH,Path (2)变量名输入:JAVA_HOME,变量值输入:D:\Java\jdk1.8.0_05点击确定. 需要特别注意 ...

  3. SublimeREPL配置Python3开发

    首先什么是REPL? A Read-Eval-Print-Loop (REPL) is available both as a standalone program and easily includ ...

  4. 二级域名绑定ECS

    关于阿里云域名的绑定,下面是个人的理解,如有错误请指出. 首先,任何域名都需要在阿里云备案后才可以使用, 如果是二级域名,不能单独备案,需要其顶级域名在阿里云备案. http://help.aliyu ...

  5. build.sbt的定义格式

    一个简单的build.sbt文件内容如下: name := "hello" // 项目名称 organization := "xxx.xxx.xxx" // 组 ...

  6. shell脚本,文件里面的英文大小写替换方法。

    [root@localhost wyb]# cat daxiaoxie qweBNMacb eeeDFSmkl svdIOPtyu [root@localhost wyb]# cat daxiaoxi ...

  7. Greenplum/Deepgreen(单机/伪分布)安装文档

    Greenplum/Deepgreen数据库安装(单机/伪分布) 首先去官网下载centos7:https://www.centos.org/download/,选择其中一个镜像下载即可,网上随意下载 ...

  8. Mac OSX用 dd 命令,浇灌ISO镜像到USB驱动器

    Mac OSX用 dd 命令,浇灌ISO镜像到USB驱动器 字数244 阅读197 评论0 喜欢0 把ISO镜像转换为一个可启动的USB设备.一种可行的方法是通过OS X的Terminal “浇灌”到 ...

  9. CSS规范(OOCSS SMACSS BEM)

    Css规范 OOCSS SMACSS BEM OOCSS(Object Oriented CSS)面向对象的css 主要分成四个部分 Template :模板 Grids :栅格布局 Module : ...

  10. 简单jQuery图片自适应宽度插件jQuery.imgAutoSize.js

    (function ($) {       var loadImg = function (url, fn) {         var img = new Image();         img. ...