P8630 [藍橋杯 2015 國 B] 密文搜索

P8630 [藍橋杯 2015 國 B] 密文搜索 - 洛谷 | 計算機科學教育新生態 (luogu.com.cn)icon-default.png?t=N7T8https://www.luogu.com.cn/problem/P8630

題目分析

? ? ? ? 基本上是hash的板子,但實際上對于密碼串,只要判斷主串中任意連續的八個位置是否存在密碼串即可;那么我們不應該在轉變的哈希值中保留原本有關單個字符的位置信息;而該字符串中僅有小寫字母,那么我們可以對有多少個相同的小寫字母進行進制哈希


代碼示例

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
const int base = 131;
const int N = 1e5 + 10;char s[N], s1[N];
ull t[140];//字母信息
ull a[N]; //主串的字串哈希值ull gets() {int hash = 1;for(int i = 'a'; i <= 'z'; i++) hash = hash * base + t[i];return hash;
}int main() {ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int n; cin >> s >> n;int len = strlen(s);for(int i = 0; i <= len - 8; i++) { //計算各字串哈希值memset(t, 0, sizeof t);for(int j = i; j <= i + 7; j++) t[(int)s[j]]++; //存儲該字串字母個數a[i] = gets(); //存儲hash值}int ans = 0;while(n--) {memset(t, 0, sizeof t);cin >> s1;for(int i = 0; i <= 7; i++) t[(int)s1[i]]++;ull b = gets();for(int i = 0; i <= len - 8; i++) {if(b == a[i]) ans++;}}cout << ans << ' ';return 0;
}

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

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

相關文章

PHP學習筆記1——html標簽以及頭部元素頁面布局

html是一種超文本標識符號&#xff0c;用來在網頁中指定顯示頁面格式顯示 基本格式 <!doctype html> <html><head><title></title> </head><body> </body></html> 包含聲明&#xff0c;框架html&#xff0c;頭部head&a…

怎么把公眾號文章鏈接做成二維碼?掃碼查看公眾號推文的方法

公眾號是現在給用戶分享內容的一種方式&#xff0c;通過輸出優質的公眾號文章內容來為關注者提供信息和內容。當我們發布公眾號文章后&#xff0c;有些情況下會需要將公眾號內容生成二維碼之后&#xff0c;印刷到傳單、展板上來顯示&#xff0c;那么如何將公眾號的文章鏈接轉二…

Commonjs 和 Es Module詳解

一 前言 今天我們來深度分析一下 Commonjs 和 Es Module&#xff0c;希望通過本文的學習&#xff0c;能夠讓大家徹底明白 Commonjs 和 Es Module 原理&#xff0c;能夠一次性搞定面試中遇到的大部分有關 Commonjs 和 Es Module 的問題。 帶上疑問開始今天的分析&#xff1a; …

數字化轉型導師堅鵬:城市數字化轉型頂層規劃方法

城市數字化轉型頂層規劃方法 課程背景&#xff1a; 很多城市存在以下問題&#xff1a; 不知道如何系統地開展數字化轉型工作&#xff1f; 不清楚如何科學地制定數字化轉型戰略&#xff1f; 不知道如何高效地實施數字化轉型戰略&#xff1f; 課程特色&#xff1a; 有…

基于SpringBoot的在線拍賣系統設計與實現(源碼+調試+LW+PPT)

項目描述 臨近學期結束&#xff0c;還是畢業設計&#xff0c;你還在做java程序網絡編程&#xff0c;期末作業&#xff0c;老師的作業要求覺得大了嗎?不知道畢業設計該怎么辦?網頁功能的數量是否太多?沒有合適的類型或系統?等等。今天給大家介紹一篇基于SpringBoot的在線拍…

C++編程知識

&#xff08;1&#xff09;把數組中的所有元素賦值為一個值 memset(arr,0x3f,sizeof(arr))//最大值 memset(arr,0,sizeof(distance));//賦值為0&#xff08;2&#xff09;找最大最小值的下標 int zuixiao-1//設置dist-1只是因為方便選取第一個數作為比較對象而已 for(i0;i<…

VSCode將某個字符替換為換行符并換行顯示

不想每次去查了&#xff0c;我自己寫博客記錄一下~~~ 我的需求是一個一行的數據&#xff0c;用逗號分開&#xff0c;我希望豎著看有規律點&#xff0c;類似這樣 快捷鍵其實想 optioncommandf &#xff0c;但是我每次都記不住&#xff0c;大家可以直接在編輯欄找到replace的地方…

vite 快速搭建 Vue3.0項目

一、初始化項目 npm create vite-app <project name>二、進入項目目錄 cd ……三、安裝依賴 npm install四、啟動項目 npm run dev五、配置項目 安裝 typescript npm add typescript -D初始化 tsconfig.json //執行命令 初始化 tsconfig.json npx tsc --init …

Unity Meta XR SDK 快捷配置開發工具【Building Block/Quick Action/OVRCameraRigInteraction】

文章目錄 &#x1f4d5;教程說明&#x1f4d5;Building Block&#x1f4d5;Quick Action&#x1f4d5;OVRCameraRigInteraction 此教程相關的詳細教案&#xff0c;文檔&#xff0c;思維導圖和工程文件會放入 Spatial XR 社區。這是一個高質量 XR 社區&#xff0c;博主目前在內…

【Swift】NSPopUpButton用法和示例

1.簡介 NSPopUpButton 是 macOS 開發中常用的控件之一&#xff0c;它提供了一個彈出菜單&#xff0c;用戶可以從中選擇一個選項。NSPopUpButton 可以包含多個 NSMenuItem 對象&#xff0c;每個 NSMenuItem 表示一個選項。 2.常用方法 下面是一些 NSPopUpButton 的常用功能和…

進程線程的通信-day5

1、將互斥機制的代碼實現重新敲一遍。 #include<myhead.h>//臨界資源 int num520;//1、創建一個互斥鎖變量 pthread_mutex_t mutex;void *task1(void *arg); void *task2(void *arg); int main(int argc, const char *argv[]) {//2、初始化互斥鎖pthread_mutex_init(&am…

Shiro-14-subject 主體

理解Apache Shiro中的主題 毫無疑問&#xff0c;Apache Shiro中最重要的概念是主題。 “主題”只是一個安全術語&#xff0c;它指的是應用程序用戶特定于安全的“視圖”。Shiro主題實例代表了單個應用程序用戶的安全狀態和操作。 這些操作包括: 身份驗證(登錄) 授權(訪問控…

了解JSON的作用及其方法

什么是json JSON&#xff08;JavaScript Object Notation&#xff09;是一種輕量級的數據交換格式采用完全獨立編程語言的文本格式存儲和表示數據&#xff08;就是字符串&#xff09;。它基于JavaScript語法&#xff0c;但可以被多種編程語言使用和解析。JSON以鍵值對的形式存…

高光譜圖像降噪方法(2D Wavelet, 3D Wavelet, FORPDN, HyRes等方法)

近年來&#xff0c;隨著遙感應用的不斷深入&#xff0c;高光譜圖像研究已經成為遙感領域發展最迅速的技術之一。與其他傳統成像技術相比&#xff0c;高光譜圖像具有更多優勢&#xff1a;更豐富的信息量、納米級的光譜分辨率以及范圍更廣且連續的光譜。因此&#xff0c;在農業、…

C#用反射實現兩個類的對象之間相同屬性的值的復制

目錄 1.適用于創建實體的時候從一個實體作為數據源賦值 2.適用于沒有創建實體&#xff0c;兩個實體之間數據的轉換 1.適用于創建實體的時候從一個實體作為數據源賦值 /// <summary> /// 反射實現兩個類的對象之間相同屬性的值的復制 /// 適用于初始化新實體 /// </…

選擇VR全景行業,需要了解哪些內容?

近年來&#xff0c;隨著虛擬現實、增強現實等技術的持續發展&#xff0c;VR全景消費市場得以穩步擴張。其次&#xff0c;元宇宙行業的高速發展&#xff0c;也在進一步拉動VR全景技術的持續進步&#xff0c;帶動VR產業的高質量發展。作為一種戰略性的新興產業&#xff0c;國家和…

OJ_學生信息系統

題干 輸入樣例&#xff1a; 5 zhaoyi 70 80 90 240 qianer 65 32 77 174 sunsan 100 55 68 223 lisi 86 77 90 253 wangwu 100 59 66 225 輸出樣例&#xff1a; *[qianer] 65 32 77 *[sunsan] 100 55 68 *[wangwu] 100 59 66 lisi 86 77 90 zhaoyi 70 80 90 wangwu 100 59 6…

k8s-權限管理

1. 身份認證 我們在目前的k8s集群環境里面&#xff0c;只能在master節點上執行kubectl的一些命令&#xff0c;在其他節點上執行就會報錯 # 看一下是不是 [rootnode1 ~]# kubectl get nodes E0220 12:50:15.695133 6091 memcache.go:238] couldnt get current server API gro…

云打印api搭建,云打印api怎么對接?

相信近來一段時間云打印概念的火熱讓很多企業和App都有開展打印業務的想法&#xff0c;但是云打印技術的開發又需要有打印設備的支持&#xff0c;這個時候我們可以找到專業的云打印服務平臺進行api對接。那么云打印api搭建&#xff0c;云打印api怎么對接&#xff1f;今天來一起…

es6 中字符串、函數、對象、數組分別新增了哪些擴展

es6 中字符串的擴展 includesstartsWithendsWith padStartpadEnd模版字符串 es6 中函數的擴展 箭頭函數 this 對象指向定義時所在的對象不可以當作構造函數&#xff0c;不可以使用 new 命令不可以使用 arguments 對象&#xff0c;可以使用 rest 參數不可以適用 yield 命令&a…