51nod 1385凑数字(字符串+构造)】的更多相关文章

题目大意: 给定一个n,要求找出一个最短的字符串S,使得所有1到n的整数都是S的子序列. 比如n=10,那么S=”1234056789”的时候,是满足条件的.这个时候S的长度是10. 现在给出一个n,要求输出最短S的长度. 题解: 只需要看最高位和后面所有位的关系即可 #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int maxn = 1e5; ty…
>>点击进入原题测试<< 思路:这个题是真的想了蛮久,枚举了一下前一百就发现了规律,要想最短的话就是要构建1234567890这个字符串:刚开始找到的规律从1开始枚举到N,每满一百加一,每出现一个各个位数上数字相同的(例如3,22,111)都加一:然后数太大枚举肯定要超时,于是改进了一下,假如这个数是一千,那么它最小位数起码是10*3:假如这个数是一万,那么这个最小位数起码是10*4:依次类推,可以发现最小位数的组成部分肯定有10*(len-1),然后剩下的就是找到看n能被多少个l…
JSON.stringify()方法是将一个javascript值(对象或者数组)转换成为一个JSON字符串:JSON.parse()解析JSON字符串,构造由字符串描述的javascript值或对象…
<!--一个匹配字字符串是aabbcc或aaaabccc或者其他模式的运用--> function isPattern(str, pattern) { let str_a = str.split(" "); let p_a = pattern.split(""); let noCpy = function (arr) { let temp = []; arr.forEach(element => { if (!temp.length || temp…
51Nod 1092 数据结构暑假作业上出现的一题,学习了一下相关算法之后,找到了oj测试能AC. 1.回文串是一种中心对称的结构,这道题可以转变为求最长回文子序列长度的题目.(子序列:可以不连续) 2.可以得到公式: ans(最少插入字符)= 字符串总长度 - 最长回文子序列长度 3.如何求最长回文子序列的长度呢? wsx dalao的思路是对区间进行维护(我暂时还写不出来),更一般的做法是动态规划(Dynamic Programming). dp 粗略的可以理解为一个状态向另一个状态的转移.…
一.概述                                                    同上一篇tcp一样,udp也是封装在ip报文里面.创建UDP的原始套接字如下: (sockfd = socket(PF_INET, SOCK_RAW, IPPROTO_UDP); 同样,如果要构造udp的ip首部,要开启IP_HDRINCL选项! udp首部格式: udp的不可靠性,比tcp报文简单很多.上面的16位UDP长度是UDP首部+普通数据的总长度,这点跟ip首部的16位总长度…
一.概述                                                    tcp报文封装在ip报文中,创建tcp的原始套接字如下: sockfd = socket(PF_INET, SOCK_RAW, IPPROTO_TCP); 此时只能构造tcp报文,如果想进一步构造ip首部,那么就要开启sockfd的IP_HDRINCL选项: ; setsockopt(sockfd, IPPROTO_IP, IP_HDRINCL, &on, sizeof(on)); i…
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1092 这个题是poj-3280的简化版,这里只可以增加字符,设 dp[i][j] 为把以i开头j结尾的子串变为回文串的最少次数, if(s[i]==s[j])  dp[i][j]=dp[i+1][j-1]; else dp[i][j]=min(dp[i+1][j],dp[i][j-1])+1; #include <iostream> #include <cstd…
编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数.许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符. 例如将kitten一字转成sitting: sitten (k->s) sittin (e->i) sitting (->g) 所以kitten和sitting的编辑距离是3.俄罗斯科学家Vladimir Levenshtein在1965年提出这个概念. 给出两个字符串a,b,求…
国际惯例的题面:异或凑出一个数,显然是线性基了.显然我们能把区间[l,r]的数全都扔进一个线性基,然后试着插入w,如果能插入,则说明w不能被这些数线性表出,那么就要输出"NO"了.然而怎么得到这个线性基?我们有两种很显然的暴力:线段树和单调莫队.然而亲测它们都不能AC......(不排除我写丑了)考虑思考一下性质:如果我们能对于每个结束位置,用这个位置前面尽可能靠后的数构造出一个线性基,那么我们查询的时候是不是就能取出结束位置为r的线性基限制用的数出现位置不能早于l,然后直接查询就好了…
1009: [HNOI2008]GT考试 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 4305  Solved: 2637 [Submit][Status][Discuss] Description 阿申准备报名参加GT考试,准考证号为N位数X1X2....Xn(0<=Xi<=9),他不希望准考证号上出现不吉利的数字. 他的不吉利数学A1A2...Am(0<=Ai<=9)有M位,不出现是指X1X2...Xn中没有恰好一段等于A1A…
求字符串和其逆的最长公共子序列,需要添加的字符数就为长度-最长公共子序列长 #include "stdio.h" #include "string.h" #define maxn 1005 char s[maxn],s1[maxn]; int dp[maxn][maxn]; int main() { ,i,j,len; scanf("%s",s); len=strlen(s); strcpy(s1,s); strrev(s1); ;i<le…
超级神题! 有n种字符,若此种字符的编号( \(1\) ~ \(n\)),\(i*2>n\),则他后面可接任意字符.若不是,则他后面接的字符编号至少要是他的两倍. 问长度为m的字符串的个数. 这道题我只想出了 \(O(n^2)\) 的做法,于是叕只能求助题解. 题解的做法和周六第二题有点像,但我并没有分析出最长链的长度小于 \(log_{2}n\) 这个性质.知道这个性质之后,就可以做了. 设 \(f[i]\) 表示长度为 \(i\) 的合法字符串的个数.\(g[i]\) 表示长度为 \(i\)…
回文字符串 回文串是指aba.abba.cccbccc.aaaa这种左右对称的字符串.每个字符串都可以通过向中间添加一些字符,使之变为回文字符串. 例如:abbc 添加2个字符可以变为 acbbca,也可以添加3个变为 abbcbba.方案1只需要添加2个字符,是所有方案中添加字符数量最少的.   Input输入一个字符串Str,Str的长度 <= 1000.Output输出最少添加多少个字符可以使之变为回文字串.Sample Input abbc Sample Output 2 向字符串中间添…
1092 回文字符串 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 回文串是指aba.abba.cccbccc.aaaa这种左右对称的字符串.每个字符串都可以通过向中间添加一些字符,使之变为回文字符串. 例如:abbc 添加2个字符可以变为 acbbca,也可以添加3个变为 abbcbba.方案1只需要添加2个字符,是所有方案中添加字符数量最少的.   Input 输入一个字符串Str,Str的长度 <= 1000. Output 输出最少添加多…
最开始毫无头绪,然后参照了一位dalao的博客,思路是一个正序的字符串将其逆序,然后求最长公共子序列(LCS),emm也属于动态规划. #include <iostream> #include <algorithm> #include <cstdio> #include <cstring> using namespace std; ; char s1[maxn]; char s2[maxn]; int dp[maxn][maxn]; int main(){…
http://acm.hdu.edu.cn/showproblem.php? pid=4850 题意:构造长度为n的字符序列.使得>=4的子串仅仅出现一次 事实上最长仅仅能构造出来26^4+4-1= 456979 的序列,大于该数的都是不可能的.构造方法.就是那种欧拉回路的序列,此题DFS会爆栈.手动扩展栈也能够AC...... 递归形式的開始WA了.没有细调就换非递归了,后来又想了想,尽管自己电脑上执行不了.可是先把长度按小的来.然后调试代码,然后在扩大,AC了,当时错在MOD,递归的MOD应…
目录 @description@ @solution@ @part - 1@ @part - 2@ @part - 3@ @accepted code@ @details@ @description@ 用 N 个不同的字符(编号1 - N),组成一个字符串,有如下要求: (1) 对于编号为 i 的字符,如果2 * i > n,则该字符可以作为结尾字符.如果不作为结尾字符而是中间的字符,则该字符后面可以接任意字符. (2) 对于编号为 i 的字符,如果2 * i <= n,则该字符不可以作为结尾…
Q:给定一个串,问需要插入多少字符才能使其成为回文串,也就是左右对称的串. 经典求LCS题,即最长公共子序列,不用连续的序列.考虑O(n^2^)解法,求LCS起码得有两个串,题中才给了一个串,另一个需要自己造,将给定的串反置,然后求这两个串的LCS.假设两个串为str1和str2,想办法将规模降低,分两种情况考虑: str1[i]==str2[j],则dp[i][j] = dp[i-1][j-1] + 1,其中dp[i][j]表示str1[1~i]与str2[1~j]的最长公共子序列长度. st…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4850 代码如下: #include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> #include <string> #include <vector> #include <map> #include <set> #includ…
Grails的ajax使用json格式返回,在js中构造字符串时若放入<g:link>标签,字符串构造就会错误 如下就会发生错误,导致回调函数无法执行 function show(obj){ var id=obj.value; $.post("rtstudent",{id:id}, function(data){ var datas=eval(data); var str=""; $.each(datas,function(i,st){ str+='&l…
1)字符串操作 strcpy(p, p1)  复制字符串  函数原型strncpy(p, p1, n)   复制指定长度字符串  函数原型strcat(p, p1)   附加字符串  函数原型strncat(p, p1, n)   附加指定长度字符串  函数原型strlen(p)   取字符串长度 函数原型strcmp(p, p1)   比较字符串 函数原型 strcasecmp(p, p1)   忽略大小写比较字符串 函数原型strncmp(p, p1, n)  比较指定长度字符串 函数原型s…
本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作  strcpy(p, p1) 复制字符串  strncpy(p, p1, n) 复制指定长度字符串  strcat(p, p1) 附加字符串  strncat(p, p1, n) 附加指定长度字符串  strlen(p) 取字符串长度  strcmp(p, p1) 比较字符串  strcasecmp忽略大小写比较字符串 strncmp(p, p1, n) 比较指定长度字符串  strchr(p, c) 在字符串中…
1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串 strncmp(p, p1, n) 比较指定长度字符串 strchr(p, c) 在字符串中查找指定字符 strrchr(p, c) 在字符串中反向查找 strstr(p, p…
1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串 strncmp(p, p1, n) 比较指定长度字符串 strchr(p, c) 在字符串中查找指定字符 strrchr(p, c) 在字符串中反向查找 strstr(p, p…
Java开发知识之Java字符串类 一丶简介 任何语言中.字符串都是很重要的.都涉及到字符串的处理. 例如C++中. 字符串使用内存. 并提供相应的函数进行处理 strcmp strcat strcpy....等等 Java中也有字符串处理.不过Java是面相对象的.也就是说字符串是一个对象. 我们需要的字符串都是以类来进行管理的. 二丶String类 Java中的字符串管理类是String类. 1.声明一个字符串 类型 标识符; String str; String是一个字符串类型 str是一…
1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长度字符串 strchr(p, c) 在字符串中查找指定字符 strrchr(p, c) 在字符串中反向查找 strstr(p, p1…
趁着十一就好好补补数据结构吧,通信这个不软不硬的专业,现在还是得好好学学补习补习,,你这个非211的本科生!虽然拿到了一个offer,但是觉得时间还有,得继续拼一拼,希望不辜负! 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符…
1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长度字符串 strchr(p, c) 在字符串中查找指定字符 strrchr(p, c) 在字符串中反向查找 strstr(p, p1…
[题目链接] http://www.51nod.com/contest/problem.html#!problemId=1647 [题意] 给定一个n个字符串的Trie,每次询问一个字符串在Trie上的出现次数. [思路] 将n个字符串构造一个Trie,构造广义后缀自动机,识别Trie中的所有子串. 则问题转化为求子串[l,r]在所属字符串中的出现次数,和 这道题 类似,采用树上倍增得到|right|的方法. 比较恶心的是定位字符串的位置=-=. [代码] #include<set> #inc…