/*===================================== 最长单词2 总时间限制: 1000ms 内存限制: 65536kB 描述 一个以'.'结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式 输入 一个以'.'结尾的简单英文句子(长度不超过500),单词之间用空格分隔,没有缩写形式和其它特殊形式 输出 该句子中最长的单词.如果多于一个,则输出第一个 样例输入 I am a student of Peking University. 样例输出 Univer…
/*===================================== 过滤多余的空格 总时间限制: 1000ms 内存限制: 65536kB 描述 一个句子的每个单词之间也许有多个空格,过滤掉多余的空格,只留下一个空格 输入 一个字符串(长度不超过200),句子的头和尾都没有空格. 输出 过滤之后的句子 样例输入 Hello world.This is c language. 样例输出 Hello world.This is c language. 思路: 输入字符串a,用gets输入…
/*===================================== 统计字符数 总时间限制: 1000ms 内存限制: 65536kB 描述 判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多 输入 第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z这26个字符组成的字符串 每组测试数据之间有一个空行,每行数据不超过1000个字符且非空 输出 n行,每行输出对应一个输入.一行输出包括出现次数最多的字符和该字符出现的次数,中间是一个空格. 如果有多个字符出现的次…
/*======================================================================== 最长单词2 总时间限制: 1000ms 内存限制: 65536kB 描述 一个以'.'结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式 输入 一个以'.'结尾的简单英文句子(长度不超过500),单词之间用空格分隔,没有缩写形式和其它特殊形式 输出 该句子中最长的单词.如果多于一个,则输出第一个 样例输入 I am a studen…
/*===================================== 单词排序 总时间限制:1000ms 内存限制: 65536kB 描述 输入一行单词序列,相邻单词之间由1个或多个空格间隔,请按照字母顺序输出这些单词(即按照字符串中字母的ASCII码排序,区分大小写,当首字母相同时,比较第2个字母,依次类推),要求重复的单词只输出一次. 输入 一行单词序列,最少1个单词,最多100个单词,每个单词长度不超过50,单词之间用至少1个空格间隔. 输出 按字母顺序输出这些单词,重复的单词只…
/*===================================== 单词翻转 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个句子(一行),将句子中的每一个单词翻转后输出 输入 只有一行,为一个字符串,不超过500个字符.单词之间以空格隔开. 输出 翻转每一个单词后的字符串 样例输入 hello world 样例输出 olleh dlrow 本来是想输入一个单词→翻转该单词并输出,重复这个过程即可.但不懂为何总是提示Presentation Error.好吧,只…
/*====================================================================== 单词替换 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个字符串,以回车结束(字符串长度<=100). 该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写. 现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串. 输入 输入包括3行, 第1行是包含多个单词的字符串 s, 第2行是待替换的单词a,(长度<…
OpenJudge计算概论-取石子游戏[函数递归练习] /*====================================================================== 取石子游戏 总时间限制:  1000ms       内存限制: 65536kB 描述 有两堆石子,两个人轮流去取.每次取的时候,只能从较多的那堆石子里取,并且取的数目必须是较少的那堆石子数目的整数倍.最后谁能够把一堆石子取空谁就算赢.  比如初始的时候两堆石子的数目是25和7 25 7 -->…
LIS(最长递增子序列)和LCS(最长公共子序列)的总结 最长公共子序列(LCS):O(n^2) 两个for循环让两个字符串按位的匹配:i in range(1, len1) j in range(1, len2) s1[i - 1] == s2[j - 1], dp[i][j] = dp[i - 1][j -1] + 1; s1[i - 1] != s2[j - 1], dp[i][j] = max (dp[i - 1][j], dp[i][j - 1]); 初始化:dp[i][0] = dp…
 一.程序思路及相关代码 首先打开文件,代码如下 FILE *fp; char fname[10]; printf("请输入要分析的文件名:\n"); scanf("%s",fname); if((fp=fopen(fname,"r"))==NULL){ //读取文件内容,并返回文件指针,该指针指向文件的第一个字符 fprintf(stderr,"error opening.\n"); exit(1); } 对于文件的扫描,以…
Luogu 3402 最长公共子序列(二分,最长递增子序列) Description 经过长时间的摸索和练习,DJL终于学会了怎么求LCS.Johann感觉DJL孺子可教,就给他布置了一个课后作业: 给定两个长度分别为n和m的序列,序列中的每个元素都是正整数.保证每个序列中的各个元素互不相同.求这两个序列的最长公共子序列的长度. DJL最讨厌重复劳动,所以不想做那些做过的题.于是他找你来帮他做作业. Input 第一行两个整数n和m,表示两个数列的长度. 第二行一行n个整数\[a_1,a_2,-…
    本程序 主要功能: 对有道生词实现批量导入功能   生成有道单词XML的功能,实现快速导入 有了本程序后就可以批量添加生词. 有道生词本 XML模板 分析 word   为单词,可以为一个单词,也可以是词组,甚至语句也可以,中文也可以 单词中不能出现&否则无法导入成功 trans   解释   解释的内容写在这里 phonetic   音标  <![CDATA[这里写音标]]> , <![CDATA[]]> 这表示为空音标    tags    分类   progr…
练习题:统计一段英语文章的单词频率,取出频率最高的5个单词和个数(用python实现) 先全部转为小写再判定 lower() 怎么判定单词? 1 不是字母的特殊字符作为分隔符分割字符串 (避免特殊字符的处理不便,全部替换成'-')2 正则分割 3 遍历字符串,取每个word4 正则匹配 怎么统计个数?将wordlist的word和word的个数放入dict,排序 ''' dinghanhua 2018-11-11 练习:一段英文文章,统计每个单词的频率,返回出现频率最高的5个单词和次数 '''…
编程任务:1.我们碰到了大麻烦,一个新来的传教士惹恼了上帝,上帝很愤怒,要求我们把圣经(bbe.txt)背熟,直至他说哪个单词,我们就要飞快的回答出这个单词在第几行第几个单词位置.听说你是个优秀的程序员,那么髟助我们完成这个不可能的任务吧. 要求如下: 1)/myworks/example/bbe.txt,98版本英文圣经一本 2)输入部分要求如下:php ./example.php [单词] 3)输出部分如下:[单词] 1,2 2,4 5,6 表示:此单词在1行2列(第二个单词),2行4列..…
前言 一提到.net的类型,首当其冲的就是“引用类型”.“值类型”:我们在面试中,也会经常被问“来说说值类型和引用类型....”,这时候第一反应就是:“哎呀,这还不简单,值类型是传递的值的copy,值对象存储在栈中:引用类型传的是引用,对该引用对象的修改都会影响到原本的内容,引用对象存储在堆中”,额...往往第一时间想到此处,似乎就“词穷”了,不知道你有木有这样的感觉.哈哈哈哈!但是真理往往没那么简单 - -! 引用类型(Reference Type) 引用类型和值类型其实有一个很大的.并且很明…
We are given two sentences A and B.  (A sentence is a string of space separated words.  Each word consists only of lowercase letters.) A word is uncommon if it appears exactly once in one of the sentences, and does not appear in the other sentence. R…
最长公共子序列LCS Lintcode 77. 最长公共子序列 LCS问题是求两个字符串的最长公共子序列 \[ dp[i][j] = \left\{\begin{matrix} & max(dp[i-1][j], dp[i][j-1]), s[i] != s[j]\\ & dp[i-1][j-1] + 1, s[i] == s[j] \end{matrix}\right. \] 许多问题可以变形为LCS问题以求解 class Solution { public: /** * @param…
最长不下降/不上升子序列&&最长上升/下降子序列 struct cmp1{bool operator()(int a,int b){return a>b;}}; int main() { while(cin>>a[++n]); n--; ) { cout<<<<endl<<<<endl; ; } dp1[]=a[];dp2[]=a[]; dp3[]=a[];dp4[]=a[]; ,len2=,len3=,len4=; ;i&…
最长公共子序列(不连续) 实际问题中也有比较多的应用,比如,论文查重这种,就是很实际的一个使用方面. 这个应该是最常见的一种了,不再赘述,直接按照转移方程来进行: 按最普通的方式就是,直接构造二维矩阵,两个序列分别是Ai 以及 Bj ,c[i,j]就表示的是第一个序列的从开始到第Ai个元素,以及第二个序列的从开始到第Bj个元素,这两部分序列的最长的公共子序列,如果ai==bj,则斜对角加1,否则就是前面和上面的元素中最大的那一个,就是按照这种方式,一层层的向下递推. 最长连续公共子序列 就是st…
/*===================================== 寻找山顶 总时间限制: 1000ms 内存限制: 65536kB 描述 在一个m×n的山地上,已知每个地块的平均高程,请求出所有山顶所在的地块(所谓山顶,就是其地块平均高程不比其上下左右相邻的四个地块每个地块的平均高程小的地方). 输入 第一行是两个整数,表示山地的长m(5≤m≤20)和宽n(5≤n≤20). 其后m行为一个m×n的整数矩阵,表示每个地块的平均高程.每行的整数间用一个空格分隔. 输出 输出所有上顶所在…
/*================================================== 单词倒排 总时间限制: 1000ms 内存限制: 65536kB 描述 编写程序,读入一段英文(英文中不包含标点), 将所有单词的顺序倒排并输出,其中单词以空格分隔. 输入 输入为一个字符串(字符串长度最大为100) 输出 输出为按要求排续后的字符串 样例输入 I am a student 样例输出 student a am I 注:这个代码是覃宗华写的. =================…
/*=========================================================== 最长平台 总时间限制: 1000ms 内存限制: 65536kB 描述 已知一个已经从小到大排序的数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸.例如,在 1,2,2,3,3,3,4,5,5,6中1,2-2,3-3-3,4,5-5,6都是平台.试编写一个程序,接收一个数组,把这个数组最长的平台找出 来.在上面的例子中3-3-3…
/*======================================================================== 寻找下标 总时间限制: 1000ms 内存限制: 65536kB 描述 已知一个整数数组x[],其中的元素彼此都不相同.找出给定的数组中是否有一个元素满足x[i]=i的关系,数组下标从0开始. 举例而言,如果x[]={-2,-1,7,3,0,8},则x[3] = 3,因此3就是答案. 输入 第一行包含一个整数n (0 < n < 100),表示数…
/*====================================================================== 比饭量 总时间限制: 1000ms 内存限制: 65536kB 描述 3个人比饭量,每人说了两句话: A说:B比我吃的多,C和我吃的一样多 B说:A比我吃的多,A也比C吃的多 C说:我比B吃得多,B比A吃的多. 事实上,饭量和正确断言的个数是反序的关系. 请编程按饭量的大小输出3个人的顺序. 输入 无输入 输出 按照饭量大小输出3人顺序,比如: ABC…
/*===================================== 数组逆序重放 总时间限制:1000ms 内存限制:65536kB 描述 将一个数组中的值按逆序重新存放. 例如,原来的顺序为8,6,5,4,1.要求改为1,4,5,6,8. 输入 输入为两行:第一行数组中元素的个数n(1<n<100), 第二行是n个整数,每两个整数之间用空格分隔. 输出 输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔. 样例输入 5 8 6 5 4 1 样例输出 1 4 5 6 8 来…
/*===================================== 求序列中的众数 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个长度为N的整数序列 (不多于128个整数),每个整数的范围在[-10^52,10^52],计算这个序列的众数. 众数是指出现次数最多的那个数. 如果有多个数出现的次数都达到最多,则取在原序列最先出现的数为众数:如果所有的数都相等,则返回"no". 输入 第一行为序列长度N. 然后是N个数据,每一个数的范围都是在[-10^5…
/*======================================================================== 计算鞍点 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个二维 (5*5)数组,每行只有一个最大值,每列只有一个最小值. 如果存在鞍点,则输出鞍点所在的位置(行和列),不存在鞍点时,要输出“not found”. 鞍点指的是数组中的一个元素,它是所在行的最大值,并且是所在列的最小值. 例如:在下面的例子中(第4行第1列的元素就…
/*====================================================================== 文字排版 总时间限制: 1000ms 内存限制: 65536kB 描述 给一段英文短文,单词之间以空格分隔(每个单词应包括其前后紧邻的标点符号).请将短文重新排版,要求如下: 每行不超过80个字符:每个单词居于同一行上:在同一行的单词之间以一个空格分隔:行首和行尾都没有空格. 输入 第一行是一个整数n,表示英文短文中单词的数目. 其后是n个以空格分隔的…
/*====================================================================== 称体重 总时间限制: 1000ms 内存限制: 65536kB 描述 赵.钱.孙.李四个人中既有大人也有小孩,给他们称体重时发现,他们每个人的体重都不一样,且体重(单位:公斤)恰好是10的整数倍,且他们的体重都不高 于50公斤,已知赵.钱两人的体重之和恰好等于孙.李两人的体重之和; 赵.李两人的体重之和大于孙.钱两人的体重之和,并且赵.孙俩人的体重之和…
/*======================================================================== 求满足条件的3位数 总时间限制: 1000ms 内存限制: 65536kB 描述 编写程序,按从小到大的顺序寻找同时符合条件1和2的所有3位数,条件为: 1.该数为完全平方数 2.该数至少有2位数字相同 例如,100同时满足上面两个条件. 输入 输入一个数n,n的大小不超过实际满足条件的3位数的个数. 输出 输出为第n个满足条件的3位数(升序) 样…