倍增(爬树)算法,刚刚学习的算法.对每一个点的父节点,就记录他的2k的父亲. 题目为http://www.luogu.org/problem/show?pid=3379 第一步先记录每一个节点的深度用一个深搜,顺便对每个节点的20赋初值为自己的上一个节点. 第二步通过第一步的初始化对每个节点的2k次进行赋值为fa[i][j]=fa[ fa[i][j-1] ][ j-1 ];自己的j-1次幂的父节点的i-1次就是就是自己的j次幂. 第三步对询问做出处理 1,先判断x,y的深度,如果x比y浅就换位置…
题目背景 这是一道模板题. 题目描述 读入一个长度为 n n n 的由大小写英文字母或数字组成的字符串,请把这个字符串的所有非空后缀按字典序从小到大排序,然后按顺序输出后缀的第一个字符在原串中的位置.位置编号为 1 1 1 到 n n n. 输入输出格式 输入格式: 一行一个长度为 n n n 的仅包含大小写英文字母或数字的字符串. 输出格式: 一行,共n个整数,表示答案. 输入输出样例 输入样例#1: 复制 ababa 输出样例#1: 复制 5 3 1 4 2 说明 n<=106n <= 1…
[题目链接] https://www.luogu.org/problem/P3808 [题意] 给定n个模式串和1个文本串,求有多少个模式串在文本串里出现过. [题解] 不再介绍基础知识了,就是裸的模板题,直接贴上来. [代码] #include<queue> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ; ; queue < int >…
题目描述 如题,给出一个网络图,以及其源点和汇点,求出其网络最大流. 输入输出格式 输入格式: 第一行包含四个正整数N.M.S.T,分别表示点的个数.有向边的个数.源点序号.汇点序号. 接下来M行每行包含三个正整数ui.vi.wi,表示第i条有向边从ui出发,到达vi,边权为wi(即该边最大流量为wi) 输出格式: 一行,包含一个正整数,即为该网络的最大流. 输入输出样例 输入样例#1: 复制 4 5 4 3 4 2 30 4 3 20 2 3 20 2 1 30 1 3 40 输出样例#1:…
题目描述 给定一个只包含小写字母的字符串SSS, 请你求出 SSS 的所有出现次数不为 111 的子串的出现次数乘上该子串长度的最大值. 输入输出格式 输入格式: 一行一个仅包含小写字母的字符串SSS 输出格式: 一个整数,为 所求答案 输入输出样例 输入样例#1: 复制 abab 输出样例#1: 复制 4 说明 对于10%10\%10%的数据,∣S∣<=1000|S|<=1000∣S∣<=1000 对于100%100\%100%的数据,∣S∣<=106|S|<=10^6∣S…
洛谷 3379 最近公共祖先(LCA 倍增) 题意分析 裸的板子题,但是注意这题n上限50w,我用的边表,所以要开到100w才能过,一开始re了两发,发现这个问题了. 代码总览 #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> #define nmax 1000100 #define demen 21 using namespace std; int fa[n…
To 洛谷.3373 [模板]线段树2 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.将某区间每一个数乘上x 3.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含三个整数N.M.P,分别表示该数列数字的个数.操作的总个数和模数. 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值. 接下来M行每行包含3或4个整数,表示一个操作,具体如下: 操作1: 格式:1 x y k 含义:将区间[x,y]内每个数乘上k 操作2: 格式:…
Code: //洛谷 P4148 简单题 KD-Tree 模板题 #include <cstdio> #include <algorithm> #include <cstring> #include <string> using namespace std; void setIO(string a){ freopen((a+".in").c_str(),"r",stdin);} #define maxn 500007…
noip好难呀. 上一个感觉有点长了,重开一个. 36.Vigenère 密码 粘个Openjudge上的代码 #include<cstdio> #include<iostream> #include<cstring> #include<cmath> #include <cstdlib> #include <algorithm> #include <iomanip> using namespace std; char a[…
洛谷题目连接:刷题比赛 题目背景 nodgd是一个喜欢写程序的同学,前不久洛谷OJ横空出世,nodgd同学当然第一时间来到洛谷OJ刷题.于是发生了一系列有趣的事情,他就打算用这些事情来出题恶心大家-- 题目描述 洛谷OJ当然算是好地方,nodgd同学打算和朋友分享一下.于是他就拉上了他的朋友Ciocio和Nicole两位同学一起刷题.喜欢比赛的他们当然不放过这样一次刷题比赛的机会! 在第1天nodgd,Ciocio,Nicole都只做了1道题. 在第2天nodgd,Ciocio,Nicole都只…