首页 > TAG信息列表 > TJOI2013

网络流棋盘模型 | P3355 骑士共存问题 P4304 [TJOI2013]攻击装置

题面(骑士共存问题) 在一个 \(n \times n\) 个方格的国际象棋棋盘上,马(骑士)可以攻击的棋盘方格如图所示。棋盘上某些方格设置了障碍,骑士不得进入。 对于给定的 \(n \times n\) 个方格的国际象棋棋盘和 \(m\) 个障碍标志,计算棋盘上最多可以放置多少个骑士,使得它们彼此互不攻击。 对于

P3963 [TJOI2013] 奖学金——主席树

最后翻看题解才发现可以不用主席树……就当是练习好了 基本思路 本题要让中位数最大,如果是最小值最大我们可以用二分答案,二中位数最大可不可以呢?显然是不行的,所以我们枚举中位数,判定是否可行。 本题中,\(n\)为奇数。根据贪心,在比中位数大的数据中选\((n-1)/2\)小值,比中位数小的数中

louguP3966 [TJOI2013]单词【AC自动机】

小时候一直不理解为什么老人会呆呆地坐着,望着远方很久很久 少年不会知道自己的勇气意味着什么,他只是在武汉四十度的天气下奋力奔跑。在军训伊始终于成功联系上了导师,一个小时内赶出简历,基于事实发展创造:),既对自身能力惶惶,又隐隐有些期待。我从没想过自己连复读的经历都能拿来利

P4823 [TJOI2013]拯救小矮人

Jennie 反悔贪心 显然要把逃生能力弱的先送出去,也就是排个序。 这时候剩下的怎么办,万一有一些手长腿短的怎么办 先假设所有小矮人站成一排,然后一个个逃。 逃无可逃时候,看看把已经逃出去的中腿最长的拉下来会不会答案更优。 #include<cstdio> #include<iostream> #include<cstring>

洛谷 P3966 [TJOI2013]单词

洛谷 P3966 [TJOI2013]单词 原题链接 Solution AC自动机 洛谷 P5337 \(AC\)自动机(二次加强版)裸题 不多说了,看我博客吧,有详解 洛谷 P5357 【模板】AC自动机(二次加强版) 不知道上面的博客有没有看懂呢? 看不懂没关系,看下面\(\downarrow\) find 函数 食用方法:\(t.find(s, pos)\) 在字符

P4304 [TJOI2013]攻击装置

[TJOI2013]攻击装置 题目描述 给定一个01矩阵,其中你可以在0的位置放置攻击装置。 每一个攻击装置(x,y)都可以按照“日”字攻击其周围的8个位置(x-1,y-2),(x-2,y-1),(x+1,y-2),(x+2,y-1),(x-1,y+2),(x-2,y+1),(x+1,y+2),(x+2,y+1) 求在装置互不攻击的情况下,最多可以放置多少个装置。 输

P4823 [TJOI2013]拯救小矮人

发现无论选择哪些逃跑的小矮人,让他们按逃跑能力从小到大逃走肯定可行。考虑最终序列互换相邻两个小矮人,并且这只跟自己有关显然满足严格弱序。 然后就建个存身高的堆,如果某个小矮人出不去且换掉之前身高最大的小矮人就能出去且当前身高小于换掉的身高就反悔,这样会使得人梯高度增加

【YBTOJ】【Luogu P3966】[TJOI2013]单词

链接: 洛谷 题目大意: 求每个单词分别在论文中出现了多少次。 正文: 对于整篇“论文”,也就是文本串,其实就是各个“单词”,即模式串,连接而成,而且有分隔符。 那么接下来就与二次加强的 AC 自动机板子一模一样了:因为直接跳失配指针会被卡,所以建 fail 树,然后跑 DFS 或者拓扑。 代码: const

题解 P4304 [TJOI2013]攻击装置

题意简述 Link 给定一个 \(n\times n\) 的棋盘,有一些点不能放置棋子。问最多放多少个马,能让这些马互不攻击? \(1 \leq n \leq 200\) 。 Solution 下面的棋盘的下表从 \(1\) 开始。 如果把两个可以放置棋子并且可以互相攻击的点连接,那么就会形成一个无向图,放最多的马就相当于求这张

BZOJ-3170 [Tjoi2013]松鼠聚会(切比雪夫距离转曼哈顿距离)

题目描述   草原上住着一群小松鼠,每个小松鼠都有一个家。时间长了,大家觉得应该聚一聚。但是草原非常大,松鼠们都很头疼应该在谁家聚会才最合理。   每个小松鼠的家可以用一个点 \((x,y)\) 表示,两个点的距离定义为点 \((x,y)\) 和它周围的 \(8\) 个点 \((x-1,y),(x+1,y),(x,y-1)

题解 [TJOI2013]单词

题意:给出\(n\)个单词,求每个单词在这\(n\)个单词中出现的次数。 \(fail\) 树:AC自动机中每个\(fail\)指针的反向边作为一条有向边,因为每个点只有\(1\)个\(fail\)指针,所以除了根节点每个点入度为\(1\),所以图是树形的。 那么对于这道题我们可以建出\(fail\)树,设\(siz_i\)表示有多少个

P3964 [TJOI2013]松鼠聚会

题目链接:https://www.luogu.com.cn/problem/P3964 思路:可以发现题目中是求切比雪夫距离和最小,可以先把切比雪夫距离转换成曼哈顿距离。比雪夫距离(x,y),转换成曼哈顿距离就变成了( (x+y)/2,(x-y)/2 )。为了避免浮点数,可以先不除2,最后结果再除2即可。然后对横坐标和纵坐标分别考虑,分

[Tjoi2013]攻击装置

Description 给定一个01矩阵,其中你可以在0的位置放置攻击装置。每一个攻击装置(x,y)都可以按照“日”字攻击其周围的 8个位置(x-1,y-2),(x-2,y-1),(x+1,y-2),(x+2,y-1),(x-1,y+2),(x-2,y+1), (x+1,y+2),(x+2,y+1)求在装置互不攻击的情况下,最多可以放置多少个装置。 Input第一行一个整

[TJOI2013]松鼠聚会【切比雪夫距离转换曼哈顿距离】

题目链接   首先,愚人节那天,暴力斩获30分,(暴力法真好用!   然后,讲一下解题的思路吧,主要是怎样转换切比雪夫距离这里要有神奇的方法。 首先,我们先列举一下两点间切比雪夫距离的求解公式: 指的是i、j两点的切比雪夫距离 于是,我们再用一些数学上的思维来拆解这个等式关系 这样的做

P3964 [TJOI2013]松鼠聚会

传送门 首先题意就是求一个点到所有其他点的切比雪夫距离和最小 考虑枚举所有点作为答案,那么我们需要快速计算切比雪夫距离和,发现不太好算 根据一些奇怪的套路,我们把坐标系变化,把 $(x,y)$ 变成 $(\frac {x+y} {2} , \frac {x-y} {2} )$ 这样搞以后,原本坐标系的切比雪夫距离就变成

[TJOI2013]单词(AC自动机+前缀和维护)

链接:https://ac.nowcoder.com/acm/problem/20443来源:牛客网 题目描述 某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。 输入描述: 第一个一个整数N,表示有多少个单词,接下来N行每行一个单词。每个单词由小写

P3966 [TJOI2013]单词

P3966 [TJOI2013]单词 题目描述 小张最近在忙毕设,所以一直在读论文。一篇论文是由许多单词组成但小张发现一个单词会在论文中出现很多次,他想知道每个单词分别在论文中出现了多少次。 输入输出格式 输入格式: 第一行一个整数N,表示有N个单词。接下来N行每行一个单词,每个单词都由小

洛谷P3966 [TJOI2013]单词(fail树性质)

P3966 [TJOI2013]单词 题目链接:https://www.luogu.org/problemnew/show/P3966 题目描述 小张最近在忙毕设,所以一直在读论文。一篇论文是由许多单词组成但小张发现一个单词会在论文中出现很多次,他想知道每个单词分别在论文中出现了多少次。 输入输出格式 输入格式:   第一行一个整

P4309 [TJOI2013]最长上升子序列

题目 P4309 [TJOI2013]最长上升子序列 做法 最长上升序列的求法肯定是烂大街了 水题是肯定的,确定出序列的位置然后套个树状数组就好了(强制在线的话改成线段树维护前缀最值也行) 所以说这题其实难点在与怎么让代码简洁,见识到一个新的\(STL\):\(rope\) My complete code #include<bit

[TJOI2013]单词

字符串hash #include<cstdio> #include<vector> #include<string> #include<iostream> #include<cstring> typedef unsigned long long u64; int n,m; int ans[210],len[210]; u64 p[210]; const int maxn = 1e6 + 1000; u64 hsh[maxn],Exp[maxn]

BZOJ3172 [Tjoi2013]单词

题意 某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。 给出一个由若干单词组成的单词表,问每个单词在这个表中出现了几次. 分析 参照jklover的题解。 很像一个 kmp 或是 AC 自动机裸题,然而并没有那么简单.