COGS2287 [HZOI 2015]疯狂的机器人】的更多相关文章

[题目描述] 现在在二维平面内原点上有一只机器人 他每次操作可以选择向右走,向左走,向下走,向上走和不走(每次如果走只能走一格) 但是由于本蒟蒻施展的大魔法,机器人不能走到横坐标是负数或者纵坐标是负数的点上 否则他就会big bang 给定操作次数n,求有多少种不同的操作序列使得机器人在操作后会回到原点 输出答案模998244353后的结果 注意如果两个操作序列存在某一时刻操作不同,则我们认为这两个操作序列不同 [输入格式] 输入n,表示操作次数 n<=100000 [输出格式] 按要求输出答案…
2287. [HZOI 2015]疯狂的机器人 题意:从原点出发,走n次,每次上下左右不动,只能在第一象限,最后回到原点方案数 这不煞笔提,组合数写出来发现卷积NTT,然后没考虑第一象限gg 其实就是卡特兰数 只不过这里\(C(i)\)是第\(\frac{i}{2}\)项,奇数为0 令\(f[n]\)为走n次回到原点方案数,\[ f[n]=\sum_{i=0}^{n}C(i)C(n-i)\binom{n}{i}=n!\sum_{i=0}^{n}C(i)\frac{1}{i!}C(n-i)\fra…
[题意][COGS 2287][HZOI 2015]疯狂的机器人 [算法]FFT+卡特兰数+排列组合 [题解]先考虑一维的情况,支持+1和-1,前缀和不能为负数,就是卡特兰数的形式. 设C(n)表示第n/2个卡特兰数,当n为奇数时为0,即: $$C_n=\binom{n}{\frac{n}{2}}-\binom{n}{\frac{n}{2}-1},n\%2=0$$ 卡特兰数可以通过预处理阶乘和逆元后O(1)计算. 设f[n]表示走n步回到原点的操作序列数,那么答案要求所有f[i],通过枚举纵向行…
Description 题库链接 现在在二维平面内原点上有一只机器人,他每次可以选择向右走,向左走,向下走,向上走和不走(每次如果走只能走一格).机器人不能走到横坐标是负数或者纵坐标是负数的点上. 给定操作次数 \(n\) ,求有多少种不同的操作序列使得机器人在操作后会回到原点,输出答案模 \(998244353\) 后的结果. \(1\leq n\leq 100000\) Solution 应该不难想吧... 显然我们先考虑前四种走法...不走的情况可以组合数求出来. 对于一类操作(向上向下或…
[题目描述] 现在在二维平面内原点上有一只机器人 他每次操作可以选择向右走,向左走,向下走,向上走和不走(每次如果走只能走一格) 但是由于本蒟蒻施展的大魔法,机器人不能走到横坐标是负数或者纵坐标是负数的点上 否则他就会big bang 给定操作次数n,求有多少种不同的操作序列使得机器人在操作后会回到原点 输出答案模998244353后的结果 注意如果两个操作序列存在某一时刻操作不同,则我们认为这两个操作序列不同 [输入格式] 输入n,表示操作次数 n<=100000 [输出格式] 按要求输出答案…
疯狂的重心 话说做过幻想乡战略游戏的人应该很容易切掉这道题目吧 我们考虑一棵树如果添加了一个叶子,那么其重心最多向叶子方向移动1的距离 而是否移动我们只需要记录子树中有多少个点就可以判断啦 也就是说这个叶子对于时间复杂度的贡献是1 那么我们考虑每次在x-y上添加一条边,等于将x所在的树和y所在的树合并 这一步我们可以采用启发式合并,每次把小的向大的里插 这样暴力合并的时间复杂度是O(nlogn) 也就等价于我们最多插入单个节点O(nlogn) 那么对于重心的计算显然也是O(nlogn)的 那么现…
Bitset简介 下面介绍C++ STL 中一个非常有用的东西: Bitset 类似于二进制状压,它可以把信息转化成一个01串存储起来 定义方法: 首先要#include<bitset>或#include<bits/stdc++.h> 然后定义一个长度为len的bitset S bitset<len>S; 一些操作 bitset还支持&,^,|三个运算 b._Find_first() 找到第一个1的位置 b._Find_next(x)找到x后面为1的第一个位置…
[cogs2314][HZOI 2015]Persistable Editor - 可持久化平衡树 题目链接 首先吐槽扯淡几句 [题目描述] 维护一种可持久化的文本编辑器,支持下列操作: 1 p str 在当前版本的第p个字符后插入字符串str,并作为下一版本(数据保证0<=p<=当前字符串的长度,且插入的字符串中只有小写字母) 2 p c 在当前版本中删除从第p个字符开始的后c个字符,并作为下一版本(包含第p个字符,数据保证1<=p<=当前字符串的长度,且p+c-1<=当前…
2123. [HZOI 2015] Glass Beads ★★★   输入文件:MinRepresentations.in   输出文件:MinRepresentations.out   简单对比时间限制:1 s   内存限制:1024 MB [题目描述] 给定长度为n(n<=300000)的循环同构的字符串,定义最小表示为该字符串的字典序最小的同构表示,请输出这个表示. [输入格式] 第一行是串的长度,第二行是字符串. [输出格式] 串的最小表示. [样例输入] 10 helloworld…
COGS 2580. [HZOI 2015]偏序 II 题目传送门 题目大意:给n个元素,每个元素有具有4个属性a,b,c,d,求i<j并且ai<aj,bi<bj,ci<cj,di<dj的i,j对数有多少? a,b,c,d均为1~n的排列,即不会有i,j使得ai=aj or bi=bj or ci=cj or di=dj. 题目是离线的,cdq分治可以很好的解决这一类问题.cdq套cdq套cdq再加个bit就行了. 第一层的cdq处理a,保证a有序, 第二层在第一层的基础上处…
2320. [HZOI 2015]聪聪的世界 时间限制:6 s   内存限制:512 MB [题目描述] 背景: 聪聪的性取向有问题. 题目描述: 聪聪遇到了一个难题: 给出一个序列a1…an,完成以下操作: 1  x 询问从x向左数第一个<ax的数: 2  x 询问从x向左数第一个>ax的数: 3  x 询问从x向右数第一个<ax的数: 4  x 询问从x向右数第一个>ax的数: 5  x y 交换ax与ay: 6  x y w 给ax…ay加上w: 7  x y w 给ax…a…
[题目描述] 给定一个序列,下标从0开始,分别为a0,a1,a2...an−1,有m个询问,每次给出l和r,求满足ai=aj且l<=i<=j<=r时j−i的最大值 本题强制在线,l和r均进行了加密,解密过程为 l′=min((l+ans)modn,(r+ans)modn) r′=max((l+ans)modn,(r+ans)modn) 其中ans为上次答案 [输入格式] 第一行,两个正整数n,m 第二行,n个非负整数a0,a1,a2...an−1 以下m行,每行两个数l,r,表示询问 […
  题目描述: 给定n个数X1-Xn,求下面式子的值(整数部分): n<=107,xi<=109且互不相同. 分析: 其实一开始看见这道题我也吓傻了,k这么大,再说我又是数论鶸渣,打死也不会= = 后来看了各路神犇的题解,又仔细想了想,大概明白了. 首先,k这么大,已经不是高精乘和高精开方所能承受的了(当然,你也可以找个超级计算机算算试试) 所以我们可以把k视为∞(INF). 极限思想,由于xi互不相同,所以每个元素在比它稍微大一点点的数面前都是微乎其微,不会影响到整数部分的. (可以粗略验证…
[题目描述] 给定长度为n(n<=300000)的循环同构的字符串,定义最小表示为该字符串的字典序最小的同构表示,请输出这个表示. [输入格式] 第一行是串的长度,第二行是字符串. [输出格式] 串的最小表示. [样例输入] 10 helloworld [样例输出] dhelloworl [题目来源] HZOI2015 改编自poj1509 算法很显然,需要注意的是:s[len+1]要赋值成一个较大值. #include <iostream> #include <cstring&g…
Description 你还梦不梦痛不痛,回忆这么重你怎么背得动 ----序言 当年的战火硝烟已经渐渐远去,可仇恨却在阿凯蒂王子的心中越来越深 他的叔父三年前谋权篡位,逼宫杀死了他的父王,用铁血手腕平定了国内所有的不满 只有他一个人孤身逃了出来,而现在他组织了一只强大的军队,反攻的号角已经吹响 大战一触即发,作为他的机智又勇敢的指挥官,你必须要准确及时的完成他布置的任务 这个国家的布局是一棵树,每个城市都是树上的结点,其中每个结点上都有军队ai(人数) 树上的每条边有边权wi,表示通过这条边所需…
什么都别说了,咱心态已经炸了... question 题目戳这里的说... 其实就是叫你求下面这个式子的导函数: noteskey 其实是道板子题呢~ 刚好给我们弄个多项式合集的说... 各种板子粘贴的不亦乐乎结果一交发现自己 T 掉了,心态爆炸 斗胆把 YYB 大仙的代码交上去发现 A 掉了...(会不会被棕掉丫) 然后调了半天代码甚至还加了更多的优化结果发现跑得还是巨慢无比... 然后继续查 bug ,发现各种函数里面都没有区别,函数运行速度也差不了多少 于是只剩 NTT 里面的锅了,于是两…
题意:求n个点有向图其中SCC是一个的方案数 考虑求出若干个不连通的每个连通块都是SCC方案数然后再怎么做一做.(但是这里不能用Ln,因为推不出来) 设$f_n$为答案, $g_n$为n个点的有向图,分成若干个连通块,每个连通块都是一个SCC,且当连通块大小为奇数时候贡献1系数,偶数时候贡献-1系数.(这里把系数放进去可以避免再来一个函数的麻烦!) $h_n$表示n个点有向图个数$h_n=2^{n*(n-1)}$ $h_n=\sum_{i=1}^nC(n,i)\times g(i)\times…
传送门 CJOJ Solution 具体实现参考上一篇Blog(四维偏序) 代码实现1(cdq+cdq+cdq+BIT) /* mail: mleautomaton@foxmail.com author: MLEAutoMaton This Code is made by MLEAutoMaton */ #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #incl…
题目分析 n个点的二分染色图计数 很显然的一个式子 \[ \sum_{i=0}^n\binom{n}{i}2^{i(n-i)} \] 很容易把\(2^{i(n-i)}\)拆成卷积形式,前面讲过,不再赘述. n个点的二分图计数 设\(f_n\)表示n个点的二分染色图个数. 设\(g_n\)表示n个点的二分连通图个数. 设\(h_n\)表示n个点的二分图个数. 分别构造f,g,h的EGF\(F,G,H\). 显然有 \[ \begin{aligned} F&=\sum_i(2*G)^i=e^{2G}…
题目分析 来自2013年王迪的论文<浅谈容斥原理> 设\(f_{n,S}\)表示n个节点,入度为0的点集恰好为S的方案数. 设\(g_{n,S}\)表示n个节点,入度为0的点集至少为S的方案数. 对于\(g_{n,S}\),有递推式 \[ g_{n,S}=2^{|S|(n-|S|)}g_{n-|S|,\emptyset} \] f与g有如下关系 \[ g_{n,S}=\sum_{S\subseteq T}f_{n,T} \] 子集反演一下 \[ f_{n,S}=\sum_{S\subseteq…
[题目描述] 给定一棵树,要求维护以下操作: 1.M u 将u节点反色 2.Q u 查询u到所有黑色节点距离和 [输入格式] 第一行n,m 表示节点总数和操作次数 之后n-1行,每行u,v表示两个端点,w表示边权 之后m行,操作如题意 n,m<=200000,边权<=1000 一开始所有点均为白色 [输出格式] 输出每次Q的答案 [样例输入] 7 5 2 1 144 3 2 361 4 3 236 5 3 697 6 2 140 7 5 718 Q 4 M 4 Q 5 Q 1 Q 7 [样例输…
[题目描述] 你还梦不梦痛不痛,回忆这么重你怎么背得动 ----序言 当年的战火硝烟已经渐渐远去,可仇恨却在阿凯蒂王子的心中越来越深 他的叔父三年前谋权篡位,逼宫杀死了他的父王,用铁血手腕平定了国内所有的不满 只有他一个人孤身逃了出来,而现在他组织了一只强大的军队,反攻的号角已经吹响 大战一触即发,作为他的机智又勇敢的指挥官,你必须要准确及时的完成他布置的任务 这个国家的布局是一棵树,每个城市都是树上的结点,其中每个结点上都有军队ai(人数) 树上的每条边有边权wi,表示通过这条边所需要的时间…
★★   输入文件:B_Tree.in   输出文件:B_Tree.out   简单对比时间限制:2 s   内存限制:512 MB [题目描述] 给定一棵有根树,树根为1,一开始这棵树所有节点均为白色 之后给定一个染色序列,第i个数ai表示将ai这个点染黑 之后给定若干询问 询问第L到第R个染黑的黑点和u所有的LCA中深度最大的LCA的编号 [输入格式] 第一行n,m,q 表示节点总数,染色序列长度,询问个数 以下n-1行,每行u,v描述一条边的两个端点 之后m个正整数表示染色序列 之后q行,…
额,其实就是裸的三模数NTT,上一篇已经说过了 哦,还有一个就是对乘起来炸long long的数取模,用long double之类的搞一下就好,精度什么的,,(看出题人心情??) #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #define LL long long #define N 300005 using namespace std; inline in…
先粘一个模板.这是求高精度乘法的 #include <bits/stdc++.h> #define maxn 1010 using namespace std; char s[maxn]; typedef long long ll; ll A[maxn], B[maxn]; const int md = 998244353, G = 3; int n; ll power_mod(ll a, ll b){ ll ret = 1; while(b > 0){ if(b & 1)ret…
有标号DAG计数 题目在COGS上 [HZOI 2015]有标号的DAG计数 I [HZOI 2015] 有标号的DAG计数 II [HZOI 2015]有标号的DAG计数 III I 求n个点的DAG(可以不连通)的个数.\(n \le 5000\) 2013年王迪的论文很详细了 感觉想法很神,自己怎么想到啊? 首先要注意到DAG中一类特殊的点:入度为0的点.以这些点来分类统计 先是一种\(O(N^3)\)的dp, \(d(i,j)\) i个点j个入度为0,转移枚举去掉j个后入度为0点的个数,…
A.\(CDQ\) 分治 特别基础的教程略. \(CDQ\)分治的优缺点: ( 1 )优点:代码量少,常数极小,可以降低处理维数. ( 2 )缺点:必须离线处理. \(CDQ\)分治与其他分治最本质的不同在于: 分治到达\([L,R]\)时,分治处理\([L,mid]\)与\([mid+1,R]\) 然后递归上来合并的时候: 只考虑 [L,mid]中元素 对 [mid+1,R] 中元素的影响 看起来这句话非常简单,但只要正真理解了这句话,也就理解了\(CDQ\)分治. 只要是满足这个原则的分治,…
随着科技的迅猛发展,人工智能技术也逐渐取得了各个突破.自20世纪70年代以来,作为计算机学科的一个分支,人工智能就被列为世界三大尖端技术之一.近年来,阿尔法狗战胜世界第一柯洁,使人工智能再度迎来新的热潮. 人工智能发展猛烈,大数据变革浪潮澎湃汹涌,云计算开启的技术民主进程超越想象.随着人工智能由专业应用向通用应用的发展,AI越来越多的被应用于金融.制造.交通.物流.能源.零售等各个领域,它与各个行业的融合,自然也驱动着新一轮工业革命的到来. 12月6日,ABC Summit  2018云智峰会将…
牛顿迭代 若 \[G(F_0(x))\equiv 0(mod\ x^{2^t})\] 牛顿迭代 \[F(x)\equiv F_0(x)-\frac{G(F_0(x))}{G'(F_0(x))}(mod\ x^{2^{t+1}})\] 以下多数都可以牛顿迭代公式一步得到 多项式求逆 给定\(A(x)\)求满足\(A(x)*B(x)=1\)的\(B(x)\) 写成 \[A(x)*B(x)=1(mod \ x^n)\] 我们会求\[A(x)*B(x)=1(mod \ x^1)\] 然后我们考虑求\[A…
题面 题目描述 给定一正整数n,对n个点有标号的有向无环图进行计数. 这里加一个限制:此图必须是弱连通图. 输出答案mod 998244353的结果 输入格式 一个正整数n. 输出格式 一个数,表示答案. 样例输入 3 样例输出 18 提示 对于第i个点 1<=n<=10000i. 题目分析 综合COGS2355 [HZOI 2015] 有标号的DAG计数 II与[2013集训胡渊鸣]城市规划. \(f(i)\)用前一题的方法求出,用后一题的方法推出\(g(i)\)即为答案. 代码实现 #in…