洛谷P3413 P6754】的更多相关文章

双倍经验题 由于我先做的 P6754,所以一切思路基于 P6754 的题目 " P6754 这题就是 P3413 的究极弱化版 " --By Aliemo. P6754 Description 在给定的 \([a,b]\) 区间内求长度 \(\ge\) \(2\) 的非回文串的个数 Solution 设 \(f[i][j][k]\) 表示长度为 \(i\),最高位为 \(j\) ,次高位为 \(k\) 的非回文串的个数 显然有状态转移方程式 \[f[i][j][k]=\sum_{j/k…
题目链接: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…
题目描述 辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌! 好在在他眼里,并不是所有数都是萌的.只有满足“存在长度至少为2的回文子串”的数是萌的——也就是说,101是萌的,因为101本身就是一个回文数:110是萌的,因为包含回文子串11:但是102不是萌的,1201也不是萌的. 现在SOL想知道从l到r的所有整数中有多少个萌数. 由于答案可能很大,所以只需要输出答案对1000000007(10^9+7)的余数. 输入输出格式 输入格式: 输入包含仅1行,包含两个整数:l.r. 输出格式: 输出仅1行…
题意简述 求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…
题目大意:求区间 [l,r] 内萌数的个数,其中萌数定义为数位中存在长度至少为 2 的回文子串的数字. 题解:l, r 都是 1000 位级别的数字,显然是一道数位 dp 的题目,暴力直接去世. 发现萌数的定义是一个存在性命题,并不好去求解.利用补集思想,将存在性命题转化成任意性命题,即:求区间 [l,r] 中有多少个数不是萌数.发现只需维护当前位的前两位的数值即可判断是不是萌数,即:若一个数是萌数,当且仅当存在形如 "aa" 或 "aba" 类型的子串.利用数位…
正解:数位$dp$ 解题报告: 传送门! 非常套路的数位$dp$,,,?打起来就很爽昂,,,不要脑子,我就很爱嘻嘻嘻 然后$[l,r]$这种问题不显然考虑套路地搞成$[1,l-1]$和$[1,r]$嘛,然后就只要想下$dfs$就成 不难发现回文串不好判,考虑正难则反,于是考虑只要找出所有非回文串的就成嘛. 考虑怎么样会是个回文串,不难想到,根据回文串的性质,如果有个大回文串,则它的中心子串一定也是个回文串,也就是说,如果有一个大回文串,则必有一个长度为2或长度为3的回文串,所以只要能保证不存在长…
敲完这篇题解,我就,我就,我就,嗯,好,就这样吧... 思路分析: 首先我们要知道一个回文串的性质--假如说一个[l-1,r+1]的串是回文的,那么[l,r]一定也是回文的. 所以我们只要记录前一个数和前前一个数就可以了,假如说当前数和他们(前一个数和前前一个数)当中的任意一个相等,那么它就一定是一个萌数. 知道了这些我们就可以开始设计状态了. dp[pos][pre1][pre2]表示当前找到pos位,前一个数为pre1,前前一个数为pre2时的萌数个数. 代码实现: var a:array[…
bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类似于匈牙利(⊙o⊙) (匈牙利的复杂度惊人,1e6秒过) #include <cstdio> ]; ],fir[],to[],nex[]; int N,n,p,q; void add(int p,int q) { nex[++N]=fir[p];to[N]=q;fir[p]=N; } bool f…
没有上司的舞会  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond       题目描述 Description Ural大学有N个职员,编号为1~N.他们有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.每个职员有一个快乐指数.现在有个周年庆宴会,要求与会职员的快乐指数最大.但是,没有职员愿和直接上司一起与会. 输入描述 Input Description 第一行一个整数N.(1<=N<=6000)接下来N行,第i+1…