洛谷$P3413$ 萌数 $SAC\#1$ 数位$dp$】的更多相关文章

正解:数位$dp$ 解题报告: 传送门! 非常套路的数位$dp$,,,?打起来就很爽昂,,,不要脑子,我就很爱嘻嘻嘻 然后$[l,r]$这种问题不显然考虑套路地搞成$[1,l-1]$和$[1,r]$嘛,然后就只要想下$dfs$就成 不难发现回文串不好判,考虑正难则反,于是考虑只要找出所有非回文串的就成嘛. 考虑怎么样会是个回文串,不难想到,根据回文串的性质,如果有个大回文串,则它的中心子串一定也是个回文串,也就是说,如果有一个大回文串,则必有一个长度为2或长度为3的回文串,所以只要能保证不存在长…
题目大意:求$[l,r](0\leqslant l<r< 10^{1001})$中存在长度至少为$2$的回文串的数字数 题解:数位$DP$,发现如果有回文串,若长度为偶数,一定有两个相同的数字相邻:若长度为奇数,一定有两个相同的数字中间间隔一个数字.所以只需要记录前两个数字就行了.注意判断$l$是否符合条件. 卡点:无 C++ Code: #include <cstdio> #include <algorithm> #include <cstring> #d…
题意简述 求l~r之间存在长度至少为2的回文子串的正整数的个数 题解思路 数位DP 注意到有偶数长度的回文串必有长度为2的回文串,有奇数长度的回文串必有长度为3的回文串 所以只需判断与前一位,前两位是否相等即可 代码 #include <cstdio> #include <cstring> #include <iostream> typedef long long ll; const int mod = 1000000007; int cnt, x, llen; int…
题目描述 辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌! 好在在他眼里,并不是所有数都是萌的.只有满足“存在长度至少为2的回文子串”的数是萌的——也就是说,101是萌的,因为101本身就是一个回文数:110是萌的,因为包含回文子串11:但是102不是萌的,1201也不是萌的. 现在SOL想知道从l到r的所有整数中有多少个萌数. 由于答案可能很大,所以只需要输出答案对1000000007(10^9+7)的余数. 输入输出格式 输入格式: 输入包含仅1行,包含两个整数:l.r. 输出格式: 输出仅1行…
题目 洛谷 数位动规用爆搜真好玩 做法 含有回文串实际我们仅需判断是否有\(2/3\)回文串 \(Dfs(now,num,pre,ly,lead,prel,top)\): 在第\(now\)位 \(now-1\)位,\(now-2\)位 是否合法 \(now-1\)位是否为前导\(0\),\(now-2\)为是否为前导\(0\) 是否受限 My complete code #include<bits/stdc++.h> using namespace std; typedef long lon…
题目背景 本题由世界上最蒟蒻最辣鸡最撒比的SOL提供. 寂月城网站是完美信息教室的官网.地址:http://191.101.11.174/mgzd . 题目描述 辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌! 好在在他眼里,并不是所有数都是萌的.只有满足“存在长度至少为2的回文子串”的数是萌的——也就是说,101是萌的,因为101本身就是一个回文数:110是萌的,因为包含回文子串11:但是102不是萌的,1201也不是萌的. 现在SOL想知道从l到r的所有整数中有多少个萌数. 由于答案可能很大,所…
题目大意:求区间 [l,r] 内萌数的个数,其中萌数定义为数位中存在长度至少为 2 的回文子串的数字. 题解:l, r 都是 1000 位级别的数字,显然是一道数位 dp 的题目,暴力直接去世. 发现萌数的定义是一个存在性命题,并不好去求解.利用补集思想,将存在性命题转化成任意性命题,即:求区间 [l,r] 中有多少个数不是萌数.发现只需维护当前位的前两位的数值即可判断是不是萌数,即:若一个数是萌数,当且仅当存在形如 "aa" 或 "aba" 类型的子串.利用数位…
若说代码 那真的是很水 但是 思想却有点意思 这道题是洛谷博弈论专题的第一道入门题, 然而刚开始我是不会做的, 毕竟是道入门题, 我博弈论还没入门呢. 这道题的做法就是: 如果m为偶数, 那么先手赢(即pb), 如果m为奇数, 那么后手赢(即zs). 做法很简单, 可是我们要知道怎么做的 说实话我对于他们两个都聪明绝顶, 都会按照最优策略来走很不感冒. 既然他们聪明绝顶, 那么先手明知道m为奇数时自己会输, 为什么不洒脱一点走呢? 也许乱走出奇迹? 那我们来试试看. 当m = 13时, 先手为什…
题面 在做这道题前,先要会他的弱化版(实际一模一样,只是愚蠢的洛谷评测级别差了一档(睿智如姬无夜)) ----------------------------------弱化版--------------------- 弱化版 实际只是把矩阵行数改成两行而已 sol:先排序,后考虑一个序列a[1]+b[1],a[2]+b[1],a[3]+b[1],······,a[n-1]+b[1],a[n]+b[1]; 显然对于上一个序列而言 a[1]+b[1]<=a[1]+b[2], a[2]+b[1]<…
洛谷P1102 A-B数对 https://www.luogu.org/problem/show?pid=1102 题目描述 出题是一件痛苦的事情! 题目看多了也有审美疲劳,于是我舍弃了大家所熟悉的A+B Problem,改用A-B了哈哈! 好吧,题目是这样的:给出一串数以及一个数字C,要求计算出所有A-B=C的数对的个数.(不同位置的数字一样的数对算不同的数对) 输入输出格式 输入格式: 第一行包括2个非负整数N和C,中间用空格隔开. 第二行有N个整数,中间用空格隔开,作为要求处理的那串数.…