题目传送门 /* 模拟/字符串处理:主要是对*的处理,先把乘的预处理后再用加法,比如说是:1+2*3+4 = 1+..6+4 = 11 */ #include <cstdio> #include <algorithm> #include <cstring> #include <string> #include <cmath> #include <vector> #include <map> #include <que…
二叉搜索树的结构(30 分) PTA 模拟+字符串处理 二叉搜索树的节点插入和非递归遍历   二叉搜索树的结构(30 分) 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值:若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值:它的左.右子树也分别为二叉搜索树.(摘自百度百科) 给定一系列互不相等的整数,将它们顺次插入一棵初始为空的二叉搜索树,然后对结果树的结构进行描述.你需要能判断给定的描述是否正确.例如将{ 2 4…
题目分析 题目讲的是给你一个串,里面是加法.乘法混合运算(个人赛中误看成是加减乘除混合运算),有两种算法,一种是乘法优先运算,另一种是依次从左向右运算(不管它是否乘在前还是加在前). 个人赛中试着模拟了一下,TLE了,又尝试优化,还是TLE,T了四发,最终以崩溃结束.回去看了看别人代码,发现此题直接模拟即可(至于当时为啥TLE可能与我两个两个的读入有关,其实直接读入字符串即可,具体操作后面进行). 分析:从左向右运算的这里就不再赘述,主要讲一下乘法优先运算如何去写.可以将数字都存入到一个数组中,…
去年省选的题 因为卡了这道题再加上队友占机时 省选第一天华丽爆零了 用事实证明了1+1+1<1的事实 毕竟下半年单挑了东北赛名额 省赛打不出来名额就真的就不怪我了(摔 现在有拿出来做 长个记性 希望今年省选可以卷土重来 #include<bits/stdc++.h> using namespace std; int way(char str[]) // { ]-'; ; while(str[now]) { if(str[now]=='*') { now++; ans*=str[now]-…
题意: 算从左往右的值,先乘后加的值,数的范围<=9= =,然后根据满足的条件输出字符. 思路: 从左往右就是直接来了,先做乘法就是乘法两边的数字靠向右边那个,且左边那个为0,然后所有值一加就好了. #include <bits/stdc++.h> using namespace std; const int N=1e2+10; int zhi[N]; char s[N]; int main() { int n; while(~scanf("%s",s)) { sca…
Numbers That Count Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 20396   Accepted: 6817 Description "Kronecker's Knumbers" is a little company that manufactures plastic digits for use in signs (theater marquees, gas station price…
/* * 4,模拟一个trim功能一致的方法.去除字符串两端的空白  * 思路: * 1,定义两个变量. * 一个变量作为从头开始判断字符串空格的角标.不断++. * 一个变量作为从尾开始判断字符串空格的角标.不断--. * 2,判断到不是空格为止,取头尾之间的字符串即可. *  *  使用char charAt(int index);方法根据index索引,取出字符串 *  使用String substring(int beginIndex, int endIndex)//包含begin 不包…
描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置.注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同,如果给定单词仅是文章中某一单词的一部分则不算匹配. [数据范围] 1 ≤ 单词长度≤ 10. 1 ≤ 文章长度≤ 1,000,000. [输入输出样…
对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11. 输入格式: 输入在一行中给出长度不超过1000的非空字符串. 输出格式: 在一行中输出最长对称子串的长度. 输入样例: Is PAT&TAP symmetric? 输出样例: 11 题意 如上 题解 模拟,直接暴力莽,代码有解释 代码 #include<stdio.h> using namespace std…
描述 谷歌.百度等搜索引擎已经成为了互连网中不可或缺的一部分.在本题中,你的任务也是设计一个搜索论文的搜索引擎,当然,本题的要求比起实际的需求要少了许多. 本题的输入将首先给出一系列的论文,对于每篇论文首先给出标题,然后给出它被引用的次数.然后会有一系列的搜索询问,询问标题中包含特定关键词的论文有哪些. 每一个询问包含一个关键词词(一个单词),你需要找出标题包含关键词的论文. “包含”必须是标题中有一个词正好是给定的关键词,不区分大小写. 对每个询问,都按被引用的次数从多到少输出满足条件的论文的…
Time Zone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4337    Accepted Submission(s): 1278 Problem Description Chiaki often participates in international competitive programming contests. Th…
二叉搜索树的结构(30 分) 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值:若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值:它的左.右子树也分别为二叉搜索树.(摘自百度百科) 给定一系列互不相等的整数,将它们顺次插入一棵初始为空的二叉搜索树,然后对结果树的结构进行描述.你需要能判断给定的描述是否正确.例如将{ 2 4 1 3 0 }插入后,得到一棵二叉搜索树,则陈述句如“2是树的根”.“1和4是兄弟结点”.“3…
题意:给定一个表达式,只有+*,然后问你按照法则运算和从左到右计算结果有什么不同. 析:没什么可说的,直接算两次就好. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <string> #include <cstdlib> #include <cmath> #include <iostream> #…
http://www.cppblog.com/Uriel/articles/101592.html 感觉这个暑假没有去年有激情啊,,,还没到状态就已经块上学了,,, 真是弱暴了,,,找几道模拟题刷刷... 标加号表示已AC... + 1008   历法,不难 + 1102   不难. + 1028   纯模拟.被题目坑了一下.. 1023   貌似搞了一会儿.. 1051   算是模拟,写得比较麻烦,要细心 1099   跟化学式有关的模拟,有意思,高兴的是这题完全是自己想的AC的.. 1107…
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=121897#problem/G Watto and Mechanism Time Limit:3000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Description Watto, the owner of a spare parts store, has recen…
字符串基本操作 字符数组初始化方法 int main() {     //1 {}号法 初始化列表     //数组初始化有2种方法 默认元素个数.指定元素个数     char buf1[] = { 'a', 'b', 'c', 'd', 'e' };    //若没有指定长度,默认数组长度即为参数个数                                                 //若指定长度,指定长度小于参数个数→报错:buf长度多于初始化个数,会自动在后面补充零.   …
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6851631.html  (解题金句:其他问题字符串化,然后调用String类封装方法解决问题: 字符串问题数组化,然后操作字符数组解决问题.) (从字符串中寻找某种性质的子串问题,与从二叉树中寻找某种性质的子树相类似,解题思路为从头到尾模拟拼写字符串的过程,对拼写过程中的每一个字符,对已拼写的子串的进行性质判断,更新相关信息.当拼写到结尾时,记录下的信息即为所求.) 一:字符串问题简述 字符串相关问题通常有…
在C语言中学习字符串时,我们使用的是字符数组的概念. C语言中没有真正意义的字符串.为了表达字符串的概念,我们使用了字符数组来模拟字符串. 在应用程序开发中,我们需要大量的处理字符串,如果还用C语言中的方式,效率就显得太低了. C++中也没有原生的字符串数据类型,C++中为了兼容C,也不支持字符串类型,也是用字符数组和一组函数的方式来实现字符串的操作. 不一样的是C++中支持自定义类型. 解决方案: C++原生系统类型不支持字符串.我们完全可以用自定义类型来实现一个字符串. 标准库中的字符串类:…
字符串是有序字符的集合,C 语言中没有字符串的概念,而是通过特殊的字符数组模拟字符串,是以'\0'结尾的字符数组. 1.字符数组与字符串 (1)在 C 语言中,字双引号引用的单个或多个字符是一种特殊的字面量,被存储于程序的全局只读存储区,在本质上为字符数组,编译器自动在结尾加上'\0'字符. #include <stdio.h> int main(){ '}; //栈,字符数组,注意没有\0 char sa[] = {'W','o','r','l','d','\0'}; //栈 char ss…
在C语言中,没有字符串类型,但是可以通过字符数组来模拟字符串. 字符串可以在栈上,堆上,静态区和常量区进行分配. char buf[50]  = "abc"; char buf[] = "abc"; 对应于第一种,编译器会自动进行优化,也就是buf的前三个元素分别是“a”,“b”,“c”,从buf[3]到buf[49]都是“\0” 对于第二种,编译器会自动推断出元素的长度,因此第二种仅仅相当于是第一种的前4个字符. 上面两种都称为C 类型的字符串,这是因为它们都是以…
//模拟字符串定位函数 // s: abcbbghi // t: ghi // 返回6 #include <iostream> #include <string> #include <algorithm> using namespace std; int main() { string s, t; int len1, len2; int i, j; while(cin>>s) { cin>>t; len1=s.size(); len2=t.siz…
历史的遗留问题在C语言中没有真正意义上的字符串,为了表达字符串这个概念利用字符数组来模拟字符串.C语言不支持真正意义上的字符串 (C++也不支持)C语言用字符数组和一组函数实现字符串操作 (C++中同样支持)C语言不支持自定义类型,因此无法获得字符串类型.(C++中支持自定义类型)解决方案:从C到C++的进化过程引入了自定义类型在C++中可以通过类完成字符串类型的定义问题:C++中的原生类型系统是否包含字符串类型? 标准库中的字符串类C++语言直接支持C语言的所有概念C++语言中没有原生的字符串…
1.字符数组和字符串 C语言没有字符串类型,用字符数组模拟 字符串一定是字符数组,字符数组不一定是字符串 如果字符数组以字符'\0'('\0'等同与数字0)结尾,那么这个字符数组就是字符串 char a[]={'a','b','c'};//字符数组,不要指定大小,否则会添加0,变成字符串 ]={'a','b','c'.'\0'};//字符串 ]={};//字符串 2.初始化 include<stdio.h> int main() { char a[]={'a','b','c'}; printf…
1,本文分析 C++ 中的字符串,C 语言中的字符串利用的是 C 语言中的字符数组,  在 C 语言中没有真正意义上的字符串,利用了字符数组表示了字符串,最初设  计 C 语言仅仅是为了开发 Unix 操作系统,而开发操作系统要处理的仅仅是数  据本身,关于字符串的处理很少,所以说当时没有在 C 语言中内置一个字符串   现在绝大多数都是在用 C 语言开发应用程序,而开发应用程序中对字符串的处 理是非常多的,如果还是用字符数组表达字符串,一定会使得开发效率大大下  降,因此在 C++ 中有必要引…
1. 历史遗留问题及解决方案 (1)历史遗留问题 ①C语言不支持真正意义上的字符串------c语言是用字符数组实现字符串 ②C语言用字符数组和一组函数模拟字符串操作 ③C语言不支持自定义类型,因此无法获得字符串类型 (2)解决方案 ①从C到C++的进化过程引入了自定义类型 ②在C++中可以通过类完成字符串类型的定义 问题:c++中的原生类型系统是否包含字符串类型??? ----------标准库实现 2. 标准库中的字符串类 (1)C++直接支持C语言的所有概念 (2)C++语言中没有原来的字…
C语言中没有专门的字符串类型,所以就用字符数组和字符指针形式表示 1 char arr[]="abcdef"; //字符数组表示的字符串 2 char*arr="abcef"; //常量字符串 对字符串进行操作的函数,可以称为字符串函数,比较常见的有:strlen,strcmp,strcpy,strcat,strncpy,strncat,strncmp,strstr,strtok,strerror strlen strlen是用来计算字符串长度的函数,函数的参数是指…
或许,面试的时候,你可能会被问到怎么模拟字符串的indexOf()函数获取数组的下标,这里是个人实现的一个小函数,里面包含的知识点挺多的,假如是新手,看不懂的地方可以百度,这里就不做详细介绍了,当然,看不懂也可以给我留言,有空会回复你的. /* 获取数组元素的下标, 第一个参数为数组的元素,可为复合类型,但不能为函数和undefined,也不能为空 第二个参数,要从哪个位置向后查找, 负数为从后面位置查找,查找的方向依然是向后查找, 比如说-1,就是最后的位置向后查找,也就是只能和最后一个元素相…

81B

模拟 字符串必须先清零,要不会出现玄学的问题 #include<iostream> #include<cstdio> using namespace std; string s,S; int main() { s="";S=""; getline(cin,S,'\n'); bool flag=false; ;i<S.length();i++) { // cout<<S[i]; if(S[i]!=' ') flag=false…
黑字:认识 红字:要学 未添加:要学 ├─模拟├─字符串│    ├─字符串基础│    ├─manacher│    ├─kmp│    ├─trie│    ├─ac自动机│    ├─后缀数组(sa)│    ├─后缀自动机(sam)│    └─后缀树├─搜索│    ├─深度搜索(dfs)│    ├─记忆化搜索│    ├─广度搜索(bfs)│    ├─双向广搜│    ├─回溯│    ├─A*│    ├─迭代深搜│    ├─IDA*│    └─dfs序├─动态规划│  …
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1115 1115: 最短的名字 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 615  Solved: 234[Submit][Status][Web Board] Description 在一个奇怪的村子中,很多人的名字都很长,比如aaaaa, bbb and abababab. 名字这么长,叫全名显然起来很不方便.所以村民之间一般只叫名字的前缀.比…