H. Oracle for f(x) = parity of the number of 1s in x

Codeforces
IDCF1001H
Time1000ms
Memory256MB
Difficulty
English · Original
Chinese · Translation
Formal · Original
Implement a quantum oracle on _N_ qubits which implements the following function: , i.e., the value of the function is 1 if _x_ has odd number of 1s, and 0 otherwise. ## Input You have to implement an operation which takes the following inputs: * an array of qubits _x_ (input register), * a qubit _y_ (output qubit). The operation doesn't have an output; the "output" of your solution is the state in which it left the qubits. Your code should have the following signature: namespace Solution { open Microsoft.Quantum.Primitive; open Microsoft.Quantum.Canon; operation Solve (x : Qubit\[\], y : Qubit) : () { body { // your code here } } } [samples]
实现一个作用于 #cf_span[N] 个量子比特上的量子预言机,实现以下函数:即,当 #cf_span[x] 中包含奇数个 1 时,函数值为 1,否则为 0。 你需要实现一个操作,该操作接收以下输入: 该操作没有输出;你的解决方案的“输出”是其最终留下的量子比特状态。 你的代码应具有以下签名: ## Input 你需要实现一个操作,该操作接收以下输入:一组量子比特 #cf_span[x](输入寄存器),一个量子比特 #cf_span[y](输出量子比特)。该操作没有输出;你的解决方案的“输出”是其最终留下的量子比特状态。你的代码应具有以下签名:namespace Solution { open Microsoft.Quantum.Primitive; open Microsoft.Quantum.Canon; operation Solve (x : Qubit[], y : Qubit) : () { body { // your code here } }} [samples]
**Definitions** Let $ N \in \mathbb{Z}^+ $ be the number of qubits. Let $ \mathcal{H} = (\mathbb{C}^2)^{\otimes N} $ be the Hilbert space of $ N $ qubits. Let $ |x\rangle \in \mathcal{H} $ denote a computational basis state corresponding to an $ N $-bit string $ x \in \{0,1\}^N $. Let $ f: \{0,1\}^N \to \{0,1\} $ be the parity function: $$ f(x) = \bigoplus_{i=1}^N x_i = \text{parity}(x) = \begin{cases} 1 & \text{if } |x|_1 \text{ is odd} \\ 0 & \text{otherwise} \end{cases} $$ **Objective** Implement a unitary operator $ U_f: \mathcal{H} \to \mathcal{H} $ such that for all $ |x\rangle \in \{0,1\}^N $: $$ U_f |x\rangle = (-1)^{f(x)} |x\rangle $$ **Constraints** - The operation acts only on the $ N $ input qubits. - No ancilla qubits may be used unless explicitly permitted (assumed not allowed). - The implementation must be exact and unitary. - The "output" is the final state of the qubits; no measurement is performed.
API Response (JSON)
{
  "problem": {
    "name": "H. Oracle for f(x) = parity of the number of 1s in x",
    "description": {
      "content": "Implement a quantum oracle on _N_ qubits which implements the following function: , i.e., the value of the function is 1 if _x_ has odd number of 1s, and 0 otherwise.",
      "description_type": "Markdown"
    },
    "platform": "Codeforces",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "CF1001H"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "Implement a quantum oracle on _N_ qubits which implements the following function: , i.e., the value of the function is 1 if _x_ has odd number of 1s, and 0 otherwise.\n\n## Input\n\nYou have to implement ...",
      "is_translate": false,
      "language": "English"
    },
    {
      "statement_type": "Markdown",
      "content": "实现一个作用于 #cf_span[N] 个量子比特上的量子预言机,实现以下函数:即,当 #cf_span[x] 中包含奇数个 1 时,函数值为 1,否则为 0。\n\n你需要实现一个操作,该操作接收以下输入:\n\n该操作没有输出;你的解决方案的“输出”是其最终留下的量子比特状态。\n\n你的代码应具有以下签名:\n\n## Input\n\n你需要实现一个操作,该操作接收以下输入:一组量子比特 #cf_span[x...",
      "is_translate": true,
      "language": "Chinese"
    },
    {
      "statement_type": "Markdown",
      "content": "**Definitions**  \nLet $ N \\in \\mathbb{Z}^+ $ be the number of qubits.  \nLet $ \\mathcal{H} = (\\mathbb{C}^2)^{\\otimes N} $ be the Hilbert space of $ N $ qubits.  \nLet $ |x\\rangle \\in \\mathcal{H} $ denot...",
      "is_translate": false,
      "language": "Formal"
    }
  ]
}
Full JSON Raw Segments