首页 > 其他分享 >数位dp板子(待补充)

数位dp板子(待补充)

时间:2024-03-07 22:11:24浏览次数:23  
标签:int ll pos 板子 limit include dp 数位

#include<iostream>
#include<vector>
#include<algorithm>
#include<math.h>
#include<string>
#include<string.h>
#include<iomanip>
#include<map>
#include<queue>
using namespace std;
typedef long long ll;

const int N = 15;
ll dp[N][N];
int num[N], now;
ll dfs(int pos, int sum, bool lead, bool limit)//pos:第pos位
{
	ll ans = 0;
	if (pos == 0)return sum;//0位数
	if (!lead and !limit and dp[pos][sum] != -1)return dp[pos][sum];//如果已经记忆了,那就直接返回
	int up = (limit ? num[pos] : 9);//limit:数位限制
	for (int i = 0; i <= up; i++)
	{
		if (i == 0 and lead)ans += dfs(pos - 1, sum, true, limit and i == up);
		//pos-1:处理下一位,
		else if (i == now)ans += dfs(pos - 1, sum + 1, false, limit and i == up);
		else if (i != now)ans += dfs(pos - 1, sum, false, limit and i == up);
	}
	if (!lead and !limit)dp[pos][sum] = ans;
	return ans;

}
ll solve(ll x)
{
    int len = 0;
	while (x)
	{
		num[++len] = x % 10;
		x /= 10;
	}
	memset(dp, -1, sizeof(dp));
	return dfs(len, 0, true, true);
}
int main()
{
	ll a;
	cin >> a;
	for (int i = 0; i < 10; i++)now = i, cout << solve(a)<<' ';
	return 0;
}

标签:int,ll,pos,板子,limit,include,dp,数位
From: https://www.cnblogs.com/zzzsacmblog/p/18059899

相关文章

  • 多项式板子
    不想折磨自己了,以后都来这里贺。卷积:点击查看代码polyNTT(polya,intopt){intlen=a.size();For(i,0,len-1){if(i<r[i])swap(a[i],a[r[i]]);}for(intk=1;k<len;k<<=1){llwn=qpow(((opt==1)?g:inv_g),((mod-1)/(k<<1)));for(inti......
  • Autofac的Swashbuckle生成报错 Microsoft.AspNetCore.Mvc.ApiExplorer.EndpointMetada
    错误内容:AnexceptionwasthrownwhileactivatingSwashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator->Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescriptionGroupCollectionProvider->λ:Microsoft.AspNetCore.Mvc.ApiExplorer.IApiDescriptionProvider[]->......
  • LNMP+wordpress
    ......
  • wp/wordpress文章页面添加阅读量/点击量,后台并显示阅读量
    wordpress默认不带阅读量的,现在加上。在function.php加入代码1、前端加入阅读量和点击量//增加文章阅读次数functionrecord_visitors(){if(is_singular()){global$post;$post_ID=$post->ID;if($post_ID){$post_views=(in......
  • 卡农 -- HNOI2011 -- DP&组合
    卡农--\(HNOI2011\)$$luogu$$$$HZOI$$题意给定一个集合$A={1\lex\len|x}$,求出其\(m\)个不相同的且不为空集的子集,使得第\(i\)个元素的在所有选出的子集中出现的次数\(appear_i\mod2=0\)题解首先一个已知结论:对于一个\(A\)这样的集合,他......
  • PNPUTIL 驱动 添加 删除 导出(备份) DPInst64 驱动 安装
    MicrosoftPnP工具PNPUTIL[/add-driver<...>|/delete-driver<...>|     /export-driver<...>|/enum-drivers|     /enum-devices[<...>]|/enum-interfaces[<...>]|     /disable-device<...>|/enable-devi......
  • tcp和udp的区别
    在我们的OSI七层模型或者是四层模型中,我们的传输层始终保持不变,传输层负责定义两台主机进程之间的通信,提供数据传输服务,提供端到端的可靠传输,所以我们需要用到的两个主要的协议是:TCP协议:传输控制协议,提供面向连接、可靠的数据传输服务,主要提供完整性服务UDP协议:用户数据协议,提供......
  • 数位DP 学习笔记
    什么是数位DP数位dp是与数字相关的一类计数问题。这这类问题中,一般给定一些限制条件,求满足第\(K\)小的数是多少,或者求区间\([L,R]\)内有多少个满足条件的数。本文主要讲述如何解决求区间\([L,R]\)内有多少个满足条件的数这一类问题。为什么要用数位dp对于上述问题,如果......
  • 音频功率放大器方案LM4863替代DP4863
    音频放大器是在产生声音的输出元件上重建输入的音频信号的设备,其重建的信号音量和功率级都要理想——如实、有效且失真低。音频范围为约20Hz~20000Hz,因此放大器在此范围内必须有良好的频率响应。根据应用的不同,功率大小差异很大,从耳机的毫瓦级到TV或PC音频的数瓦,再到“迷你”家庭立......
  • centos7 xfreerdp安装及远程执行Windows脚本
    1、yuminstallfreerdp2、centos7需要安装桌面环境,并设置从桌面启动3、xfreerdp使用  xfreerdp/u:Administrator/p:Password123/drive:data,/root/app:cmd.exe/app-cmd:"cmd.exe/knetuseX:\\tsclient\data&X:&mimi.bat"/v:192.168.0.100  /u:账号 ......