[LUOGU3413] SAC#1 - 萌数】的更多相关文章

题目背景 本题由世界上最蒟蒻最辣鸡最撒比的SOL提供. 寂月城网站是完美信息教室的官网.地址:http://191.101.11.174/mgzd . 题目描述 辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌! 好在在他眼里,并不是所有数都是萌的.只有满足“存在长度至少为2的回文子串”的数是萌的——也就是说,101是萌的,因为101本身就是一个回文数:110是萌的,因为包含回文子串11:但是102不是萌的,1201也不是萌的. 现在SOL想知道从l到r的所有整数中有多少个萌数. 由于答案可能很大,所…
题目描述 辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌! 好在在他眼里,并不是所有数都是萌的.只有满足“存在长度至少为2的回文子串”的数是萌的——也就是说,101是萌的,因为101本身就是一个回文数:110是萌的,因为包含回文子串11:但是102不是萌的,1201也不是萌的. 现在SOL想知道从l到r的所有整数中有多少个萌数. 由于答案可能很大,所以只需要输出答案对1000000007(10^9+7)的余数. 输入输出格式 输入格式: 输入包含仅1行,包含两个整数:l.r. 输出格式: 输出仅1行…
题目描述 辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌! 好在在他眼里,并不是所有数都是萌的.只有满足“存在长度至少为2的回文子串”的数是萌的——也就是说,101是萌的,因为101本身就是一个回文数:110是萌的,因为包含回文子串11:但是102不是萌的,1201也不是萌的. 现在SOL想知道从l到r的所有整数中有多少个萌数. 由于答案可能很大,所以只需要输出答案对1000000007(10^9+7)的余数. 输入输出格式 输入格式: 输入包含仅1行,包含两个整数:l.r. 输出格式: 输出仅1行…
这道题刚开始正向思维,然后处理重复的时候咕咕了. 参考了@巨型方块 大佬的题解后AC了,在这里就说几个我觉得比较重要或是容易被忽略的点,然后补充一些跳过的证明. 这道题的状态可以设为$dp[i][j][k]$,意思是长度为$i$,然后第$i$位为$j$,第$i-1$位为$k$的不是萌数的数量. 那么为什么我们只需要枚举两位呢? 这是因为所有的回文数都必定可以简化为$aa$和$aba$中的一种,证明如下: I. 对于长度小于等于3的回文数,显然即为以上两种中的一种.(一位数忽略) II. 对于长度…
题目链接:https://www.luogu.com.cn/problem/P3413 题目大意: 定义萌数指:满足"存在长度至少为2的回文子串"的数. 求区间 \([L,R]\) 范围内萌数的数量. 解题思路: 使用 数位DP 进行求解. 定义状态 \(f[pos][p1][p2]\) 表示满足如下条件时的方案数: 当期数位在第 \(pos\) 位: 前面那个数的前面那个数是 \(p1\): 前面那个数是 \(p2\). 则可以开函数 dfs(int pos, int p1, int…
题目大意:求$[l,r](0\leqslant l<r< 10^{1001})$中存在长度至少为$2$的回文串的数字数 题解:数位$DP$,发现如果有回文串,若长度为偶数,一定有两个相同的数字相邻:若长度为奇数,一定有两个相同的数字中间间隔一个数字.所以只需要记录前两个数字就行了.注意判断$l$是否符合条件. 卡点:无 C++ Code: #include <cstdio> #include <algorithm> #include <cstring> #d…
传送门 gtm的数位dp! 看到好多题解,都是记忆化搜索,好像非常方便啊,但是我还是用递推好了,毕竟还是有些类似数位dp的题用递推的思路,记忆化做不了,现在多培养一下思路 首先这道题, 只看长度大于等于2的回文串,那么只需要看aa和aba两种即可,再长的话肯定会包括这两种情况. 定义状态:f[i][j][k]表示长度为i,第i位是j,第i-1位是k的不是回文数的个数 经过实践证明,直接求回文数个数好像真不是很好求. 然后各种细节的统计. 对于这种输入即为字符串的情况,我们可以先处理出一个半闭半开…
传送门 解题思路 首先这道题如果有两个以上长度的回文串,那么就一定有三个或两个的回文串,所以只需要记录一下上一位和上上位填的数字就行了.数位\(dp\),用记忆化搜索来实现.设\(f[i][j][k][0/1]\)表示填到了第\(i\)位,上上位数字为\(j\),上一位数字为\(k\),\(0/1\)表示有没有出现过回文串的方案数.\(dfs\)里在套路的传一个这一位有没有限制和前导0,细节还是比较多的. 代码 #include<iostream> #include<cstdio>…
题目 洛谷 数位动规用爆搜真好玩 做法 含有回文串实际我们仅需判断是否有\(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…
题意简述 求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…
[luogu3413]萌数 luogu 考虑数位dp 怎么判断一个数是不是萌数? 只要知道其中某一位和它的前一位相等或者和前一位的前一位相等,那么它就是一个萌数 什么样的数不是萌数? 对于它的每一位都有\(w_i\neq w_{i-1}\)和\(w_i\neq w_{i-2}\) 记f[a][b][i]表示前一位是b,b的前一位是a,当前是第i位的萌数个数 其他的套模板做就好 #include<bits/stdc++.h> using namespace std; const int _=10…
题目背景 本题由世界上最蒟蒻最辣鸡最撒比的SOL提供. 寂月城网站是完美信息教室的官网.地址:已和谐 . 题目描述 辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌! 好在在他眼里,并不是所有数都是萌的.只有满足“存在长度至少为2的回文子串”的数是萌的——也就是说,101是萌的,因为101本身就是一个回文数:110是萌的,因为包含回文子串11:但是102不是萌的,1201也不是萌的. 现在SOL想知道从l到r的所有整数中有多少个萌数. 由于答案可能很大,所以只需要输出答案对1000000007(10^…
题目大意:求区间 [l,r] 内萌数的个数,其中萌数定义为数位中存在长度至少为 2 的回文子串的数字. 题解:l, r 都是 1000 位级别的数字,显然是一道数位 dp 的题目,暴力直接去世. 发现萌数的定义是一个存在性命题,并不好去求解.利用补集思想,将存在性命题转化成任意性命题,即:求区间 [l,r] 中有多少个数不是萌数.发现只需维护当前位的前两位的数值即可判断是不是萌数,即:若一个数是萌数,当且仅当存在形如 "aa" 或 "aba" 类型的子串.利用数位…
敲完这篇题解,我就,我就,我就,嗯,好,就这样吧... 思路分析: 首先我们要知道一个回文串的性质--假如说一个[l-1,r+1]的串是回文的,那么[l,r]一定也是回文的. 所以我们只要记录前一个数和前前一个数就可以了,假如说当前数和他们(前一个数和前前一个数)当中的任意一个相等,那么它就一定是一个萌数. 知道了这些我们就可以开始设计状态了. dp[pos][pre1][pre2]表示当前找到pos位,前一个数为pre1,前前一个数为pre2时的萌数个数. 代码实现: var a:array[…
正解:数位$dp$ 解题报告: 传送门! 非常套路的数位$dp$,,,?打起来就很爽昂,,,不要脑子,我就很爱嘻嘻嘻 然后$[l,r]$这种问题不显然考虑套路地搞成$[1,l-1]$和$[1,r]$嘛,然后就只要想下$dfs$就成 不难发现回文串不好判,考虑正难则反,于是考虑只要找出所有非回文串的就成嘛. 考虑怎么样会是个回文串,不难想到,根据回文串的性质,如果有个大回文串,则它的中心子串一定也是个回文串,也就是说,如果有一个大回文串,则必有一个长度为2或长度为3的回文串,所以只要能保证不存在长…
P3414 SAC#1 - 组合数 题目背景 本题由世界上最蒟蒻最辣鸡最撒比的SOL提供. 寂月城网站是完美信息教室的官网.地址:http://191.101.11.174/mgzd . 题目描述 辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌! 今天他萌上了组合数.现在他很想知道simga(C(n,i))是多少:其中C是组合数(即C(n,i)表示n个物品无顺序选取i个的方案数),i取从0到n所有偶数. 由于答案可能很大,请输出答案对6662333的余数. 输入输出格式 输入格式: 输入仅包含一个整…
时间紧张,就不讲那么详细了. 之前一直被深搜代码误解,以为数位dp 其实就是记忆化深搜...(虽说爆搜确实很舒服而且还好想) 但是后来发现数位dp 的标准格式其实是 预处理 + dp ...... 数位dp 的介绍 数位 dp 其实就是让你处理出某一区间范围内满足条件的数的个数,但是一般这个区间范围都是令人绝望的大...比如 1e9 都算良心了,常规的都是 1e18 甚至是 1e10n (n 一般为 3 或 5)次这样的... 数位dp 的一般解法 那么我们知道肯定不能在区间内一个个去判断数字是…
最近刷题的同时还得填填坑,说来你们也不信,我还不会数位dp. 照例推几篇博客: 数位DP讲解 数位dp 的简单入门 这两篇博客讲的都很好,不过代码推荐记搜的形式,不仅易于理解,还短. 数位dp的式子一般是这样的:dp[i][][]表示到第\(i\)位,而后面几维就因题而异了. 不过通用的思想就是利用前缀相减求出区间信息. 算了上题吧. [SCOI2009]windy数 这都说是数位dp入门题. 根据这题,受到影响的数只有相邻两个,因此dp[i][j]表示到第\(i\)位(从高往低)上一位的数\(…
数位DP学习笔记 什么是数位DP? 数位DP比较经典的题目是在数字Li和Ri之间求有多少个满足X性质的数,显然对于所有的题目都可以这样得到一些暴力的分数 我们称之为朴素算法: for(int i=l_i;i<=r_i;i++) if(check(i)) ans++; return ans; 所有的算法都是为了减少运算步骤这一个基本原理来优化的,我们考虑这样暴力的优化,显然数的位数上面满足X性质,有些时候X性质并不是单单对于一个数的个体进行限制的 而是在某个限定区域里面的所有数字有一个X的限制,这…
P4095 [HEOI2013]Eden 的新背包问题   P2657 [SCOI2009]windy数   P3413 SAC#1 - 萌数   P3205 [HNOI2010]合唱队   P4767 [IOI2000]邮局   P3147[USACO16OPEN]262144   P3146 [USACO16OPEN]248   P1070 道路游戏   P1095 守望者的逃离   P1108 低价购买   P1174 打砖块   P1351 联合权值   P1578 奶牛浴场   P16…
数位dp:处理数字数位关系的一种dp方式. 一般的题目特征十分明显: 1.一般和数字本身有很大关系. 2.一般求数字在区间L,R中的一些信息 3.L,R一般很大,通常能达到long long级别. dp方式也比较有套路: 一般有三种方法: 本质上的相似之处,都是集中在处理“填数有无限制”,“填数无限制情况下的固定方案数”,“某些已经搜出来的固定方案数” 1.记忆化搜索(没用过) 是一种倒着记忆的方法. 2.递推(我基本都是这个方法) 正着递推出答案. 一般会从高位向低位递推,讨论高位的填数方法,…
题集见大佬博客 不要62 入门题,检验刚才自己有没有看懂 注意一些细节. 的确挺套路的 #include<bits/stdc++.h> #define REP(i, a, b) for(register int i = (a); i < (b); i++) #define _for(i, a, b) for(register int i = (a); i <= (b); i++) using namespace std; ; int a[MAXN], dp[MAXN][MAXN][…
目录 写在前面 引入 求解 特判优化 代码 例题 「ZJOI2010」数字计数 「AHOI2009」同类分布 套路题们 「SDOI2014」数数 写在最后 写在前面 19 年前听 zlq 讲课的时候学的东西,当时只会抄板子,现在来重学一波= = 一个板子水一天题(不事 引入 「SCOI2009」Windy 数 给定参数 \(l,r\),求 \([l,r]\) 中不含前导零且相邻两个数字之差至少为 \(2\) 的正整数的个数. \(1\le l\le r\le 2\times 10^9\). 1S…
幸运串 题意:长度为n,字符集大小为m的字符串中有多少不同的不含回文的串 n,m<10^9 我靠这不就是萌数的DP部分吗 有规律 f[2][j][k]=1 f[i][j][k]=sigma{f[i-1][k][z]|z!=j&&z!=k} 答案就是m*(m-1)*(m-2)^(n-2) #include <iostream> #include <cstdio> #include <algorithm> #include <cstring>…
预警:由于是从$Vergil$学长那里和$Mathison$大神那里学来的,所以清一色记忆化搜索!qwq 巨佬的数位dp讲解(未来的咕咕日报头条): https://www.luogu.org/blog/virus2017/shuweidp 数位dp嘛,顾名思义...就是与每个数上的那位有关系...(废话) 一般问题形式都是,在区间$[l,r]$中,满足xx条件的数有多少.然后数据范围一般巨大,枚举是不可能的,这辈子是不可能的.所以一般我们都把它当做字符串处理,预处理出每一位的数(数位),即之后…
目录 数位dp 笔记 解决的问题 & 主体思想 入门 -- windy数 绕一个弯 -- 萌数 the end? -- 恨7不成妻 小心细节 [SDOI2016]储能表 复杂度起飞 [AHOI2009]同类分布 数位dp 笔记 数位dp一直是我的弱项,惦记好久了,最近补了补,感觉还行. 解决的问题 & 主体思想 解决一个区间中,满足某些条件(与每一位有关)的数的数量(或者带权的和). 做法:考虑求前缀 \([1,x]\) 的答案. 如果你是新手,请先考虑一下大概要怎么做,再继续看 先把位(…
P3414 SAC#1 - 组合数 218通过 681提交 题目提供者ProjectWTA 标签 难度普及/提高- 时空限制1s / 128MB 提交  讨论  题解 最新讨论更多讨论 讨论区出bug了 题目错啦 其实是很简单的题 题目背景 本题由世界上最蒟蒻最辣鸡最撒比的SOL提供. 寂月城网站是完美信息教室的官网.地址:http://191.101.11.174/mgzd . 题目描述 辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌! 今天他萌上了组合数.现在他很想知道simga(C(n,i))…
P3414 SAC#1 - 组合数 题目背景 本题由世界上最蒟蒻最辣鸡最撒比的SOL提供. 寂月城网站是完美信息教室的官网.地址:http://191.101.11.174/mgzd . 题目描述 辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌! 今天他萌上了组合数.现在他很想知道simga(C(n,i))是多少:其中C是组合数(即C(n,i)表示n个物品无顺序选取i个的方案数),i取从0到n所有偶数. 由于答案可能很大,请输出答案对6662333的余数. 输入输出格式 输入格式: 输入仅包含一个整…
萌新做词典第一篇,做得不好,还请指正,谢谢大佬! 写了一个词典,用到了Trie字典树. 写这个词典的目的,一个是为了压缩一些数据,另一个是为了尝试搜索提示,就像在谷歌搜索的时候,打出某个关键字,会提示一串可能要搜索的东西. 首先放上最终的结果: input: 编程入门 编程软件 编程学习 编程学习网站 output: char : 件 word : 编程软件 char : 习 word : 编程学习 char : 网 word : 编程学习网 char : 门 word : 编程入门 其实这里不…
艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输) 该系统基于开源的networkComms通讯框架,此通讯框架以前是收费的,目前已经免费并开元,作者是英国的,开发时间5年多,框架很稳定. 项目地址:http://www.51aspx.com/code/MSDCArtMengFileUpload 咨询qq:286275658 演示程序下载地址:http://pan.baidu.com/s/1geVfmcr 服务器端运行效果图: 服务器端配置文件: <?xml version="1.…