Prime Flip AtCoder - 2689】的更多相关文章

发现我们每次区间取反,相邻位置的正反关系只有两个位置发生改变 我们定义bi为ai和ai-1的正反关系,即ai=ai-1时bi=0,否则bi=1,每次取反l~r,b[l]和b[r+1]会发生改变 容易发现b[i]=1的位置一定是偶数个,我们将他们取出来 因为每次取反一定会改变两个b[i],所以我们将这些位置两两配对消去 两个位置i,j,有三种配对 |i-j|是奇素数,可以直接消去,最少花费1次操作 |i-j|是偶数,可以由奇素数的和(哥德巴赫猜想?)或差得到,最少花费2次 |i-j|是奇非素数,由…
[Arc080F]Prime Flip Description 你有无限多的"给给全",编号为1,2,3,....开始时,第x1,x2,...,xN个"给给全"是躺着的,其它的"给给全"是趴着的 你可以进行一些操作,每个操作大概是这样的: 选择一个不小于3的质数p,然后将连续的p个"给给全"翻过来 你希望让所有"给给全"趴下.请计算完成这一任务所需的最少操作次数 Input 第一行一个正整数N 第二行N个正…
[算法]数论,二分图最大匹配 [题意]有无限张牌,给定n张面朝上的牌的坐标(N<=100),其它牌面朝下,每次操作可以选定一个>=3的素数p,并翻转连续p张牌,求最少操作次数使所有牌向下. [题解] 1.定义bi,当ai和ai-1的朝向相同时,bi=0,否则bi=1.特别的,a0朝向下. 则问题转化为:给定01序列b[],每次选L(正数)和P(奇素数),翻转bL和bP,求最少操作次数使序列全0. 这么转化的关键在于差分,对于区间翻转,区间内的点bi都不会变化,只有区间左端和区间右端+1变化,将…
The branch of mathematics called number theory is about properties of numbers. One of the areas that has captured the interest of number theoreticians for thousands of years is the question of primality. A prime number is a number that is has no prop…
一个数 $n$ 必有一个不超过 $\sqrt n$ 的质因子. 打表处理出 $1$ 到 $\sqrt n$ 的质因子后去筛掉属于 $L$ 到 $R$ 区间的素数即可. Code: #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> using namespace std; const int Range=50000; const int N=1000000+233…
简要题解如下: 区间修改问题,使用差分转化为单点问题. 问题变成,一开始有 \(2n\) 个点为 \(1\),每次操作可以选择 \(r - l\) 为奇质数的两个点 \(l, r\) 使其 ^ \(1\). 根据哥德巴赫猜想可以发现,若 \(r - l\) 为奇质数显然一次即可,若 \(r - l\) 为偶数则需两次,若 \(r - l\) 为奇数则需三次. 近一步可以发现,若想消去两个点 \(l, r\) 则涉及其他点是可以通过调整使得直接消去两个点的. 更近一步可以发现,将所有点按照奇偶分类…
Portal --> arc080_f Solution ​  这题的话..差分套路题(算吗?反正就是想到差分就很好想了qwq) ​​  (但是问题就是我不会这种套路啊qwq题解原话是:"这种翻面一段区间的题,就是差分套路题"==) ​  我们定义一个新的数组\(A\),\(A_i\)表示的是第\(i\)个和第\(i-1\)个的状态是否相同,是的话为\(0\)否则为\(1\),至于第\(0\)个的话..我们强行定义第\(0\)个位置反面向上 ​  这样我们就得到了一个\(01\)…
Description ​ 有无穷个硬币,初始有n个正面向上,其余均正面向下.  你每次可以选择一个奇质数p,并将连续p个硬币都翻转.  问最小操作次数使得所有硬币均正面向下. Input ​ 第一行一个正整数NN ​ 第二行NN个正整数,第ii个数表示xixi Output ​ 一个整数表示最小操作步数 Sample Input Sample #1 2 4 5 Sample #2 9 1 2 3 4 5 6 7 8 9 Sample #3 2 1 10000000 Sample Output…
传送门 这个题是真的巧妙 首先一个很巧妙的思路,差分 考虑假如\(a_i!=a_{i-1}\),则\(b_i=1\),否则\(b_i=0\) 这样一来,一个区间的翻转就变成了对于两个数的取反了 然后我们来考虑一下取反的代价(没错这个题我就只想到了这个) 1.假如距离是奇质数,只要1步,显然 2.假如距离是偶数,引用一下哥德巴赫猜想,2步即可 3.假如距离是奇合数,就是3步(奇质数+偶数) 显然我们可以把这些\(b_i=1\)的按照奇偶性分为2组 组内距离一定是奇数,组与组之间可能是奇质数也可能是…
构造一个数组$b_{i}$(初始为0),对于操作$[l_{i},r_{i}]$,令$b_{l_{i}}$和$b_{r_{i}+1}$值异或1,表示$i$和$i-1$的差值发生改变,最终即要求若干个$b_{i}$为1,其余为0 对于一组合法方案,通过重新排列操作的顺序,使得每一次操作都有至少一个修改是$b_{i}$由1变为0,然后进行以下构造: 1.仅有1个$b_{i}$由1变为0(即另一个$b_{i}$是由0变成1),我们将其称之为移动,即将这个$b_{i}$移动到了另一个位置,其中移动的距离必…