[TJOI2010]閱讀理解

題目描述
英語老師留了N篇閱讀理解作業,但是每篇英文短文都有很多生詞需要查字典,為了節約時間,現在要做個統計,算一算某些生詞都在哪幾篇短文中出現過。

輸入輸出格式
輸入格式:
第一行為整數N,表示短文篇數,其中每篇短文只含空格和小寫字母。

按下來的N行,每行描述一篇短文。每行的開頭是一個整數L,表示這篇短文由L個單詞組成。接下來是L個單詞,單詞之間用一個空格分隔。

然后為一個整數M,表示要做幾次詢問。后面有M行,每行表示一個要統計的生詞。

輸出格式:
對于每個生詞輸出一行,統計其在哪幾篇短文中出現過,并按從小到大輸出短文的序號,序號不應有重復,序號之間用一個空格隔開(注意第一個序號的前面和最后一個序號的后面不應有空格)。如果該單詞一直沒出現過,則輸出一個空行。

輸入輸出樣例
輸入樣例#1:
3
9 you are a good boy ha ha o yeah
13 o my god you like bleach naruto one piece and so do i
11 but i do not think you will get all the points
5
you
i
o
all
naruto
輸出樣例#1:
1 2 3
2 3
1 2
3
2
說明
對于30%的數據,1 ≤ M ≤ 1,000

對于100%的數據,1 ≤ M ≤ 10,000,1 ≤ N ≤ 1000

每篇短文長度(含相鄰單詞之間的空格) ≤ 5,000 字符,每個單詞長度 ≤ 20 字符

每個測試點時限2秒

這好像是個trie樹的題目,但是蒟蒻的我已經忘了,但仔細想一想其實不用trie樹,只用map,vector就可以了!
對于輸入按照string型輸入,因為我并不會用map套vector,所以我對于每個單詞映射成一個數字,每當一行出現該單詞時就將該行存入該vector下,在查詢時就查詢該單詞映射下數字的vector中存儲的所有數字,同時因為一行可能同時出現多次一個單詞所以需要進行判重。

代碼:


#include<iostream>
#include<cstdio>
#include<map>
#include<vector>
#include<cstring>
using namespace std;
int n,m,cnt;
int flag[500000];
map<string,int>match;
vector<int>G[100010]; 
int main(){cin >> n;for(int i = 1; i<=n; i++){int opt ;cin >> opt ;for(int j = 1; j<=opt; j++){string op;cin >> op;if(!match[op]){cnt++;match[op] = cnt;//映射成數字G[cnt].push_back(i);}else {G[match[op]].push_back(i); }}} cin >> m;for(int i = 1; i<=m; i++){string opt;cin >> opt;memset(flag,0,sizeof(flag));for(int j = 0; j<G[match[opt]].size(); j ++){if(flag[G[match[opt]][j]])continue;//判重flag[G[match[opt]][j]] = 1;cout << G[match[opt]][j] << ' ';}cout <<'\n';}return 0;
}  

轉載于:https://www.cnblogs.com/Euplectella/p/10092940.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/250049.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/250049.shtml
英文地址,請注明出處:http://en.pswp.cn/news/250049.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ccentos 7下安裝php5.6并使用nginx + php-fpm部署多個不同端口網站

作為一個的勤雜工&#xff0c;近期因公司內部信息化的需求&#xff0c;給新進員工提供基礎的知識培訓和介紹&#xff0c;也為了給公司內部建立一個溝通交流的平臺&#xff0c;百度找了開源的百科系統HDwiki和開源的問答系統Tipask問答系統&#xff0c;蛋痛的這兩套系統均是phpm…

Zookeeper基礎使用機制原理

Znode&#xff1a; 1、Znode既是路徑(目錄)也是信息(文件) 2、Znode有兩種分類&#xff1a;一分為臨時節點(會話生命周期)和永久節點&#xff1b;二分為普通節點和順序節點 Watch&#xff1a; 1、監聽與通知機制&#xff0c;可以在節點上監聽其本身(增、刪、改)或其子節點(增、…

JS ajax請求參數格式( formData 、serialize)

1 $("#importBtn").click(function(){2 if($("#conId").val() ""){3 alert("請填寫Id");4 return;5 }6 if($("#fromWhere").val() "…

【小工具分享】 - vscode注釋自動生成

參考 關閉文件頭部注釋 點擊設置 輸入fileheader搜索 關閉頭部注釋 "fileheader.customMade" : {"autoAdd": false }

Spring的bean實例化過程

以XmlBeanFactory為例&#xff0c;最簡單的取bean方式是&#xff1a; BeanFactory factory new XmlBeanFactory(new FileSystemResource("D:\\workspace\\JavaApplication2\\src\\javaapplication2\\spring\\beans.xml")); Car obj (Car)factory.getBean("c…

最全整理瀏覽器兼容性問題與解決方案(轉)

所謂的瀏覽器兼容性問題&#xff0c;是指因為不同的瀏覽器對同一段代碼有不同的解析&#xff0c;造成頁面顯示效果不統一的情況。在大多數情況下&#xff0c;我們的需求是&#xff0c;無論用戶用什么瀏覽器來查看我們的網站或者登陸我們的系統&#xff0c;都應該是統一的顯示效…

【算法】 - 滑動窗口

1. 題目鏈接 2. 分析 最多可以將K個值從0變成1,因此滑動窗口的限制條件: 0的數量(zeros)小于K,算法過程如下 有一個滑動窗口(slipper),每次都會從A中讀入一個數當讀入的數為0時,zeros當zeros的數量大于K時,會取出slipper首部的元素,當取值為0時zeros-- 總體代碼如下: var lo…

Springboot整合thymeleaf模板

Thymeleaf是個XML/XHTML/HTML5模板引擎&#xff0c;可以用于Web與非Web應用。 Thymeleaf的主要目標在于提供一種可被瀏覽器正確顯示的、格式良好的模板創建方式&#xff0c;因此也可以用作靜態建模。你可以使用它創建經過驗證的XML與HTML模板。相對于編寫邏輯或代碼&#xff0…

Java代碼輸出到txt文件(申請專利貼源碼的必備利器)

最近公司在申請專利&#xff0c;編寫不少文檔&#xff0c;項目的代碼量實在是過于龐大。如果一個一個的復制粘貼雖然能夠完成&#xff0c;但是對于程序員而言實在沒有這個必要。shell或者python就能解決這個問題。由于我個人對于shell和python不是非常熟練的情況下&#xff0c;…

【算法】 - 動態規劃 + 位運算

題目描述 思路1: 寫一個返回2進制中1數量的函數countOne遍歷0到num,對每一個數使用countOne,并將結果保存到res中返回 var countBits function (num) {let res new Array(num 1).fill(0);for (let i 0; i < num; i) {res[i] countOne(i.toString(2));}return res; };…

Spring配置AOP切入點execution詳解

例&#xff1a; execution (* com.sample.service…*. *(…)) 整個表達式可以分為五個部分&#xff1a; 1、execution():&#xff1a;表達式主體。 2、第一個*號&#xff1a;表示返回類型&#xff0c; *號表示所有的類型。 3、包名&#xff1a;表示需要攔截的包名&#xff…

Netty

1BS/CS? 2斷點續傳需要activeX,需要獨立客戶端有狀態,tomcat無狀態,或者Netty有狀態,可以斷點續傳 3Netty核心java nio性能比較高 4Jetty和Netty和dubbo區別? 5 轉載于:https://www.cnblogs.com/xinglongbing521/p/10105351.html

sympy科學計算器

SymPy庫常用函數 簡介 本文抄于https://www.cnblogs.com/baby123/p/6296629.html SymPy是一個符號計算的Python庫。它的目標是成為一個全功能的計算機代數系統&#xff0c;同時保持代碼簡 潔、易于理解和擴展。它完全由Python寫成&#xff0c;不依賴于外部庫。SymPy支持符號計算…

【異或運算】 - 交換2個數

1. 代碼 let a 3; let b 4; a a ^ b; b a ^ b; a a ^ b;2. 異或的性質 不同為1,相同為0(可以看做是無進制位的加法)交換律: a ^ b b ^ a;結合律: (a ^ b) ^ c a ^ (b ^ a);0 ^ x x;x ^ x 0; 3. 證明 下面證明1中的代碼 a 3 ^ 4;b (3 ^ 4) ^ 4 3 ^ 0 3;a (3…

Spring底層控制反轉解耦合(IOC)

簡單的例子解釋IOC控制反轉進行解耦合 一、相關概念 &#xff08;1&#xff09;解耦合 解耦合就是把程序中互相不相關或有限相關的模塊分割開來&#xff0c;把不同模塊互相之間的關系用接口進行準確定義&#xff0c;解耦前&#xff0c;兩個模塊之間共享所有信息&#xff1b; &…

Manacher算法學習筆記 | LeetCode#5

Manacher算法學習筆記 DECLARATION 引用來源&#xff1a;https://www.cnblogs.com/grandyang/p/4475985.html CONTENT 用途&#xff1a;尋找一個字符串的最長回文子串時間復雜度&#xff1a;O(N)算法步驟&#xff1a; 1.添加特殊字符 由于回文串的長度可奇可偶&#xff0c;比如…

content-type對照表

轉載于:https://www.cnblogs.com/mxyr/p/9238329.html

【算法小積累】 - 提取非0數最右側的1

參考 - 69:49 const getRightOne num > {return num & (~num 1); };

解耦合

廣大程序猿同胞&#xff0c;經常會看到“解耦合”&#xff0c;也有很多人&#xff0c;會用這個詞來裝X&#xff0c;但是&#xff0c;實際真正能理解的人&#xff0c;并不多。接下來&#xff0c;帶大家深入淺出的走一遍&#xff0c;如何解耦合。 首先&#xff0c;我們要知道&am…