码迷,mamicode.com
首页 > 其他好文 > 详细

多业务视频光端机调制方式介绍

时间:2020-08-10 14:29:11      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:future   灵活   水晶头   jpg   范围   变化   一个   协同   连接   

AGC047A Integer Product

给定 \(n\) 个浮点数 \(a_i\) ,问有多少组数对 \((i,\ j)\) 满足 \(a_i\cdot a_j\) 是整数

  • \(n\leq2\times10^5\)
  • \(a_i\) 小数点后只有不超过 \(9\) 位数

\(a_i\) 的小数点前部分可以丢掉,将小数点后部分看成 \(\frac k{2^a\times5^b}\) 的形式,其中 \(k\) 是整数, \(a,\ b\) 要尽量小

然后即求满足 \(a_i+a_j\ge0,\ b_i+b_j\ge0\) 的数对个数,值域很小暴力即可


AGC047B First Second

给定 \(n\) 个串 \(S_i\) ,定义对串 \(T\) 的一次变换为删掉 \(T\) 的第一个或第二个字符,问有多少个二元组 \((i,\ j)\) 满足能够通过对 \(S_i\) 进行若干次变换使得其等于 \(S_j\)

  • \(n\leq2\times10^5\)
  • \(\displaystyle\sum|S_i|\leq10^6\)

\(S_i\) 能够进行若干次变换使得其等于 \(S_j\) ,当且仅当 \(S_j\) 是 \(S_i\) 的后缀,或 \(S_j\) 去掉第一个字符后是 \(S_i\) 的后缀、且 \(S_j\) 的第一个字符在 \(S_i\) 的前 \(|S_i|-|S_j|+1\) 个字符中出现过

把所有串倒着插入 trie 中搞一搞即可


AGC047C Product Modulo

我没有多项式基础

留坑待填


AGC047D Twin Binary Trees

有两棵点数同为 \(n\) 的满二叉树,第一棵树的第 \(i\) 个叶节点向第二棵树的第 \(A_i\) 个节点连了一条特殊边

在所有边构成的图上,一个环是合法的,当且仅当它是简单环,并且恰好经过两条特殊边

定义一个合法环的权值为它所经过的所有点的编号的乘积

求所有简单环的权值之和 \(\bmod10^9+7\)

\(n<2^{18}\)

做法一:

枚举特殊边 \((u,\ v)\) ,设环经过的另一个特殊边为 \((u_0,\ v_0)\) ,其中 \(u,\ u_0\) 在第一棵树上, \(v,\ v_0\) 在另一棵

接着枚举 \((u,\ u_0)\) 和 \((v,\ v_0)\)它们在各自树中的 lca

大概套个二维数点就得到了一个时间 \(O(n\log^3 n)\) 的优秀做法

大概搞一个线段树合并就可以优化到 \(O(n\log^2 n)\)

做法二:

枚举 \((u,\ u_0)\) 的 lca \(w\)

枚举 \(w\) 左子树中的所有叶子节点 \(i\) ,其中 \(i\) 在另一棵树上的对应点为 \(j\) ,将 \(j\) 的所有祖先 \(p\) 累加 \(i\) 到 \(p\) 的最短路径上的节点的乘积

枚举 \(w\) 右子树中的所有叶子节点 \(i\) ,其中 \(i\) 在另一棵树上的对应点为 \(j\) ,枚举 \(j\) 的所有祖先 \(p\) ,用 \(i\) 到 \(p\) 的最短路径与 \(p\) 的兄弟的信息统计对答案造成的贡献

大概就做到了时间 \(O(n\log^2n)\) ,空间线性


AGC047E Product Simulation

有一个序列 \(a_0,\ a_1,\ \cdots,\ a_n\) ,初始时 \(a_0=A,\ a_1=B;\ a_2=a_3=\cdots=a_n=0\)

你可以执行至多 \(q\) 次操作,每次操作有两种:

  1. \(+\ i\ j\ k\) :令 \(a_k=a_i+a_j\)
  2. \(<\ i\ j\ k\) :令 \(a_k=[a_i<a_j]\)

你需要构造一种操作序列使得,无论 \(A,\ B\) 是任何非负整数,执行完所有操作后 \(a_2=A\cdot B\)

  • \(n,\ q=2\times10^5\)
  • \(A,\ B\in[0,\ 10^9]\)

假设 \(A,\ B\) 中至少有一个非零

则通过 \(A<A+A+B+B\) 就能构造出元素 \(1\)

通过 \(1\) 自加就能得到所有 \(2\) 的幂次

考虑将 \(A,\ B\) 表示为二进制数

按 \(bit\) 降序考虑,考虑等式 \(f_{bit}=[cur+2^{bit}<A+1]\) ,若 \(f_i=1\) 就将 \(cur\) 加上 \(2^{bit}\) ,即可求出 \(A\) 的所有二进制位;同理可求得 \(B\) 二进制下每一位 \(g_{bit}\)

现在即求 \(\displaystyle\sum_{i,\ j}f_ig_j2^{i+j}\)

枚举 \(i,\ j\) , \(2^{i+j}\) 部分已经预处理了,现在只用处理两个 \(01\) 变量 \(x,\ y\) 的与操作,实际上就是 \(1<x+y\)

总操作数 \(O(\log^2A)\)

可以发现 \(A=B=0\) 时不用特判


AGC047F Rooks

留坑待填

多业务视频光端机调制方式介绍

标签:future   灵活   水晶头   jpg   范围   变化   一个   协同   连接   

原文地址:https://www.cnblogs.com/fctel/p/13469505.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!