ZCMU-1033


我觉得这位大佬说的已经很好了,可以直接看她的思路了;
大佬思路
但是她的代码没有考虑到1 1 1 1的情况,
代码思路
这个是可以的很长且没有注释;
#include<bits/stdc++.h>
using namespace std;
long long d[40][40];
long long c[40][40];
long long a[40];
long long x,y;
int k,b;
long long makedp(int i,int j,long long sub){
//该函数表示从i个位置当中选j个位置赋值为1且小于等于sub;
if(i==0){
if(j==0&&sub==0){
return 1;
}
else return 0;
}
if(i<j){//不够要求
return 0;
}
if(sub==0){
if(j==0){
return 1;//找0位
}
else{
return 0;
}
}
else if(sub>=d[i][j]){
//这里很好的避免了重复;
return c[i][j];//最大,就找小于他的最多
}
long long sum=0;
sum+=makedp(i-1,j,sub);//取消最高位太大减小
sum+=makedp(i-1,j-1,sub-a[i]);//在保证最高位在的情况
return sum;
}
void init(){
memset(a,0,sizeof(a));
memset(d,0,sizeof(d));
long long t=1;
a[1]=t;
for(int i=2;i<=32;i++){
t=t*b;
if(t>y){
break;
}
a[i]=t;//a数组表示的是b^(i-1);
}
d[1][1]=1;
for(int i=2;i<=32;i++){
if(a[i]==0){
break;
}
for(int j=1;j<=i;j++){
//d=b^(i-1)+b^(i-2)+..有j个元素
d[i][j]=d[i][j-1]+a[i-j+1];
}
}
}
int main(){
for(int i=0;i<=32;i++){
c[i][0]=1;
}
//这里表示的是组合数,
//从i位数中取出j个来。
for(int i=1;i<=32;i++){
for(int j=1;j<=i;j++){
c[i][j]=c[i-1][j]+c[i-1][j-1];
}
}
while(~scanf("%lld%lld%d%d",&x,&y,&k,&b)){
init();
int u;
for(int i=1;i<=32;++i){
//找到不超过y的b^(i-1)
if(a[i]>y){
u=i-1;//所以减一
break;
}
else if(a[i]==0){
u=i-1;
break;
}
}
long long t1=makedp(u,k,y);
for(int i=1;i<=32;++i){
if(a[i]>x-1){
u=i-1;
break;
}
else if(a[i]==0){
u=i-1;//超出2
break;
}
}
long long t2=makedp(u,k,x-1);
//适用减法行为
cout<<t1-t2<<endl;
}
return 0;
}
ZCMU-1033的更多相关文章
- 【hihoCoder】1033: 交错和
初探数位dp 介绍了数位类统计的基础知识.以下列出其中的基础点: 基本问题 统计在区间[l, r]中满足条件的数的个数 思路 1. [l, r] 将问题转换为 在[0, r]中满足条件的个数 - 在[ ...
- 为什么Visual Studio的安装目录下有名为1033或2052的文件夹?
一直不清楚MS诸多产品的安装目录下为什么总有个名为1033或者2052的目录 搜索一下才知道,原来叫 LCID(Locale ID,区域性标识符) 常见的如:1033表示英语(美国),2052表示中文 ...
- PAT乙级 1033. 旧键盘打字(20)
1033. 旧键盘打字(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 旧键盘上坏了几个键,于是在敲一段文 ...
- 【wikioi】1033 蚯蚓的游戏问题(费用流)
http://wikioi.com/problem/1033/ 这题也是很水的费用流啊,同之前那题一样,拆点然后建边,容量为1,费用为点权.然后建个源连第一行每个点,容量为1,费用为0,然后最后一行每 ...
- PAT-乙级-1033. 旧键盘打字(20)
1033. 旧键盘打字(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 旧键盘上坏了几个键,于是在敲一段文 ...
- PAT 1033. To Fill or Not to Fill (25)
题目地址:http://pat.zju.edu.cn/contests/pat-a-practise/1033 此题是一道贪心算法题,难度较大,关键在于贪心策略的选择: #include <cs ...
- 阿里云服务器(Win 2008 R2 Standard)安装MSSM 2008 R2之1033和2052问题
最近在给租用的阿里云服务器安装Sql Server 2008 R2 Express时,遭遇下面的问题.经过几番折腾后,终于解决问题,完成安装,这里总结分享我的解决方法,希望能给遇到相同问题的小伙伴们节 ...
- lightoj 1033 区间dp
题目链接:http://lightoj.com/volume_showproblem.php?problem=1033 #include <cstdio> #include <cst ...
- BZOJ 1033 杀蚂蚁
Description 最近,佳佳迷上了一款好玩的小游戏:antbuster.游戏规则非常简单:在一张地图上,左上角是蚂蚁窝,右下角是蛋糕,蚂蚁会源源不断地从窝里爬出来,试图把蛋糕搬回蚂蚁窝.而你的任 ...
- [BZOJ 1033] [ZJOI2008] 杀蚂蚁antbuster 【模拟!】
题目链接: BZOJ - 1033 题目分析 模拟!纯粹按照题目描述模拟! 这是一道喜闻乐见的经典模拟题! 我一共写了2遍,Debug 历时2天的所有晚自习 ... 时间超过 8h ... 我真是太弱 ...
随机推荐
- 【JS设计模式笔记】神奇的魔术师-简单工厂模式(创建型)
简单工厂模式(Simple Factory):又叫静态工厂方法,由一个工厂对象决定创建某一种产品对象类的实例.主要用来创建同一类对象. 第一次需求 开发一个登录模块的需求,用户名输入框如果输入的内容不 ...
- DOM – Event Listener (bubble, capture, passive, custom event)
前言 老掉牙的东西, 主要是想写 passive, 随便也写一点 bubble, capture 和 custom event 吧. Bubble Dom 监听事件是会冒泡的. 什么意思 ? 上图有 ...
- CSS – Naming Conversion
参考: CSS Naming Conventions that Will Save You Hours of Debugging Class Name kebab-case .hero-section ...
- 没时间做获取天气的实验 三分钟! 给您看清如何通过HTTP GET请求 获取天气预报
1. 注册心知天气账号,获取私钥 下面这篇文章是图示讲解的,好东西,何不转载为快? http://www.taichi-maker.com/homepage/iot-development/iot-p ...
- 当git仓库里面已经有上传好的框架时,二次上传到仓库需要的指令
初始化仓库 1 git init git add . "提交信息"里面换成自己的需要 如"first commit" git commit -m "提 ...
- 八字测算引流seo程序php网页版黄历/排盘/抽签/星座/生肖/解梦整站程序分享
2演示站: https://s31.yczfcn.com/ 2源码说明: 1.手机端和PC端共两套模板,手机端访问时候自动跳转至手机端模板和域名. 2.本程序包含文章系统,结合自身的免费测算功能,适合 ...
- PC软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
前言 国庆假期各种活动比较多,直到上班才有时间来更新文章~ 不过这两天我还是做了个小玩意(Clipify),起因是想给之前开发来自己用的简单视频剪辑工具 QuickCutSharp 加个功能,不过这个 ...
- C# Webapi Filter 过滤器 - 生命周期钩子函数 - Action Filter 基础
ACTION Filter IAsyncACtionFilter 接口 : 1.注入ActionFilter // 注册过滤器 builder.Services.Configure<MvcOpt ...
- 小程序把html代码渲染到页面上 rich-text
<rich-text nodes="<h1>html的代码显示再小程序使用rich-text组件</h1>"></rich-text> ...
- 容器化部署nacos 1.4.6报错caused: The specified key byte array is 0 bits which is not secure enough for any JWT
nacos2.0+ 与nacos 1.x区别 nacos在2.0+版本开始使用grpc与客户端通信,并且通过非8848端口通信 主要是有两个端口 端口 与主端口的偏移量 描述 9848 1000 客户 ...