首页 > TAG信息列表 > 阿狸

洛谷 P2414 / LOJ 2444 「NOI2011」阿狸的打字机

洛谷传送门 LOJ 传送门 思路 首先套路地建 AC 自动机,并存下每一行的终止结点,记为 \(a_x\)。 考虑在 AC 自动机上匹配的过程,\(x\) 在 \(y\) 中出现的次数就相当于在 Trie 树上 \(a_y\) 到根结点的链上,每个结点都不断跳 fail,有多少个结点是 \(a_x\),也就是在 fail 树上有多少个结点在

BZOJ2434: [Noi2011]阿狸的打字机(AC自动机 树状数组)

Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 4140  Solved: 2276[Submit][Status][Discuss] Description  阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。经阿狸研究发现,这个打

Cadence Orcad Allegro安装/阿狸狗破戒大师方法BY吴川斌

注意,分享的安装包仅限于个人学习研究用途,不得用于任何商业环境,如果工作后发现公司忘了买License,一定要记得提醒老板购买授权 (●’?’●) https://www.codenong.com/cs109752193/ https://www.sdbeta.com/article/2018/0204/219100.html (不采用阿狸狗破戒破解得方法) 0、阿狸

KDA 阿狸 同人3d壁纸 家居服 英雄联盟P图 S10

P4643 [国家集训队]阿狸和桃子的游戏

Miku 贪心,只有点权的时候显然好做,但是还有边权怎么办呢 假设这里有一条边,边权为2v,然后两个点的点权为a,b,我们把边权分成两部分,然后平摊到两个点上,那么 边权变成了a+V,B+V 假如一人选了一个选了 那么a+V-(b+v) 和a-b一样。 同理,假如两个都归了一个人,那么a+V+b+v和-a-b-v-v显然和原

【题解】[NOI2011]阿狸的打字机

阿狸的打字机 \(\text{Solution:}\) 首先观察三种操作:一种是插入一个字符,一种是退回上一步(回到父亲节点)。 所以,我们可以对操作串进行模拟,并处理出每一个串在树上的位置。 接下来,我们考虑如何处理询问。\(y\)是需要跑的串,于是我们应按照\(y\)排序以保证在处理这个\(y\)之前,它本身

「NOI 2011」阿狸的打字机 「AC 自动机」「数据结构」

首先你需要明白,你不能把每个串都一遍遍插入,复杂度不对。 但是显然,trie树的规模很小。所以我们可以直接边在trie上dfs边插入,代码比较可读: void construct(char* s) { int u = 0; for (int i = 1; s[i]; ++i) { if (s[i] >= 'a' && s[i] <= 'z') { if

阿狸的打字机

题目描述 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有 2828 个按键,分别印有 2626 个小写英文字母和 B、P 两个字母。经阿狸研究发现,这个打字机是这样工作的: 输入小写字母,打字机的一个凹槽中会加入这个字母(这个字母加在凹槽的最后)。 按一下

阿狸农场系统开发APP

  阿狸农场系统开发找【廖生:191-5743-0734微电】,阿狸农场模式系统开发。阿狸农场软件app开发。类似阿狸农场平台模式开发   一:阿狸农场系统介绍:   阿狸农场手机应用系统开发   注册新会员增送新手礼包,包括钻石,种子道具,   二:推奖   ①推会员充10金比奖励一个金比  

bzoj 2563: 阿狸和桃子的游戏 贪心

这个真的好巧妙啊~  如果只考虑点权的话显然直接按照权值大小排序即可.  但是加入了边权,就有了一个决策的问题.  于是,我们将边权分一半,分给两个端点.    如果一个人拿了两个端点,则边权都会加上.  否则,边权会抵消.    直接按照点权+一半边权排序即可.     code:  #inc

BZOJ 2434: [Noi2011]阿狸的打字机 AC自动机+fail树+线段树

Code:  #include <queue> #include <cstdio> #include <cstring>#include <vector> #include <algorithm> #define N 300003 #define setIO(s) freopen(s".in","r",stdin) using namespace std; struct Seg { #def

[NOI2011] 阿狸的打字机

题意 给定n个字符串,m次询问(\(n,m \leq 1e5\))每次询问一个串在另一串的出现次数,可以离线处理 思路 首先肯定是对n个串建AC自动机 如何求一个串的子串?假设i点对应这个字符串,那么从fail[ i ]就表示i串的最长后缀,一直向上跳fail,就可以得到i串的所有后缀。对于i的所有子串,我们可以理解为

暑假 D5 [NOI2011]阿狸的打字机(AC自动机+树状数组)

题目描述 给一个字符集大小为26的Trie树,节点数目为n,有Q次询问,每次问一个节点对应的字符串在另一个节点对应的字符串中作为子串出现了多少次 输入格式: 输入的第一行包含一个字符串,按阿狸的输入顺序给出所有阿狸输入的字符。 第二行包含一个整数m,表示询问个数。 接下来m行描述所有由

『贪心』阿狸和桃子的游戏

题解 显然,这道题目的点权很容易去分配,其关键便在于边权的处理上,即如何处理两种边权的情况。 还有一个问题在于,什么叫做当前的最优选择,点权和边权的不同意味着有不同的选择方法,这也让这道题变得非常的棘手。 我们便来思考一下,如何解决这两个问题呢? 显然这个问题,每一步都要

【JZOJ3301】家族

description 阿狸和桃子养了n 个小阿狸, 小阿狸们每天都在一起玩的很开心. 作为工程师的阿狸在对小阿狸们之间的关系进行研究以后发现了小阿狸的人际关系由某种神奇的相互作用决定, 阿狸称之为“键”. 每个键有一个频率, 称为键频率, 是一个整数(单位Hz)。 由于小阿狸们每天成集团

「NOI 2011」阿狸的打字机

Description 给定 nnn 个字符串,mmm 次询问第 xxx 个字符串在第 yyy 个字符串中出现了多少次。n,m≤105n,m\le10^5n,m≤105 Solution 建立AC自动机和 failfailfail 树,问题转化为:failfailfail 树上 xxx 串的终止节点的子树中有多少个节点属于 yyy 串。 求出 failfailfail 树的 d

Luogu P4643 阿狸和桃子的游戏

题解 传送门 既然题目要求的是差值 所以对于减数和被减数同时加上一个相同的数是毫无影响的 (详情参考人教版六年级上册数学教材) 所以不妨把边权分成两半 分别加给两个顶点 然后,直接每次选最大的点就好了 代码 #include<bits/stdc++.h> using namespace std; #define re register

BZOJ2434: [NOI2011]阿狸的打字机(AC自动机+dfs序+树状数组)

[NOI2011]阿狸的打字机 题目链接:https://www.luogu.org/problemnew/show/P2414 题目背景 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。 题目描述 打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。经阿狸研究发现,这个打字机是这样工作的: ·输入小

[BZOJ]2563: 阿狸和桃子的游戏

题解:神贪心.......我们考虑对于每条边的选择      假设某方对于当前这条边的端点都不选择  那么其获得-v的价值    假设某方对于当前这条边的端点只选择一个   那么其获得0的价值   假设某方对于当前这条边的端点选择两个  那么其获得v的价值 综上可知  我们可以把

bzoj2434 阿狸的打字机

题目链接 思路 可以发现,其实题目中所描述的操作,就是在\(AC\)自动机上走的过程。输出就是打上标记。删除就是返回父亲节点。 然后看询问。每次询问字符串\(x\)在字符串中\(y\)出现的次数。其实也就是问在\(AC\)自动机上的\(y\)这个字符串上,有多少位置的\(fail\)指针指向\(x\)的结尾