洛谷-ISBN号码-简单字符串】的更多相关文章

题目描述 Description 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码.ISBN码的首位数字表示书籍的出版语言,例如0代表英语:第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社:第二个分隔符后的五位数字代表该书在该出版社的编号:最后一位为识别码.识别码的计算方…
p1055 ISBN号码[传送门] 算法标签什么的: 思路:直接以字符串的形式读入这一串数字,然后for循环对字符串进行处理,字符串中的数字存进数组中(如果是X,存为10):然后再根据要求判断是否是正确的书码,如果是,输出“Right”,否则先把之前书码的前十位输出,最后输出一位正确的识别码. #include<bits/stdc++.h> using namespace std; ]; ],num,sum; int main(){ scanf("%s",a1); ;i&l…
ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括99位数字.11位识别码和33位分隔符,其规定格式如x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码.ISBN码的首位数字表示书籍的出版语言,例如00代表英语:第一个分隔符-之后的三位数字代表出版社,例如670670代表维京出版社:第二个分隔符后的五位数字代表该书在该出版社的编号:最后一位为识别码. 识别码的计算方法如下…
P1055 ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码.ISBN码的首位数字表示书籍的出版语言,例如0代表英语:第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社:第二个分隔符后的五位数字代表该书在该出版社的编号:最后一位为识别码. 识别码的计…
BZOJ原题链接 洛谷原题链接 可以将\(1\)和\(0\)的个数和看成是\(x\)轴坐标,个数差看成\(y\)轴坐标. 向右上角走,即\(x\)轴坐标\(+1\),\(y\)轴坐标\(+1\),表示这一位为\(1\). 向右下角走,即\(x\)轴坐标\(+1\),\(y\)轴坐标\(-1\),表示这一位为\(1\). 若不考虑题目中的限制,那么这就相当于从\((0, 0)\)出发,走\(n + m\)步到达\((n + m, n - m)\). 相当于从\(n + m\)步中选出\(n\)步向…
卡特兰数 参考博客 介绍 卡特兰数为组合数学中的一种特殊数列,用于解决一类特殊问题 设\(f(n)\)为卡特兰数的第n项 其通项公式为 \[f(n)=\frac{2n\choose n}{n+1} \] 关于它的证明 当然也有递推式 \[f(n)=\sum\limits_{i=0}^{n-1}f(i)\ast f(n-i-1) \] 最常用的则是对于通项的变形式 \[f(n)={2n\choose n}-{2n\choose n-1} \] 在此给出一较易的证明 例题 我们来看一道例题洛谷 p1…
洛谷 这题一看就是卡塔兰数. 因为\(cnt[1] \leq cnt[0]\),很显然的卡塔兰嘛! 平时我们推导卡塔兰是用一个边长为n的正方形推的, 相当于从(0,0)点走到(n,n)点,向上走的步数不能超过向右走,求出的方案数就是卡塔兰数. 即总方案\(-\)不合法方案 -> \(\frac{C_{2n}^{n}}{n+1}\). 这题只是改成了从(0,0)走到(n,m)点,那么就是:\(C^{m+n}_{n}-C^{m-1}_{m+n}\). 因为涉及到除法取模,所以要求逆元. 刚刚好201…
题目描述 输入两个01串,输出它们的最长公共子序列的长度 输入输出格式 输入格式: 一行,两个01串 输出格式: 最长公共子序列的长度 输入输出样例 输入样例#1: 复制 01010101010 00000011111 输出样例#1: 复制 6 说明 01串长度≤10000 数据好水啊 一开始想了一个dp[i]表示以b中到达i位置最长的LCS,f[i]表示他的位置,然后转移就好,不过这样只能处理LCS是从1开始的情况 比如 01110 101100这个数据就过不去了, 然而.. 我得了90...…
又来填一个以前很久很久以前挖的坑 首先如果先抛开折叠的内部情况不谈,我们可以得到这样的一个经典的区间DP的式子 $ f[l][r]=min(f[l][r],f[l][k]+f[k+1][r])(l<=k<=r) $ 这个式子应该很显然吧 然后我们可以继续来思考,折叠时候的情况,比如\(ABCABCABC\),它能折叠成的最短长度就是\(3(ABC)\) 令\(len\)为区间\([l,r]\)中的循环节,\(cal(i)\)表示数字i是几位数,然后我们就可以得到 $ f[l][r]=min(f…
P3989 [SHOI2013]阶乘字符串 题目描述 给定一个由前\(n(\le 26)\)个小写字母组成的串\(S(|S|\le 450)\).串\(S\)是阶乘字符串当且仅当前 \(n\) 个小写字母的全排列(共\(n!\)种)都作为的子序列(可以不连续)出现. 请判断出给定的串是否是阶乘字符串. 当\(n> 21\)时无解,原因不明,留坑 剩下的状压一下就好了 \(dp_s\)表示集合\(s\)的所有排列出现的最前位置 枚举集合最后一个元素更新 \(yuu_{i,j}\)表示\(j\)在\…