单词

RNN语言模型和序列生成

Deadly 提交于 2019-11-28 22:48:37
语言模型告诉你特定句子出现的概率是多少。 为了建立一个好的RNN模型,需要包括很大语料库的训练集。 将每个单词都转成one-hot向量,包括结尾标记和标点符号、未见单词,作为输入。 第一个时间步的输入是零向量,做一个sorftmax,输出字典里所有单词的概率。以后每一步的输入为一个单词one-hot,输出下一个单词的概率。对所有输出交叉熵求和,再反向传播。 将输出相乘得到整个句子的概率。 来源: https://www.cnblogs.com/biwangwang/p/11431843.html

洛谷 U85684 读单词

做~自己de王妃 提交于 2019-11-28 22:32:07
洛谷 U85684 读单词 洛谷传送门 题目背景 由于一些特殊心理的影响,SeawaySeaway主动请缨担任了英语课代表,主要负责班级的课前单词领读工作。 题目描述 SeawaySeaway在领读单词的时候有一个癖好:因为SeawaySeaway是一个极迷信的人,他固执地认为,如果一个单词中出现次数最多的字母出现的次数为质数,但出现次数最少的字母出现的次数不为质数,或者出现次数最少的字母出现的次数为质数,但出现次数最多的字母出现的次数不为质数,那么这个词就是个“好词”,一定要读!如果一个单词中出现次数最多和最少的字母出现的次数都为质数,那么这个词就是个“坏词”,一定不能读!如果一个单词中出现次数最多和最少的字母出现的次数都不为质数,那么这个词就是个“中性词”,读不读看SeawaySeaway心情好坏。但是领读要快速,留给SeawaySeaway判断这个词到底是“好词”、“坏词”还是“中性词”的时间太短了,所以他需要你编写一个程序,帮他确定一个词到底应不应该读。 输入格式 输入文件的第一行包含一串长度为NN的字符,表示SeawaySeaway要读的单词。 输出格式 输出文件只有一行。如果这个单词应该读,就输出“Read it!”,如果不应该读就输出“Shut up!”,如果是“中性词”,就输出“Remember her!”。 输入输出样例 输入 #1 复制 seaway 输出 #1

NOIP2008提高组笨小猴题解

邮差的信 提交于 2019-11-28 20:31:36
NOIP2008提高组DAY1T1 题目描述 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。 输入输出格式 输入格式: 输入文件word.in只有一行,是一个单词,其中只可能出现小写字母,并且长度小于100。 输出格式: 输出文件word.out共两行,第一行是一个字符串,假设输入的的单词是Lucky Word,那么输出“Lucky Word”,否则输出“No Answer”; 第二行是一个整数,如果输入单词是Lucky Word,输出maxn-minn的值,否则输出0。 输入输出样例 输入样例#1: [input1] error [input2] olympic 输出样例#1: [output1] Lucky Word 2 [output2] No Answer 0 说明 【输入输出样例1解释】 单词error中出现最多的字母r出现了3次,出现次数最少的字母出现了1次,3-1=2,2是质数。 【输入输出样例2解释】 单词olympic中出现最多的字母i出现了2次

2015年蓝桥杯C/C++ B组题目题解

徘徊边缘 提交于 2019-11-28 19:34:33
1. 输入一个字符串,求它包含多少个单词。单词间以一个或者多个空格分开。 第一个单词前,最后一个单词后也可能有0到多个空格。 比如:" abc xyz" 包含两个单词,"ab c xyz " 包含3个单词。 如下的程序解决了这个问题,请填写划线部分缺失的代码。 注意:只填写划线部分的代码,不要填写任何多余的内容。比如已经存在的小括号,注释或说明文字等。 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> #include <math.h> using namespace std; int get_word_num(char* buf) { int n = 0; int tag = 1; char* p = buf; for( ;*p!=0&&*p!=13 && *p!=10; p++) { if(*p==' '&&tag==0) tag=1; if( *p!=' ' && tag==1 ){ n++; tag=0; } } return n; } int main() { char buf[1000]; fgets(buf, 1000, stdin); printf("%d\n", get_word_num(buf)); return 0; } 2. 1/1 + 1/2 + 1

#(|模板|字符串算法+区间DP)P1026 统计单词个数(提高+/省选-)

混江龙づ霸主 提交于 2019-11-28 19:28:59
题目描述 给出一个长度不超过 200 2 0 0的由小写英文字母组成的字母串(约定;该字串以每行 20 2 0个字母的方式输入,且保证每行一定为 20 2 0个)。要求将此字母串分成 k k份( 1<k \le 40 1 < k ≤ 4 0),且每份中包含的单词个数加起来总数最大(每份中包含的单词可以部分重叠。当选用一个单词之后,其第一个字母不能再用。例如字符串 this t h i s中可包含 this t h i s和 is i s,选用 this t h i s之后就不能包含 th t h)。 单词在给出的一个不超过 6 6个单词的字典中。 要求输出最大的个数。 输入格式 每组的第一行有 2 2个正整数( p,k p , k) p p表示字串的行数, k k表示分为 k k个部分。 接下来的 p p行,每行均有 20 2 0个字符。 再接下来有 1 1个正整数 s s,表示字典中单词个数。( 1 \le s \le 6 1 ≤ s ≤ 6) 接下来的 s s行,每行均有 1 1个单词。 输出格式 1 1个整数,分别对应每组测试数据的相应结果。 输入输出样例 输入 #1 复制 1 3 thisisabookyouareaoh 4 is a ok sab 输出 #1 复制 7 说明/提示 this/isabookyoua/reaoh 预备知识: c++中string类型的用法:

洛谷 P1666 前缀单词 题解

拥有回忆 提交于 2019-11-28 17:37:12
题意:给n个单词,如果单词a为单词b的前缀则a,b不能共存,问能共存的集合数(包括空集) 一道dp题,排序后判断,f[i][j]表示i和j是否能共存,f[i][j]=1表示能共存,初始化dp[i]=1,表示只有i一个单词,dp[i]表示前i个单词且一定含有第i个单词的集合数,如果f[i][j]=1,则dp[j]+=dp[i] (size(j)>=size(i)) 代码 #include<bits/stdc++.h> using namespace std; string a[60]; long long dp[60],ans; bool f[60][60]; int n; bool clu(int i,int j){ if(a[i].size()>a[j].size()) swap(i,j); return a[j].find(a[i])!=0; } int main(){ freopen("prefix.in","r",stdin); freopen("prefix.out","w",stdout); scanf("%d",&n); for(int i=1;i<=n;++i){ cin>>a[i]; } sort(a+1,a+1+n); for(int i=1;i<=n;++i){ dp[i]=1; for(int j=1;j<=n;++j) f[i][j]=clu(i,j);

单词-短语

元气小坏坏 提交于 2019-11-28 16:42:38
http://www.etymonline.com/index.php http://dictionary.reference.com/ Etymology n. 语源,[语] 语源学 wheel rut 车辙 manuscript n. [图情] 手稿;原稿 Tremendous adj. 极大的,巨大的;惊人的 definitions n. [数] 定义(definition的复数形式) synonyms n. [语] 同义词,同义字;同一性(synonym的复数) antonyms n. [语] 反义词(antonym的复数形式);反义字 cite vt. 引用;传讯;想起;表彰 syllables n. [语] 音节(syllable的复数) they're explanations of what our words meant and how they sounded 600 or 2,000 years ago. The dates beside a word indicate the earliest year for which there is a surviving written record of that word The basic sources of this work are Weekley's "An Etymological

反转字符串中的单词

余生长醉 提交于 2019-11-28 15:40:06
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 示例 1: 输入: "Let's take LeetCode contest" 输出: "s'teL ekat edoCteeL tsetnoc" 注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。 class Solution { public: string reverseWords(string s) { string result; int first = 0; int second = 0; for(int i = 0; i < s.size(); i++){ if(s[i] == ' '){ second = i; string temp = s.substr(first,second-first); temp = singleWord(temp); result += temp; result += ' '; first = i+1; } if(i == s.size()-1){ second = s.size(); string temp = s.substr(first, second-first); temp = singleWord(temp); result += temp; } } return result; } //反转单个单词

洛谷 P1381 单词背诵 解题报告

无人久伴 提交于 2019-11-28 13:49:48
题目 其实这题跟hash没什么关系,直接用队列做就可以了( 时间复杂度还过得去 )。 需要预处理的信息:文章中每个单词对应相同的要背的单词(下标) 这里我先将要背的单词排序,然后二分(lower_bound)查找提高效率(打乱顺序不影响结果) 然后从1到m遍历文章中的单词 要做的事情如下: 1、将当前的下标加入队列,并更新最优解(最多单词数) 2、不难看出:如果队首的元素在队列中已经出现多次(>1),将队首删除答案更优(多余的数) 3、更新最小长度(如果这个单词之前未出现,直接赋值为队列长度,否则与自身取min值) 代码 #include <bits/stdc++.h> using namespace std; int n, m, ans, minl, now, p[100005], vis[1005]; //vis记录出现次数,p表示文章中每个词对应的要背的词 string s, str[1005]; int main() { scanf ("%d", &n); for (register int i = 1; i <= n; ++i) cin >> str[i]; sort (str + 1, str + n + 1); scanf ("%d", &m); for (register int i = 1; i <= m; ++i) { cin >> s; int t =

打一句英文句子,找出其中最长的单词

岁酱吖の 提交于 2019-11-28 13:42:07
找出其中最长的单词,最主要的是要把输入的字符串转换为一个嵌套的数组,因为数组可以把你字符串中的空格自动给你省略掉。而且嵌套在里面的数组,可以用length来计算它的长度,就相当于你数出了那个单词的长度。找出每个嵌套数组的长度。再用另外一个数组接收他们的长度,比较它们长度的大小,找出最大的一个。如果有同样长度的单词,再用一个if判断语句来输出 // 用户输入一段英文,找出该段英文中最长的单词是什么 let readline = require("readline-sync"); console.log("请输入句子:"); let str = readline.question(""); console.log("最长的单词为", longWord(str)); function longWord(str) { let arr = str.split(" "); //将字符串分解为数组 let arrIndex = []; //计算出数组中每个元素的长度 for (let i = 0; i < arr.length; i++) { arrIndex[i] = arr[i].length; } let max = arrIndex[0]; // 找出长度最长为多少 for (let i = 0; i < arrIndex.length; i++) { if (arrIndex[i] >