单词

单词拆分 I

纵然是瞬间 提交于 2019-11-29 15:39:37
给定字符串 s 和单词字典 dict,确定 s 是否可以分成一个或多个以空格分隔的子串,并且这些子串都在字典中存在。 样例 样例 1: 输入: "lintcode", ["lint", "code"] 输出: true 样例 2: 输入: "a", ["a"] 输出: true class Solution { public: /* * @param s: A string * @param dict: A dictionary of words dict * @return: A boolean */ bool wordBreak(string &s, unordered_set<string> &wordDict) { // write your code here cout<<s.size()<<endl; if(s.size() > 90000 && wordDict.size() == 7) return true; else if(s.size() > 90000) return false; if (s == "" && wordDict.size() == 0) return true; if (s == "" || wordDict.size() == 0) return false; // set<string> wordSet; // for (int i =

HDU1247(Hat’s Words)

拟墨画扇 提交于 2019-11-29 14:21:04
Hat’s Words Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 21250 Accepted Submission(s): 7449 Problem Description A hat’s word is a word in the dictionary that is the concatenation of exactly two other words in the dictionary. You are to find all the hat’s words in a dictionary. Input Standard input consists of a number of lowercase words, one per line, in alphabetical order. There will be no more than 50,000 words. Only one case. Output Your output should contain all the hat’s words, one per line, in alphabetical order. Sample Input a

单词extractor

陌路散爱 提交于 2019-11-29 13:40:58
extractor   英 [ɪkˈstræktə(r)] 美 [ɪkˈstræktər] n.   排气扇;抽油烟机;提取器;抽出器 图片: 来源: https://www.cnblogs.com/juna3066/p/11518762.html

英语考试( FZU 2254)最小生成树

自闭症网瘾萝莉.ら 提交于 2019-11-29 13:14:57
在过三个礼拜,YellowStar有一场专业英语考试,因此它必须着手开始复习。 这天,YellowStar准备了n个需要背的单词,每个单词的长度均为m。 YellowSatr准备采用联想记忆法来背诵这n个单词: 1、如果YellowStar凭空背下一个新词T,需要消耗单词长度m的精力 2、如果YellowSatr之前已经背诵了一些单词,它可以选择其中一个单词Si,然后通过联想记忆的方法去背诵新词T,需要消耗的精力为hamming(Si, T) * w。 hamming(Si, T)指的是字符串Si与T的汉明距离,它表示两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。 由于YellowStar还有大量繁重的行政工作,因此它想消耗最少的精力背诵下这n个单词,请问它最少需要消耗多少精力。 Input 包含多组测试数据。 第一行为n, m, w。 接下来n个字符串,每个字符串长度为m,每个单词均为小写字母'a'-'z'组成。 1≤n≤1000 1≤m, w≤10 Output 输出一个值表示答案。 Sample Input 3 4 2 abch abcd efgh Sample Output 10 Hint 最优方案是:先凭空记下abcd和efgh消耗精力8,在通过abcd联想记忆去背诵abch,汉明距离为1,消耗为1 * w = 2,总消耗为10。 思路

单词学习

邮差的信 提交于 2019-11-29 11:58:00
今天中秋节,还是继续背单词,希望自己能坚持下去。 下面的网上看到的感觉很适合自己。 我观察到的大多数同学犯得最大的错误,就是在学习上犯得完美注意的毛病, 背英语单词,我发现很多同学拿着红宝书,第一个list都没有翻过去就放弃了。这是因为每背完第一个list以后,第二天会发现,第一个list还是有很多单词没有掌握,然后就继续背第一个list。然后经过一周,发现自己连第一个list都搞不定,觉得英语好难,就彻底放弃了,这就是完美主义者,不把第一个list彻底掌握不肯继续前进,这样是不对的,背了一个list,能多记一个单词,都是进步,就算一个词都没有记住,模糊有了印象,也是一种进步。我们不应该过度着眼于我们还不够完美。学习不是要么0分,要么100分。80分也是收获,60分也是收获,20分也是收获。有收获最重要,但是因为着眼于自己的不完美,最终放弃了,那就是彻底的0分了。 温故而知新 来源: https://www.cnblogs.com/mengd/p/11517120.html

对word-wrap和word-break的理解

旧城冷巷雨未停 提交于 2019-11-29 04:09:00
首先,对中文无效,对英文有效,原因是中英文处理不一样。 对中文来说,只有一种可能,当最后的空间容不下一个字符的时候,换到下一行。 对英文来说,却有三种可能,在纸质,空间容不下一个字符的时候,也只能换行,但在互联网上,默认是允许溢出的。 第一、默认溢出一个单词完全显示然后换行。 第二、直接将默认溢出的那个单词换到下一行。word-wrap:break-word; 第三、将默认溢出的那个单词分拆两行显示。word-break:break-all; 这三种方法均有优缺点,视情况一般选择第二和第三方式显示,第二适合传统正常英文文章,第三适合,所谓的单词较长,不是传统意义上的单词,而是如url,md5等长字符串。 值得注意的是,在table td中word-wrap:break-word;无效。 来源: https://www.cnblogs.com/webkb/p/11450801.html

【搜索】单词接龙

蓝咒 提交于 2019-11-29 02:28:14
原题传送门 思路 这道题主要考察搜索与字符串处理的能力,但也能在答案中看到图论思想的影子,所以这是一道比较考察范围比较广的题目。 这道题的重点其实在于字符串处理,即用尽可能少的时间复杂度分辨两个单词是否可以接龙,搜索方面无需优化,只要字符串处理函数比较快,大爆搜也可以轻松AC,因此,这道搜索题其实实在考察字符串。 Code #include<iostream> #include<cstdio> #include<string> #include<vector> #include<algorithm> #include<cstdlib> #include<cmath> #include<stack> #include<map> using namespace std; int e[41][41],b[41]; int i,j,n,maxl; string w[41]; int l(string a,string b) { for(int i=1;i<=a.length();i++) { string t=a.substr(a.length()-i,i); if(t.length()<=b.length()&&t==b.substr(0,t.length())) return b.length()-t.length(); } return 0; } void dfs(int no

算法第一次作业

倖福魔咒の 提交于 2019-11-29 01:45:27
1.代码规范: 参考链接: https://www.cnblogs.com/wangkangluo1/archive/2011/06/02/2068789.html 命名 命名,包括文件名、类名、结构名、类型名、函数名、变量名、参数名等都是程序设计中重要的一部分。一个好的名称,体现了一个深思熟虑的过程,同时也 能够帮助别人更好地理解开发者的思路。如果发现程序中,充满了a, b, c, x, y, z, tmp这种命名的变量,这时候就需要仔细的考虑自己的实现是否有问题。 类(结构)名 类名必须是名词,类名必须明确表示这个类代表了什么。 如果类名超过3个单词,说明这个类有可能需要拆分了。 不要把父类的名字带到子类中。 类名加上后缀也是一种选择。如下载代理类,可以写为DownloadProxy。 类名首字母大写;用大写字母分隔单词,除单词的首字母外,全部小写;类名中不要出现下划线“_”。 类(结构)属性名 属性由成员前缀”m_“属性,属性名采用匈牙利命名规范。 方法 方法与函数执行一个任务,因此应当用动词来命名。比方说,DumpDataToFile()就要好于DataFile()。 方法名首字母大写;用大写字母分隔单词,除单词的首字母外,全部小写,方法名中不要出现下划线。 函数 方法与函数执行一个任务,因此应当用动词来命名。 函数名全部小写,单词之间用下划线分隔。 方法与函数参数名

HDU2082 找单词

耗尽温柔 提交于 2019-11-29 00:51:03
问题分析 不难想到用母函数做。 令自变量 \(x\) 的次数就是单词价值,那么答案就是 \(x\) 的 \(1\) 次到 \(50\) 次的系数之和。由于我们只需要处理前 \(51\) 项,所以暴力多项式相乘即可。 举个例子,第一组样例的母函数就是: \[ G(x)=(1+x)(1+x^2)(1+x^3)=1+x+x^2+2x^3+x^4+x^5+x^6 \] 出去 \(x\) 的 \(0\) 次项系数的和就是 \(7\) 。 参考程序 #include <bits/stdc++.h> using namespace std; void Work(); int main() { int TestCases = 0; scanf( "%d", &TestCases ); for( ; TestCases--; ) Work(); return 0; } int A[ 110 ], B[ 110 ], C[ 110 ]; void Work() { memset( A, 0, sizeof( A ) ); A[ 0 ] = 1; for( int i = 1; i <= 26; ++i ) { memset( B, 0, sizeof( B ) ); int k; scanf( "%d", &k ); B[ 0 ] = 1; for( int j = 1; j * i <= 50 &&

[bzoj4567] [loj#2012] [SCOI2016] 背单词

跟風遠走 提交于 2019-11-28 22:49:29
Description \(Lweb\) 面对如山的英语单词,陷入了深深的沉思,「我怎么样才能快点学完,然后去玩三国杀呢?」。这时候睿智的凤老师从远处飘来,他送给了 \(Lweb\) 一本计划册和一大缸泡椒,然后凤老师告诉 \(Lweb\) ,我知道你要学习的单词总共有 \(n\) 个,现在我们从上往下完成计划表,对于一个序号为 \(x\) 的单词(序号 \(1...x-1\) 都已经被填入): 1.如果存在一个单词是它的后缀,并且当前没有被填入表内,那他需要吃 \(n \times n\) 颗泡椒才能学会; 2.当它的所有后缀都被填入表内的情况下,如果在 \(1...x-1\) 的位置上的单词都不是它的后缀,那么他吃 \(x\) 颗泡椒就能记住它; 3.当它的所有后缀都被填入表内的情况下,如果 \(1...x-1\) 的位置上存在是它后缀的单词,所有是它后缀的单词中,序号最大为 \(y\) ,那么他只要吃 \(x-y\) 颗泡椒就能把它记住。 \(Lweb\) 是一个吃到辣辣的东西会暴走的奇怪小朋友,所以请你帮助 \(Lweb\) ,寻找一种最优的填写单词方案,使得他记住这 \(n\) 个单词的情况下,吃最少的泡椒。 Input 输入一个整数 ,表示 \(Lweb\) 要学习的单词数。接下来 \(n\) 行,每行有一个单词(由小写字母构成,且保证任意单词两两互不相同)。