BZOJ1026: [SCOI2009]windy数

  • 数位dp。很多小细节。。。
  • 代码:
     #include <bits/stdc++.h>
    
     using namespace std;
    typedef long long ll;
    char a[],b[];
    ll d[][]={};
    int la,lb; void pre(){
    for (int j=; j<=; j++) d[][j]=;
    for (int i=; i<=lb; i++)
    for (int j=; j<=; j++)
    for (int k=; k<=; k++)
    if(abs(j-k)>=) d[i][j]+=d[i-][k];
    } ll solve(char* s,int l){
    ll ans=;
    //先算位数小的
    for (int i=; i<l; i++) for (int j=; j<=; j++) ans+=d[i][j];
    //算位数相等的
    for (int i=; i<s[]-''; i++) ans+=d[l][i];
    for (int i=; i<=l; i++) { //前面都是填的相等的数
    for (int j=; j<(s[i]-''); j++) //第i位填j,第i+1位填k
    if( abs( j - (s[i-]-'') ) >= ) ans+=d[l-i+][j];
    if(abs(s[i]-s[i-])<) break; //不要忘记这个跳出,不合法了都
    }
    return ans;
    } bool judge(){ //判断大的那个数是不是
    bool flag=true;
    for (int i=; i<=lb; i++) if(abs(b[i]-b[i-])<=) { flag=false; break; }
    return flag;
    } int main(){
    scanf("%s%s",a+,b+);
    la=strlen(a+);
    lb=strlen(b+);
    pre();
    ll ansa=solve(a,la);
    ll ansb=solve(b,lb);
    if(judge()) ansb++;
    cout<<ansb-ansa<<endl;
    return ;
    }

    .....((/- -)/

酸菜鱼的 DP动态规划 刷题记录的更多相关文章

  1. $2019$ 暑期刷题记录1:(算法竞赛DP练习)

    $ 2019 $ 暑期刷题记录: $ POJ~1952~~BUY~LOW, BUY~LOWER: $ (复杂度优化) 题目大意:统计可重序列中最长上升子序列的方案数. 题目很直接的说明了所求为 $ L ...

  2. DP刷题记录(持续更新)

    DP刷题记录 (本文例题目前大多数都选自算法竞赛进阶指南) TYVJ1071 求两个序列的最长公共上升子序列 设\(f_{i,j}\)表示a中的\(1-i\)与b中色\(1-j\)匹配时所能构成的以\ ...

  3. DP刷题记录

    目录 dp刷题记录 codeforces 706C codeforces 940E BZOJ3997 POJ2279 GYM102082B GYM102082D codeforces132C L3-0 ...

  4. 2021.12.21 eleveni的刷题记录

    2021.12.21 eleveni的刷题记录 0. 有意思的题 P6701 [POI1997] Genotype https://www.luogu.com.cn/problem/P6701 状压优 ...

  5. 2021.12.16 eleveni的刷题记录

    2021.12.16 eleveni的刷题记录 1. 数论 https://www.luogu.com.cn/problem/P2532 1.1卡特兰数 https://www.luogu.com.c ...

  6. PKUWC&SC 2018 刷题记录

    PKUWC&SC 2018 刷题记录 minimax 线段树合并的题,似乎并不依赖于二叉树. 之前写的草率的题解在这里:PKUWC2018 minimax Slay the Spire 注意到 ...

  7. AC 自动机刷题记录

    目录 简介 第一题 第二题 第三题 第四题 第五题 第六题 简介 这就是用来记录我对于<信息学奥赛一本通 · 提高篇>一书中的习题的刷题记录以及学习笔记. 一般分专题来写(全部写一起可能要 ...

  8. 2021.12.19 eleveni的刷题记录

    2021.12.19 eleveni的刷题记录 0. 本次记录有意思的题 0.1 每个点恰好经过一次并且求最小时间 P2469 [SDOI2010]星际竞速 https://www.luogu.com ...

  9. PE刷题记录

    PE刷题记录 PE60 / 20%dif 这道题比较坑爹. 所有可以相连的素数可以构成一张图,建出这张图,在其中找它的大小为5的团.注意上界的估算,大概在1W以内.1W内有1229个素数,处理出这些素 ...

随机推荐

  1. ASP.NET Core Razor 视图预编译、动态编译

    0x01 前言 ASP.NET Core在默认发布情况下,会启动预编译将试图编译成xx.Views.dll,也许在视图中打算修改一处很细小的地方我们需要再重新编译视图进行发布.下面我将从 ASP.NE ...

  2. debian 10安装英伟达独显驱动

    我的显卡是GTX1050TI,刚安装好Debian 10的时候启动会黑屏,无法进入系统,解决办法是在grub界面,按e修改启动参数,在启动参数那一行(一般会包含quiet)后面加上 nouveau.m ...

  3. 802.11有线等效加密WEP

    有线等效加密(WEP)标准是802.11无线安全早期的解决方案,WEP并不安全. 既然WEP并不安全,为什么还要学习WEP呢? WEP简单,相比后续出现的加密协议,它不要求有多么强大的计算能力.一些老 ...

  4. 利用js+ajax在jsp与servlet间进行简单数据交换

    直接上代码 jsp <%@ page language="java" contentType="text/html; charset=utf-8" pag ...

  5. python基础练习,循环、列表、字典、数组

    # encoding: utf-8 ''' @author: mark @file: 20200214.py @time: 2020/2/14 14:21 @software: PyCharm ''' ...

  6. React HOC(高阶组件)

    一.定义 高阶函数:函数接受函数作为输入,或者输出一个函数. 高阶组件:接受React组件作为输入,或是输出一个组件.即hocFactory:: W: React.Component => E: ...

  7. [Python]爬取 游民星空网站 每周精选壁纸(1080高清壁纸) 网络爬虫

    一.检查 首先进入该网站的https://www.gamersky.com/robots.txt页面 给出提示: 弹出错误页面 注: 网络爬虫:自动或人工识别robots.txt,再进行内容爬取 约束 ...

  8. C语言 getchar

    C语言 getchar getchar是从标准输入设备读取一个char. 案例 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #in ...

  9. Spring中@Value用法

    Spring中可以通过@Value注解,将properties配置文件中的属性值注入到java成员变量,配置和使用方法如下(大部分转自csdn,也有自己实验部分): 一.配置 首先,@value需要参 ...

  10. 智能家居为MCU带来巨大需求量

    新一代年轻消费族群对于生活品质的需求逐渐提高,不仅小米要发展智能家居,中兴通讯也在于近日在北京揭晓智"智能家居"将成为市场主流,而智能家居的崛起也必然引爆MCU的需求量迅速攀升,众 ...