A8767 | Alien DNA
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Professor Bajtocy is conducting experiments on alien DNA. He has discovered that it is subject to repetitive mutations — each mutation happens in the same way: some continuous subsequence of the alien DNA becomes active, copies itself, the copy gets mangled and inserts itself right after the original subsequence. The mangled copy of the activated continuous subsequence is formed by first joining all the elements at the even positions in that subsequence, and then joining all the elements at the odd ones at the end. That is, if the activated subsequence consists of 11 elements and represented as $s_{1}s_{2}...\ s_{11}$ , its mangled copy is $s_{2}s_{4}s_{6}s_{8}s_{10}s_{1}s_{3}s_{5}s_{7}s_{9}s_{11}$ .
For example, if the original sequence was "ACTGG" and the mutation happened on the segment $[2,4]$ (that is the activated subsequence is "CTG"), the mutated DNA is: "ACTGTCGG". The mangled copy of the activated subsequence is marked with bold font.
Professor Bajtocy has written down the original DNA sequence and the mutations that sequentially happened to it, and he now asks you to recover the first $k$ elements of the DNA sequence after all the mutations.
For example, if the original sequence was "ACTGG" and the mutation happened on the segment $[2,4]$ (that is the activated subsequence is "CTG"), the mutated DNA is: "ACTGTCGG". The mangled copy of the activated subsequence is marked with bold font.
Professor Bajtocy has written down the original DNA sequence and the mutations that sequentially happened to it, and he now asks you to recover the first $k$ elements of the DNA sequence after all the mutations.
输入格式
The first line of input contains the original DNA sequence, consisting only of letters "A", "C", "T" and "G" and not exceeding $3·10^{6}$ in length.
The second line contains a single integer $k$ ( $1<=k<=3·10^{6}$ ).
The third line contains a single integer $n$ ( $0<=n<=5000$ ) — the number of mutations. The next $n$ lines describe the mutations in chronological order — each mutation is described by two numbers $l_{i}$ and $r_{i}$ ( $1<=l_{i}<=r_{i}<=10^{9}$ ), meaning that the continuous subsequence $[l_{i},r_{i}]$ has become active and cloned itself, joining itself with the mangled copy.
It is guaranteed that the input data is correct, that is, no mutation acts on non-existing elements of the DNA sequence, and the resulting DNA sequence has at least $k$ elements.
Assume that the DNA elements are indexed starting from 1 and that the notation $[l,r]$ meaning the continuous subsequence of DNA sequence that consists of $r-l+1$ elements starting at the $l$ -th DNA sequence element and ending at the $r$ -th DNA sequence element.
The second line contains a single integer $k$ ( $1<=k<=3·10^{6}$ ).
The third line contains a single integer $n$ ( $0<=n<=5000$ ) — the number of mutations. The next $n$ lines describe the mutations in chronological order — each mutation is described by two numbers $l_{i}$ and $r_{i}$ ( $1<=l_{i}<=r_{i}<=10^{9}$ ), meaning that the continuous subsequence $[l_{i},r_{i}]$ has become active and cloned itself, joining itself with the mangled copy.
It is guaranteed that the input data is correct, that is, no mutation acts on non-existing elements of the DNA sequence, and the resulting DNA sequence has at least $k$ elements.
Assume that the DNA elements are indexed starting from 1 and that the notation $[l,r]$ meaning the continuous subsequence of DNA sequence that consists of $r-l+1$ elements starting at the $l$ -th DNA sequence element and ending at the $r$ -th DNA sequence element.
输出格式
Output a single line, containing the first $k$ letters of the mutated DNA sequence.
输入输出样例
输入 #1
GAGA 4 0
输出 #1
GAGA
输入 #2
ACGTACGT 16 2 1 2 2 8
输出 #2
ACCAGTACCGACATCG
In the second example, after the first mutation the sequence is "ACCAGTACGT". After the second mutation it's "ACCAGTACCGACATCGT".
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted