首页 > TAG信息列表 > Prefixes

CodeForces 432D Prefixes and Suffixes

洛谷传送门 CF 传送门 思路 首先求出原串的 \(\mathbf{Z}\) 函数数组 \(nxt\),那么长度为 \(n - i + 1\) 的前后缀满足要求当且仅当 \(i + nxt_i - 1 = n\)。 显然长度为 \(i\) 的前缀的出现次数为满足 \(nxt_j \ge i\) 的 \(j\) 的个数,差分 + 后缀和维护即可。 时间复杂度 \(O(|s|

cf432 D. Prefixes and Suffixes

题意: 输出所有的 \(len\),使得给定字符串的长度为 \(len\) 的前缀与长度为 \(len\) 的后缀相等;并输出每个这种前缀在整个串中(作为子串)的出现次数。 思路: 前缀后缀啥的显然是 kmp 的 next 数组。初始 len=n,不断让 len=next[len] 就能找出所有的 len 重点是它们的出现次数怎么求。对

监听浏览器tab切换

监听浏览器切屏 为了完成验证用户在切换浏览器tab时进行登录再次认证需求需要监听浏览器切换窗口 if (document.hidden !== undefined) { document.addEventListener('visibilitychange', () => { console.log(document.hidden, document.visibilityState) }) }

X86架构指令模拟

前言: 要进行指令模拟,我们先需要了解X86架构下的指令是长什么样子的。根据intel的编程手册我们找到了如下信息。 Intel CPU的机器指令格式如下图所示:   e.g.:图片位于intel开发手册第二卷第二章的2.1 根据开发手册,一条指令由 指令前缀(Instruction Prefixes) + 操作码(Opcode) + ModR

AB213 F Common Prefixes 题解

AB213 F Common Prefixes 题解 题面 定义 \(f(X,Y)\) 为字符串 \(X,Y\) 的公共前缀长度。 给定长度为 \(N\) 的字符串 \(S\),设 \(S_i\) 表示从第 \(i\) 个字符开始的 \(S\) 的后缀。 计算出:对于 \(k=1,2,...,N\),\(f(S_k,S_1)+f(S_k,S_2)+f(S_k,S_3)+...+f(S_k,S_N)\) 的值。 输入

POJ 2001 Shortest Prefixes

传送门 https://vjudge.net/problem/POJ-2001   题目大意就是求每一个字符串的最短前缀,并且这个前缀其他字符串都没有。   一道trie树板子题。建树的时候,每一个结点维护的是经过这个状态的字符串有多少个。然后查询的时候,对于每一个字符串,从头开始跑trie树,找到第一个数是1的结点

POJ2001 Shortest Prefixes

描述 传送门:我是传送门 A prefix of a string is a substring starting at the beginning of the given string. The prefixes of “carbon” are: “c”, “ca”, “car”, “carb”, “carbo”, and “carbon”. Note that the empty string is not considered a prefix in thi

判断标签页显示隐藏(visibilitychange事件)

通过document.hidden属性,可判断页面是否可见。 如果不可见,则document.hidden为true.如果可见,则为false。 但是, 如果该页面只是被其它窗口挡住, 而非最小化该页面。则document.hidden仍然是false. 而不是不可见。 //visibilitychange事件,不同浏览器需要增加不同的前缀 funct

Shortest Prefixes

Aimee 很简单的字典树 不知道为什么,写了struct就会TLE #include<iostream> #include<cstring> #include<cstdio> #include<cstring> using namespace std; struct tr{ int vis; string str; int ne[31]; }tree[100001]; int Aimee=1; int x; int Ai; char ss[1101]

D. Prefixes and Suffixes 解析(思維、字串、Z-Algo)

Codeforce 432 D. Prefixes and Suffixes 解析(思維、字串、Z-Algo) 今天我們來看看CF432D 題目連結 題目 略,請直接看原題。 前言 實際上自己根本沒實作過Z-Algo,感覺很抖。 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 首先看到了後綴和前

Codeforces 1092C Prefixes and Suffixes【字符串+思维】

题目链接:点这里 题意:理解错了题意导致WA好几发,QAQ暴击 题意是判断给你的2*n-2个字符串是前缀还是后缀,不是判断这个字符串的内容...我真的欲哭无泪,理解能力太菜了 思路:将两个n-1长的字符串取出,先判断第一个取出的字符串和给出的字符串前缀的匹配程度。如果匹配程度大于半数,则这个为

CF1384A Common Prefixes 题解

A. Common Prefixes 蒟蒻的第二篇题解。 因为第一项没有前一项,所以可以尽管输出(坏笑)。 本来打算输出随机字符,但是后来为了方便,就干脆全部输出字符 a 。 本题要求输出的字符串前 \(a_i\) 项一模一样,所以只要下一项不一样就够了,同样为了方便,就干脆输出另一个字符( a 或 s )。 下下个字

Educational Codeforces Round 81 (Rated for Div. 2) B - Infinite Prefixes

Infinite Prefixes time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are given string s of length nn consisting of 0-s and 1-s. You build an infinite string t as a concatenation of an i

V - Infinite Prefixes CodeForces - 1295B

天哪!!菜到家啦。 数学+思维。 首先求出一个周期内cnt0-cnt1=c的个数,如果C=0,那么只要在一个周期内有前缀等于x,那么答案就是-1,否则答案就是0 如果C!=0,列一下方程x=t*c+a.即x-a=t*c。,要求t为大于等于0的整数,也就是我们的判断条件。。。。唉。 #include<bits/stdc++.h> using namespac

Educational Codeforces Round 81 B. Infinite Prefixes(数学,字符串,思维)

Educational Codeforces Round 81 B. Infinite Prefixes B. Infinite Prefixes time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are given string ss of length nn consisting of 0-s and 1-s. You bui

Codeforces 1090J Two Prefixes

Two Prefixes 在纸上画了画感受一下可以感觉和循环节有关, 我们把每个可以表示的串写成 pre_a_i + pre_b_j的形式,  我们使得每个串在 i 最大的时候被统计到, 那么我们考虑答案为n * m - 重复的串个数, 对于pre_a_i + pre_b_j 这个串, 我们记b[0] - b[ j ] 的循环节是k, 它被重复算了当

2019牛客暑期多校训练营(第一场)A - Equivalent Prefixes(单调栈)

题意 给定两个$n$个元素的数组$a,b$,它们的前$p$个元素构成的数组是“等价”的,求$p$的最大值。“等价”的意思是在其任意一个子区间内的最小值相同。 $[link]$ 分析 这题有两种做法,笛卡尔树和单调栈,这里暂且只介绍单调栈的做法。 我们先假设$p=i$成立,考虑新加进来的$i+1$,如果以$i

432D Prefixes and Suffixes

题目大意 给你一个串 对于一个子串如果它既是前缀又是后缀 输出它的长度以及它在原串中一共出现了多少次 分析 对于既是前缀又是后缀的判断和126B相同 然后我们只需要记录每个不同的z[i]出现了多少次 然后对于每个合法z[i]输出所有大于z[i]的数的出现次数即可 因为如果长度为z[i]

牛客多校第一场 A Equivalent Prefixes 单调栈(笛卡尔树)

Equivalent Prefixes 单调栈(笛卡尔树) 题意: 给出两个数组u,v,每个数组都有n个不同的元素,RMQ(u,l,r)表示u数组中[l,r]区间里面的最小值标号是多少,求一个最大的m,使得两个数组中[1,m]任一区间的最小值标号都相同 分析 想到最小值标号并且是在一维数组中,就要很自然地想到单调栈,同时笛卡尔

[kuangbin带你飞]专题十六 KMP & 扩展KMP & ManacherK - Count the string HDU - 3336(前缀数量问题)

K - Count the string HDU - 3336 题目链接:https://vjudge.net/contest/70325#problem/K 题目: It is well known that AekdyCoin is good at string problems as well as number theory problems. When given a string s, we can write down all the non-empty prefixes of this

OpenXml开发-填充Excel2007单元格的子函数

原文链接:http://www.cnblogs.com/hjzhang/archive/2009/12/04/2043573.html     //开始一个新行        public static void WriteStartRow(XmlWriter writer, int row)        {                        writ

Equivalent Prefixes

题意: 求一个最大p使得,在区间[1, p] 内的所有区间 a 序列 和 b序列的最小值下标相同 用单调栈来维护,当第i个元素要进栈时,进行必要出栈操作,使得第i个元素进栈后,该栈单调递增,当a,b两栈的元素个数不相等时,则已达到最大 我的是用数组模拟栈   #include<cstdio>#include<cstring>#inc

[2019牛客]第一场A Equivalent Prefixes

题目链接 A: 给你两个长度为n的序列a、b,求一个最大k值使,i-k 中任意一个区间的最小值下标都相同   我们用单调栈处理每个元素作为最小值的左端点。 我们把下标放进栈中,比较的时候比较具体的值,维护一个值逐渐变大的单调栈。 若当前栈为空,则说明没有比当前值更小的元素,那么就从1开始。

A.Equivalent Prefixes

题目大意:等价数组定义为(1≤l≤r≤m)中,所有的子区间都满足最小值下标相等,找出最大的m。 题解:我们要找到最大的m,就要保证两个数组的所有子区间最小值下标相等 所以用一个单调栈来维护一个单调递增的序列,栈底为最小值,保证最小值下标相等,以及栈中元素相同 即可保证子区间最小值下标相等

Prefixes and Suffixes

题目链接:http://codeforces.com/contest/1092/problem/C 题目大意:有一堆字符串,这些字符串是最初始字符串的一些前缀和后缀,现在让你判断输入的字符串是前缀(P)还是后缀(S),输入的字符串中是从1到n-1的长度,每种长度有两个,并按顺序打印出来。 思路:这题其实你只要想到初始的字符串应该有