Content

给定一个长度为 \(n\) 的序列 \(a\)。定义两个序列 \(x,y\) 是相似的,当且仅当 \(\forall i\in[1,n],|x_i-y_i|\leqslant 1\)。请你求出有多少个序列 \(b\),使得:

  • 序列 \(a,b\) 相似。
  • 序列 \(b\) 的所有数的乘积为偶数。

数据范围:\(1\leqslant n\leqslant 10\),\(1\leqslant a_i\leqslant 100\)。

Solution

根据题意我们不难发现,对于序列 \(b\) 每一个位置上面的数,其与对应位置上序列 \(a\) 的数的差仅可能为 \(-1,0,1\) 这三种。因此,我们不妨设 \(c_i=b_i-a_i\),然后直接枚举所有 \(c_i\) 可能的值的情况。由于 \(n\) 很小,因此我们的 \(\mathcal O(3^n)\) 做法可以毫无压力地跑过去。

Code

namespace Solution {
int n, ans, a[17], b[17]; iv dfs(int x) {
if(x > n) {
int fl = 0;
F(int, i, 1, n) if(!((a[i] + b[i]) & 1)) {fl = 1; break;}
ans += fl;
return;
}
F(int, i, -1, 1) b[x] = i, dfs(x + 1);
} iv Main() {
read(n); F(int, i, 1, n) read(a[i]);
dfs(1), println(ans);
return;
}
}

AT3589 Similar Arrays 题解的更多相关文章

  1. Codeforces 1090D - Similar Arrays - [思维题][构造题][2018-2019 Russia Open High School Programming Contest Problem D]

    题目链接:https://codeforces.com/contest/1090/problem/D Vasya had an array of n integers, each element of ...

  2. CF1036D Vasya and Arrays 题解

    Content 给定两个长度分别为 \(n\) 和 \(m\) 的数列 \(A,B\).你需要将两个数列都恰好分成 \(k\) 份,使得两个数列中第 \(i(i\in[1,k])\) 份的元素和对应相 ...

  3. CodeForces 620D Professor GukiZ and Two Arrays 双指针

    Professor GukiZ and Two Arrays 题解: 将a数组都sort一遍之后, b数组也sort一遍之后. 可以观察得到 对于每一个ai来说, 整个数组bi是一个V型的. 并且对于 ...

  4. CF915G Coprime Arrays (莫比乌斯反演)

    CF915G Coprime Arrays 题解 (看了好半天终于看懂了) 我们先对于每一个i想,那么 我们设 我们用莫比乌斯反演 有了这个式子,可比可以求出△ans呢?我们注意到,由于那个(i/d) ...

  5. 2018-2019 Russia Open High School Programming Contest (Unrated, Online Mirror, ICPC Rules, Teams Preferred)

    前言 有一场下午的cf,很滋磁啊,然后又和dalao(见右面链接)组队打了,dalao直接带飞我啊. 这是一篇题解,也是一篇总结,当然,让我把所有的题目都写个题解是不可能的了. 按照开题顺序讲吧. 在 ...

  6. 【AtCoder】CODE FESTIVAL 2017 qual C

    A - Can you get AC? No #include <bits/stdc++.h> #define fi first #define se second #define pii ...

  7. 2018-2019 Russia Open High School Programming Contest

    A. Company Merging Solved. 温暖的签到. #include<bits/stdc++.h> using namespace std; ; typedef long ...

  8. 算法与数据结构基础 - 哈希表(Hash Table)

    Hash Table基础 哈希表(Hash Table)是常用的数据结构,其运用哈希函数(hash function)实现映射,内部使用开放定址.拉链法等方式解决哈希冲突,使得读写时间复杂度平均为O( ...

  9. 算法与数据结构基础 - 排序(Sort)

    排序基础 排序方法分两大类,一类是比较排序,快速排序(Quick Sort).归并排序(Merge Sort).插入排序(Insertion Sort).选择排序(Selection Sort).希尔 ...

随机推荐

  1. redis实现最简单的锁

    <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifact ...

  2. HTML四种定位-绝对定位

    绝对定位 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset=&q ...

  3. scanner对象,顺序及选择结构

    scanner对象 基本语法: Scanner s = new Scanner(System.in) 使用next()和nextLine()读取前,使用hasNext()和hasNextLine()来 ...

  4. 了解Threejs中的Clock对象以及简单应用

    什么是Clock对象 如果你对 JavaScript 有一定了解,那么 JavaScript 的时间对象 Date 你一定不陌生,Clock 本质上就是对 Date 进行封装,提供了一些方法和属性 当 ...

  5. [TJOI2007] 可爱的质数

    题意 求最小的\(x\)满足\(a^x \equiv b\mod p\) 想法 这个是标准的板子题,\(BSGS\)算法可以用来解决\(a^x \equiv b\mod p\) 和 \(x^a \eq ...

  6. CF45G

    考虑哥德巴赫猜想:一个偶数可以被拆分两个质数. 所以我们考虑如果不是偶数的话,我们拆分成\((2,m-2)\)或者\((3,del(m - 3))\) 如果是偶数的话\(del(m)\),我们直接枚举 ...

  7. 洛谷 P5400 - [CTS2019]随机立方体(组合数学+二项式反演)

    洛谷题面传送门 二项式反演好题. 首先看到"恰好 \(k\) 个极大值点",我们可以套路地想到二项式反演,具体来说我们记 \(f_i\) 为钦定 \(i\) 个点为极大值点的方案数 ...

  8. 38- Majority Element

    Majority Element My Submissions QuestionEditorial Solution Total Accepted: 110538 Total Submissions: ...

  9. 『与善仁』Appium基础 — 19、元素定位工具(三)

    目录 1.Chrome Inspect介绍 2.Chrome Inspect打开方式 3.Chrome Inspect工具的使用 (1)Chrome Inspect工作前提 (2)Chrome Ins ...

  10. python-3.x-生成器使用

    生成器函数代码: 1 def gen(n): 2 i = 1; 3 sum = 0; 4 while i <= n: 5 ''' 6 方法体1 -- sum求和是1到9的和 7 yield su ...