酸菜鱼的 DP动态规划 刷题记录
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动态规划 刷题记录的更多相关文章
- $2019$ 暑期刷题记录1:(算法竞赛DP练习)
$ 2019 $ 暑期刷题记录: $ POJ~1952~~BUY~LOW, BUY~LOWER: $ (复杂度优化) 题目大意:统计可重序列中最长上升子序列的方案数. 题目很直接的说明了所求为 $ L ...
- DP刷题记录(持续更新)
DP刷题记录 (本文例题目前大多数都选自算法竞赛进阶指南) TYVJ1071 求两个序列的最长公共上升子序列 设\(f_{i,j}\)表示a中的\(1-i\)与b中色\(1-j\)匹配时所能构成的以\ ...
- DP刷题记录
目录 dp刷题记录 codeforces 706C codeforces 940E BZOJ3997 POJ2279 GYM102082B GYM102082D codeforces132C L3-0 ...
- 2021.12.21 eleveni的刷题记录
2021.12.21 eleveni的刷题记录 0. 有意思的题 P6701 [POI1997] Genotype https://www.luogu.com.cn/problem/P6701 状压优 ...
- 2021.12.16 eleveni的刷题记录
2021.12.16 eleveni的刷题记录 1. 数论 https://www.luogu.com.cn/problem/P2532 1.1卡特兰数 https://www.luogu.com.c ...
- PKUWC&SC 2018 刷题记录
PKUWC&SC 2018 刷题记录 minimax 线段树合并的题,似乎并不依赖于二叉树. 之前写的草率的题解在这里:PKUWC2018 minimax Slay the Spire 注意到 ...
- AC 自动机刷题记录
目录 简介 第一题 第二题 第三题 第四题 第五题 第六题 简介 这就是用来记录我对于<信息学奥赛一本通 · 提高篇>一书中的习题的刷题记录以及学习笔记. 一般分专题来写(全部写一起可能要 ...
- 2021.12.19 eleveni的刷题记录
2021.12.19 eleveni的刷题记录 0. 本次记录有意思的题 0.1 每个点恰好经过一次并且求最小时间 P2469 [SDOI2010]星际竞速 https://www.luogu.com ...
- PE刷题记录
PE刷题记录 PE60 / 20%dif 这道题比较坑爹. 所有可以相连的素数可以构成一张图,建出这张图,在其中找它的大小为5的团.注意上界的估算,大概在1W以内.1W内有1229个素数,处理出这些素 ...
随机推荐
- C# DateTime 工具类
项目gitHub地址 点我跳转 今天给大家带来一个C#里面的时间工具类,具体的直接看下面代码 using System; namespace ToolBox.DateTimeTool { public ...
- Escape(反思与总结)
题目描述: BH is in a maze,the maze is a matrix,he wants to escape! Input: The input consists of multiple ...
- 2020数据字典php-直接复制
[2020数据字典php-直接复制] <?php /** * 生成mysql数据字典 */ header ( "Content-type: text/html; charset=utf ...
- Vue整合d3.v5.js制作--柱状图(rect)
先上效果图: 图中柱状图变成纯蓝色是鼠标滑动过的颜色(颜色可改,本人配色能力十分的强,建议直接用默认设置即可 ( ᖛ ̫ ᖛ )ʃ)) 1.环境说明 Vue版本:"vue": &q ...
- winForm学习 2019年4月11日
1.Directory静态类 相似类:File.Path.StreamReader.StreamWirter 创建文件夹:Directory.CreateDirectory 删除文件夹:Directo ...
- 面向对象+闭包+三种对象的声明方式(字面式、new Object、构造函数、工厂模式、原型模式、混合模式)
面向对象: 对代码的一种抽象,对外统一提供调用接口的编程思想 对象的属性:事物自身拥有的东西 对象的方法:事物的功能 对象:事物的一个实例 对象的原型:.prototype -> 内存地址 -& ...
- ES6中map数据结构
key值可以任意值或对象,value值可以是任意值或对象 let json={ name:'eternity', skill:'java' }; let map=new Map(); map.set( ...
- [转]Android Adapter以及getView()方法的理解
Android Adapter基本理解: 我的理解是: 1.一个有许多getter的类(就是getView(),getCount()....这些方法) 2.有多少个get方法?都是什么? 这些gett ...
- (三)LoadRunner术语认识
场景:主要表现为controller中设计与执行测试用例中的用户场景.主要工作有,在controller中选择虚拟用户脚本.设置虚拟用户数量.配置虚拟用户运行时的行为.选择负载发生器.设置执行时间等. ...
- CSS字体连写及外观属性
一.font:字体连写 使用font属性时,必须按以下语法格式中的顺序书写,不能更换顺序,各个属性以空格隔开.注意:其中不需要设置的属性可以省略(取默认值),但必须保留font-size和font-f ...