【题解】FBI序列】的更多相关文章

题解-[HNOI2016]序列 [HNOI2016]序列 给定 \(n\) 和 \(m\) 以及序列 \(a\{n\}\).有 \(m\) 次询问,每次给定区间 \([l,r]\in[1,n]\),求 \[\sum_{l\le l'\le r'\le r}\min_{i=l'}^{r'}a_i \] 数据范围:\(1\le n,m\le 10^5\),\(|a_i|\le 10^9\). 蒟蒻要练习省选题,结果就遇到这道数据结构(好久没写数据结构题都忘光了).结果正好遇到一道毒瘤题,于是蒟蒻来写…
题目描述 两伙外星人策划在未来的XXXX年侵略地球,侵略前自然要交换信息咯,现在,作为全球保卫队队长,你截获了外星人用来交换信息的一段仅由“F”,“B”,“I”,“O”组成的序列.为了保卫地球和平,为了使家园不受破坏,你要机智地破解密码,勇敢地迎击外星人!记住,你不是一个人在战斗!你不是一个人!你的背后是千千万万的地球人! 输入输出格式 输入格式 一组仅由“F”.“B”.“I”.“0”组成的序列(“F”.“B”.“I”.“0”这四个字母中的某一个或某几个不一定会出现,且保证序列长度≤2000)…
题面 题解 和 SDOI2015 序列统计 比较像 这个无非就是把乘改成了加, NTT 改成了 MTT 再加上了一个小小的容斥 : 拿所有方案减去不合法方案即可 Code #include <algorithm> #include <iostream> #include <cstring> #include <cstdio> #include <cmath> const int N = 1005; const int mod = 20170408…
题面 题解 设 \(f[i][j]\) 代表长度为 \(i\) 的序列, 乘积模 \(m\) 为 \(j\) 的序列有多少个 转移方程如下 \[ f[i + j][C] = \sum_{A*B\equiv C \pmod{m} }f[i][B] * f[j][A] \] 复杂度是 \(O(nm^2)\) 的 考虑倍增, 用类似快速幂那样的东西 \[ f[2 * i][C] = \sum_{A*B\equiv C \pmod{m} }f[i][B] * f[i][A] \] 恩, 复杂度变为了 \…
因为这两题有递进关系,所以放一起写 Problem bzoj1283 序列 题意概要:一个长度为 \(n\) 的序列\(\{c_i\}\),求一个子集,使得原序列中任意长度为 \(m\) 的子串中被选出的元素不超过\(K\)个,并且选出的元素之和最大. bzoj 4842 Please contact lydsy2012@163.com! (可以下数据自测 然而还需要spj) 题意概要:构造一个长度为\(n\)的\(12\)序列\(\{a_i\}\),\(a_i=1\)或\(2\)的贡献分别为\…
1211: [HNOI2004]树的计数 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3432  Solved: 1295[Submit][Status][Discuss] Description 一个有n个结点的树,设它的结点分别为v1, v2, …, vn,已知第i个结点vi的度数为di,问满足这样的条件的不同的树有多少棵.给定n,d1, d2, …, dn,编程需要输出满足d(vi)=di的树的个数. Input 第一行是一个正整数n,表…
题目传送门 题目大意 给出一个\(n\)个数的数列\(A_{1,2,...,n}\),求出一个单调不减的数列\(B_{1,2,...,n}\),使得\(\sum_{i=1}^{n}(A_i-B_i)^2\)最小. 有\(m\)次查询,每次将某个\(A_x\)更改为\(y\),求出修改后的答案.查询之间互相独立. \(n,m\le 10^5\) 思路 其实这道题正解是用保序回归,但是找规律也能找出来. 我们通过观察发现,对于一段相同的\(B_i\),\(B_i\)是该段的平均值.于是我们大胆猜测,…
原题找不到了,应该是usaco之类的题目吧.给一个可以交题的链接:http://www.cqoi.net:2012/problem.php?id=1004 思路:将素数一个一个往里乘,保证扫描的顺序是从小到大的就可以了.思路跟usaco training的丑数有点像,算是那道题的简单版吧. 我的实现: 1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 #include <cstri…
题目链接 BZOJ4416 题解 建立序列自动机,即预处理数组\(nxt[i][j]\)表示\(i\)位置之后下一个\(j\)出现的位置 设\(f[i]\)表示合法字符集合为\(i\)的最短前缀,枚举最后一个加入的字符进行转移 注意到合法串长度是\(O(n^2)\)级别的,所以\(n > 21\)直接判掉 #include<algorithm> #include<iostream> #include<cstring> #include<cstdio>…
题目描述 给出 $n$ 个点,每次选择任意一条边,问这样 $n-1$ 次后得到一棵树的方案数是多少. 输入 一个整数N. 输出 一行,方案数mod 9999991. 样例输入 4 样例输出 96 题解 Prufer序列 答案完全可以看作两部分:生成一棵树的方案数*最终的树的个数. 生成一棵树的方案数即边的全排列树 $(n-1)!$ . 最终的树的个数即Prufer序列的结论 $n^{n-2}$ ,因为 $n-2$ 个位置每个位置均有 $n$ 个选择. 本题 $n$ 较小,直接暴力计算即可. #i…
题目描述 给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树? 输入 第一行为N(0 < N < = 1000),接下来N行,第i+1行给出第i个节点的度数Di,如果对度数不要求,则输入-1 输出 一个整数,表示不同的满足要求的树的个数,无解输出0 样例输入 3 1 -1 -1 样例输出 2 题解 Prufer序列+高精度 Prufer序列:由一棵 $n$ 个点的树唯一产生的一个 $n-2$ 个数的序列. 生成方法:找到这棵树编号最小的叶子节点,将其…
括号序列模型及解法 >Codeforces314E◦给定一个长度为n的仅包含左右括号和问号的字符串,将问号变成左括号或右括号使得该括号序列合法,求方案总数.◦例如(())与()()都是合法的括号序列.◦ n<=3000. >Solution ◦括号序列问题,往往就是把左括号看成+1,右括号看成-1,我们只需要保证任意一个前缀大于等于0,且总和为0,就代表是个合法括号序列了.◦令dp[i][j]表示当前到第i个字符,现在的前缀和◦那么分三种情况考虑.◦若第i+1个字符是左括号,则能转移到d…
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=1430 题解 prufer 序列模板题. 一个由 \(n\) 个点构成的有标号无根树的个数为 \(n^{n-2}\). 证明就是 prufer 序列,可以看我的学习笔记. https://www.cnblogs.com/hankeke/p/prufer.html 然后因为一棵树的加边顺序随意,所以还需要乘上 \((n-1)!\). 所以最后答案为 \(n^{n-2}(n-1)!\). #inc…
快要考试了我还是这么菜. 已经没有心思维护我的博客了.开一篇博文吧.可能会记得很乱. 这也许是我OI生涯的最后一篇博文了?? 肯定很长很长. 不可能的.谁知道什么时候我心态恢复就把上面两句话删掉开始在博客里各种胡咧咧了. 好,我心态恢复了.我要写日记了hhh 「$idea$」维护凸包 临考前才学必定致命. 主要因为昨天考了一套题,T1是凸包.%%%$OOO$李超线段树怒切T1. 我要澄清一下,关于$OOO$大神在李超线段树的学习笔记中提到本人, 本人对此严正声明:我不会李超线段树.我只是颓废,大…
题目 如题. 题解 从序列第一个大于根节点的值往后都是右子树,判断右子树是否都大于根节点. 然后递归判断左右子树是否是BST 代码 class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } public class VerifySeqOfBST { public static void main(String[]…
传送门 Description Chloe, the same as Vladik, is a competitive programmer. She didn't have any problems to get to the olympiad like Vladik, but she was confused by the task proposed on the olympiad. Let's consider the following algorithm of generating a…
题目链接 Problem Description Let S = s1 s2 … s2n be a well-formed string of parentheses. S can be encoded in two different ways: By an integer sequence P = p1 p2 … pn where pi is the number of left parentheses before the ith right parenthesis in S (P-seq…
Description Ilya is working for the company that constructs robots. Ilya writes programs for entertainment robots, and his current project is "Bob", a new-generation game robot. Ilya's boss wants to know his progress so far. Especially he is int…
题链: https://www.luogu.org/problemnew/show/P1903题解: 序列带修莫队, 推荐博客https://www.cnblogs.com/Paul-Guderian/p/6933799.html 复杂度$O(N^{\frac{5}{3}})$代码: include<bits/stdc++.h> #define MAXN 10005 using namespace std; int N,M,BLOCK,ans; int color[1000006],s[MAX…
最近写的一些 WC2019 上讲的一些题.还是怕忘了,写点东西记录一下. LOJ2983 「WC2019」数树 题意 本题包含三个问题: 问题 0:已知两棵 \(n\) 个节点的树的形态(两棵树的节点标号均为 \(1\) 至 \(n\)),其中第一棵树是红树,第二棵树是蓝树.要给予每个节点一个 \([1, y]\) 中的整数,使得对于任意两个节点 \(p, q\),如果存在一条路径 \((a_1 = p, a_2, \cdots , a_m = q)\) 同时属于这两棵树,则 \(p, q\)…
A. Tavas and Nafas time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Today Tavas got his test result as an integer score and he wants to share it with his girlfriend, Nafas. His phone operati…
2144: 跳跳棋 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 492  Solved: 244[Submit][Status][Discuss] Description 跳跳棋是在一条数轴上进行的.棋子只能摆在整点上.每个点不能摆超过一个棋子.我们用跳跳棋来做一个简单的游戏:棋盘上有3颗棋子,分别在a,b,c这三个位置.我们要通过最少的跳动把他们的位置移动成x,y,z.(棋子是没有区别的)跳动的规则很简单,任意选一颗棋子,对一颗中轴棋子跳动.…
$ \color{#0066ff}{ 题目描述 }$ MloVtry是一个脑洞很大的人,它总会想出一些奇奇怪怪的idea. 可问题是,MloVtry作为一个蒟蒻,很多时候都没办法解决自己提出的问题,所以MloVtry想出一套题的梦想一直被搁置. 不过好在MloVtry有一些神犇朋友,他们强的没边,所以MloVtry一有机会就会向这些dalao们请教. 现在MloVtry有n个idea,这n个idea在MloVtry二维的大脑里排成一列,每一个idea都有一个难度值,用a[i]表示,当然难度值越大…
题目描述: luogu loj 题解: 序列自动机(?)+高精+普及dp. 这个是猫老师的序列自动机(字符串从1开始): ]) { memset(t[n],-,sizeof(t[n])); ;i>=;i--) { memcpy(t[i],t[i+],sizeof(t[i])); t[i][ci(s[i+])] = i+; } } 序列自动机 $t$数组记录在位置$i$的后面加字符$j$能到达的最左边的位置. 对于这道题,直接对两个串构造序列自动机,然后爆搜即可. $k=1$没啥好说的,$k=0$…
D2. Optimal Subsequences (Hard Version) This is the harder version of the problem. In this version, 1≤n,m≤2⋅105. You can hack this problem if you locked it. But you can hack the previous problem only if you locked both problems. You are given a seque…
树的计数 输入文件第一行是一个正整数n,表示树有n个结点.第二行有n个数,第i个数表示di,即树的第i个结点的度数.其中1<=n<=150,输入数据保证满足条件的树不超过10^17个. 明明的烦恼 自从明明学了树的结构,就对奇怪的树产生了兴趣...... 给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树? 第一行为N(0<N<=1000),接下来N行,第i+1行给出第i个节点的度数Di,如果对度数不要求,则输入-1 分析 prufer序…
// 比赛链接:https://codeforces.com/contest/1200 A - Hotelier 题意: 有一家旅馆有10间房,编号0~9,从左到右顺序排列.旅馆有左右两扇门,每次新来旅客从进来门的方向分配最近的空闲房间.给你一段旅客到来方向以及离开位置的序列,输出最终旅馆房间使用情况. 输入: 8 LLRL1RL1 输出: 1010000011 题解: 序列长度不超过10^5,暴力模拟复杂度O(10*n). AC代码: #include<iostream> #include&…
比赛链接:https://atcoder.jp/contests/abc178/tasks A - not 题意 给出一个整数 $0 \le x \le 1$,如果 $x$ 是 $0$ 就输出 $1$,如果 $x$ 是 $1$ 就输出 $0$ . 题解 输出 $x \oplus 1$ 或 $!x$ 均可. 代码 #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.…
题目链接:https://codeforces.com/contest/1380/problem/D 题意 给出一个大小为 $n$ 的排列 $a$ 和一个序列 $b$,有两种操作: 花费 $x$ 消除连续 $k$ 个数 花费 $y$ 选取两个相邻的数,消除较小的数 问能否将 $a$ 变为 $b$,以及最小花费. 题解 如果序列 $b$ 中元素的出现顺序与 $a$ 不一致,则无解. 否则根据 $b$ 将 $a$ 分割为一个个区间,对每一个区间进行单独操作. 对于一个长度小于 $k$ 的区间: 如果…
题单 本文章正在持续更新-- [2021] 廊桥分配 题目 题面描述 所有飞机分为两类--国内区和国际区,两区廊桥数量互不干扰.每架飞机遵循"先到先得"的原则,优先选择编号最小的廊桥,如果该区的廊桥满了,便前往远机区(假设远机区数量无限). 求一种分类方案(将廊桥分给国内区和国际区),使得能停靠在廊桥旁飞机的数量最多. 题解 不难想到枚举国内区和国际区各自的数量,然后每次都进行一次模拟,用优先队列维护即可. 这样你可以获得优秀的 45pts,好好卡一下可以卡到 60pts. 然后再思考…