ICode9

精准搜索请尝试: 精确搜索
  • YbtOJ——字符串处理【例题5】生日相同2021-07-08 11:59:49

    E. 【例题5】生日相同 题目 主要考察字符串排序。 代码 #include<iostream> #include<cstring> #include<algorithm> using namespace std; string s,s1,s2; int n; struct node { string name; int m; int d; } a[100001]; bool cmp(node x,node y)//排序 { if(x.m!=y.

  • 《ybtoj金牌导航》第八部分第五章例题2 彩色项链22021-06-15 21:32:38

    题目 给定 m m m 种颜色的珠子,每种颜色珠子的个数均不限,将这些珠子做成长度为 n n n 的项链。 问能

  • 【Ybtoj 第19章例3】宝物筛选【背包问题】2021-06-12 20:59:50

    解题思路 一道多重背包的模板题,多枚举一个个数就好了。 代码 #include<iostream> #include<cstdio> #include<iomanip> #include<cstring> #include<algorithm> #include<cmath> #include<queue> using namespace std; int n,W,ans,w[110],v[110],m[1

  • ybtoj【字符串算法】1章2题【移位包含】2021-06-12 17:01:24

    移位包含 题目 解析 直接暴力移位,然后用find判一下即可 code: #include<iostream> #include<cstdio> #include<string> using namespace std; string x,y; int main() { cin>>x>>y; if(x.size()<y.size())swap(x,y); for(register int l=x.size(),i=x.size()

  • 【YBTOJ】【Luogu P1527】[国家集训队]矩阵乘法2021-06-12 14:01:55

    链接: 洛谷 题目大意: 二维区间第 \(k\) 小。 正文: 就是区间第 \(k\) 小的升维版,详见 区间第 \(k\) 小。 代码: const int N = 510 + 10, M = 6e4 + 10, P = 25e4 + 10; inline ll Read() { ll x = 0, f = 1; char c = getchar(); while (c != '-' && (c < '0' || c &g

  • 【ybtoj】数列分段2021-06-12 09:02:43

    数列分段 题目描述 对于给定的一个长度为N的正整数数列A,现在将其分成M段,并要求每段连续,且每段和的最大值最小。 输入格式 第1行包含两个正整数N,M。 第2行包含N个空格隔开的非负整数 A i

  • [ybtoj 4.2.3 /UVA12983] The Battle of Chibi2021-06-11 20:05:42

    题意 在一个长度为 n n n 的序列中找到长度为 m m m 的严格上升子序列的

  • P3379&&ybtoj【数据结构】5章3题【【模板】最近公共祖先(LCA)】2021-06-11 19:01:26

    【模板】最近公共祖先(LCA) 题目 P3379 注:ybtoj问的是两点距离,即 d r o o t

  • P3373&&ybtoj【数据结构】4章4题【【模板】线段树2】2021-06-11 18:29:25

    【模板】线段树2 题目 P3373 解析 前置知识:线段树区间加区间求和 好的,现在我们考虑设计懒标记:一个乘,一个加,当然是先乘再加才不会对加产生影响 加法直接按区间加下传,乘法就需要两个懒标记一起乘 注意:乘法的懒标记初始为1 还有就是下传时要先下传乘法,再下传加法 剩下的就是板

  • 【YBTOJ】【Luogu P2444】[POI2000]病毒2021-06-03 18:05:19

    链接: 洛谷 题目大意: 构造一个无限长的文本串,使得此串不能被匹配。 正文: 好题。我的一开始的思路是,像 01trie 求最大异或那样跑 trie,然后跳失配指针判断合法。但显然假了。 于是得深度思考题意,“不能被匹配”说明跑 trie 时尽量失配,那么在求出失配指针后被修改的 trie 可以往失配方

  • 【YBTOJ】【Luogu P3121】[USACO15FEB]Censoring G2021-06-02 17:33:56

    链接: 洛谷 题目大意: 【Luogu P4824】[USACO15FEB]Censoring S的强化版。 在 \(S\) 中从头开始寻找屏蔽词,一旦找到一个屏蔽词,就删除它,然后又从头开始寻找(而不是接着往下找)。 有 \(n\) 个屏蔽词。 正文: 多模式串匹配,考虑用 AC 自动机。详见弱化版。 但是按朴素算法直接跳失配指针的

  • 【YBTOJ】【Luogu P3966】[TJOI2013]单词2021-06-01 13:34:46

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

  • YbtOJ RMQ问题课堂过关 例1 数列区间【ST表】2021-05-22 17:05:09

    思路 这道题是ST表模板题 代码 #include<iostream> #include<cstdio> #include<cmath> using namespace std; long long n,m,a[800010],l,r,f[1000010][50]; int main() { cin>>n>>m; for(int i=1; i<=n; i++) scanf("%lld",&a[i]);

  • ybtoj·子正方形【Hash】2021-05-21 21:01:18

    子正方形 Description--代码-- Description– 高效进阶「字符串算法」第2章 Hash 和 Hash 表课堂过关 例题5 代码– #include <iostream> #include <cstdio> #define ull long long using namespace std; int n, ans, a[55][55], b[55][55]; ull t1[55], t2[55], h1[

  • 【YBTOJ】最大异或对2021-05-15 08:34:44

    题目大意: 在给定的 \(N\) 个整数 \(A_1,A_2……A_N\) 中选出两个进行 \(xor\)(异或)运算,得到的结果最大是多少? 正文: 01trie 板子。 代码: const int N = 2e6 + 10; inline ll READ() { ll x = 0, f = 1; char c = getchar(); while (c != '-' && (c < '0' || c > '

  • YbtOJ 强连通分量课堂过关 例3 最大半连通子图【Tarjan】2021-05-14 22:29:34

    思路 这道题首先题目需要加强理解,首先需要搞清楚题目中的概念。 半连通图: 一个图中任意两个点之间都有边相连。 最大半连通子图: 一个半连通图中的所有半连通子图中包含节点最多的子图。 然后先Tarjan,因为这道题中的操作和图的边相关,所以要用sort去重边。 去完重边之后考虑

  • 【YBTOJ】【UVA10298】 Power Strings2021-05-05 16:04:59

    题目大意: 求一个字符串由多少个重复的子串连接而成。 正文: 我们定义被重复的子串是 \(t\)。 如果最长前后缀的长度可以等于 \(n\),那么一段重复的字串,它的最长前后缀,肯定是 \(n\);如果必须小于 \(n\),则它的最长前后缀是 \(n-\text{len}(t)\)。 我们可以通过这个性质,先用 KMP 求出最

  • 【ybtoj 高效进阶 3.2】【最小生成树】 新的开始2021-05-04 09:05:08

    【ybtoj 高效进阶 3.2】【最小生成树】 新的开始 题目 解题思路 将建设发电站的费用看作是连向超级点的边权 从超级点开始跑一边prim即可 代码 #include <iostream> #include <cstring> #include <cstdio> using namespace std; int n, x, tot , mi = 1, f[320], p[320],

  • 【YBTOJ】生日相同2021-04-29 14:01:33

    题目大意: 给你几个人的名字和他们的生日,求生日相同的人的生日和他们的名字。 正文: 对于每个生日开一个 \(\texttt{vector}\),我开到了 \(\texttt{1231}\),如果足够聪明可能可以只开到 \(\texttt{366}\)。 代码: inline ll READ() { ll x = 0, f = 1; char c = getchar(); while (

  • 【YBTOJ】立体推箱子2021-04-13 14:01:55

    题目大意: 有一个 \(N\times M\) 的矩阵,每个位置可能是硬地(用 . 表示),易碎地面(用 E 表示),禁地(用 # 表示),起点(用 X 表示),终点(用 O 表示)。 你的任务是操作一个 \(1\times1\times2\) 的长方体。 这个长方体在地面上有两种放置方式,“立” 在地面上(\(1\times1\) 的面接触地面)或者 “躺” 在

  • 【YBTOJ】公路建设2021-04-03 11:31:36

    思路: 不要把这道题想得太复杂,其实就是插排加最小生成树暴力,可以卡过 c o d e code code #include<iostre

  • 【YBTOJ】繁忙的都市2021-04-03 10:33:59

    思路: 这道题就是最小生成树模板题 c o d e code code #include<iostream> #include<cstdio> #include<alg

  • 【Ybtoj 第11章例2】新的开始【最小生成树】2021-03-27 13:34:15

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210327081220543.png) 解题思路 一直不知道怎么处理建立发电站的部分,然后还是看了下解题思路,然后感叹自己真的菜。。 真的是一道 p r

  • 《ybtoj高效进阶》第二部分第二章例题5 子正方形2021-03-24 20:29:19

    题目大意 给2个正方形,求最大公共子正方形的边长。 2个正方形边长<=50 思路 显然可以通过二维hash+二分答案+暴力枚举达到目的 code: #include<iostream> #include<cstdio> #include<algorithm> #include<cstdlib> using namespace std; int a[1001][1001],b[1001][1001],ans;

  • YbtOJ KMP算法课堂过关 例4 子串拆分【KMP】2021-03-20 12:03:26

    思路 这道题首先可以发现要找最大字符串的子串来看是否有ABA型,然后直接超时,发现可以直接枚举左端点,大的子串可以包含小的右端点子串。于是枚举每一个左端点,然后求next,把这个子串中所有ABA找出来,然后找的过程也可以用 k

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有