首页 > 其他分享 >P2657 [SCOI2009] windy 数

P2657 [SCOI2009] windy 数

时间:2024-04-06 20:00:48浏览次数:24  
标签:int ll len windy num SCOI2009 now P2657

原题链接

题解

一个细节坑我好久

code

#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll f[15][15]={0};//从最高位第i位数字为j时的数字里有多少windy数
ll solve(ll now)
{
    now++;//小于等于变小于
    ll len=0;
    ll num[15]={0};
    while(now)
    {
        len++;
        num[len]=now%10;
        now/=10;
    }
    ll sum=0;

    for(int i=len;i>=2;i--)
    {
        for(int j=1;j<=9;j++) sum+=f[i-1][j];
    }

    for(int i=1;i<num[len];i++) sum+=f[len][i];

    for(int i=len-1;i>=1;i--)
    {
        for(int k=0;k<num[i];k++) if(abs(num[i+1]-k)>=2)sum+=f[i][k];
        if(abs(num[i]-num[i+1])<2) break;//细节 
    }


    return sum;
}

int main()
{

    for(int i=0;i<=9;i++) f[1][i]=1;
    for(int i=2;i<=10;i++)
    {
        for(int j=0;j<=9;j++)
        {
            for(int k=0;k<=9;k++)
            {
                if(abs(k-j)>=2) f[i][j]+=f[i-1][k];
            }
        }
    }


    ll a,b;
    cin>>a>>b;
    cout<<solve(b)-solve(a-1);

    return 0;
}

标签:int,ll,len,windy,num,SCOI2009,now,P2657
From: https://www.cnblogs.com/pure4knowledge/p/18117850

相关文章

  • P4159 [SCOI2009] 迷路 题解
    P4159[SCOI2009]迷路搬运工题目链接首先我们先考虑这道题的弱化版如何处理。假如所有的边权都是零和一。这时他们的边权可以看做这两个点走一步到达之间的方案数。而对于走t步,我们可以推出下列式子,\(f_{i,j}\)表示从节点\(i\)到节点\(j\)的方案数。\[f_{i,j}=\su......
  • 洛谷P4158 [SCOI2009] 粉刷匠 题解
    所有的\(DP\),只要式子一推出来(不管复杂度),那就很简单了,因为优化是成千上万种的……思路1:我们考虑设\(f[i][j][k]\)表示:当前\(DP\)到第\(i\)块木板的第\(j\)个位置,共涂了\(k\)次,所能获得的最大收益。因为还要枚举当前这次涂是从哪到哪的,因此复杂度为\(O(NM^2T)\),实......
  • P4159 [SCOI2009] 迷路
    传送门先思考\(C_{i,j}\)要么只有0和1两种值的情况,那么这种情况就是求矩阵\(C^k\)中的\(C_{1,n}\)的值。证明:令矩阵\(G=C^2=\sum\limits_{k=1}^nC(i,k)*C(k,j)\),即当\(C(i,k)\)和\(C(k,j)\)都为1时,才有\(C(i,k)*C(k,j)\)才为1,表示\(i->k->j\)的路径,而\(G(i,j)\)即计算了枚举了所......
  • Luogu P4159 [SCOI2009] 迷路
    [SCOI2009]迷路题目背景windy在有向图中迷路了。题目描述该有向图有\(n\)个节点,节点从\(1\)至\(n\)编号,windy从节点\(1\)出发,他必须恰好在\(t\)时刻到达节点\(n\)。现在给出该有向图,你能告诉windy总共有多少种不同的路径吗?答案对\(2009\)取模。注意:windy......
  • P4159 [SCOI2009] 迷路
    目录题目链接题目内容前置知识:矩阵快速幂思路历程1.我寻思这图里咋还有自环呢2.ok快乐的板子时光总是短暂的()3.额我们还是不看边权,但是不扯到图上去了。4.那我们现在加上边权吧5.回归本题代码实现:题目链接题目内容[SCOI2009]迷路题目背景windy在有向图中迷路了。题目描述......
  • P2657 [SCOI2009] windy 数 数位DP好题
    P2657[SCOI2009]windy数-洛谷|计算机科学教育新生态(luogu.com.cn)数位DP好题主要问题是:不含前导零且相邻两个数字之差至少为 2solution:现在枚举到了第i位......
  • 1083. Windy数
    题目链接1083.Windy数Windy定义了一种Windy数:不含前导零且相邻两个数字之差至少为\(2\)的正整数被称为Windy数。Windy想知道,在\(A\)和\(B\)之间,包括\(A\)......
  • P4159 [SCOI2009] 迷路
    \(P4159\)[\(SCOI2009\)]迷路题目传送门前序知识整理关键词:矩阵+快速幂P1226【模板】快速幂||取余运算矩阵乘法P3390【模板】矩阵快速幂P1939【模板】矩阵加......
  • P4158 [SCOI2009]粉刷匠
    题意:windy有N条木板需要被粉刷。每条木板被分为M个格子。每个格子要被刷成红色或蓝色。windy每次粉刷,只能选择一条木板上一段连续的格子,然后涂上一种颜色。每个格......
  • 做题记录整理dp11 P4158 [SCOI2009]粉刷匠(2022/9/23)
    P4158[SCOI2009]粉刷匠事实上前半个小时我甚至没想用dp做。。。感觉这道题难度标高了(跟那个想让我测出题人的码的题相比)首先可以发现每一行之间都是独立的,所以先考虑把......