[CF585E]Marbles】的更多相关文章

Description: 给定一个序列 \(a_i\) ,每次可以交换相邻两个元素,求使序列变成若干个极大连续段,每个极大连续段内部的值相同且任意两个极大连续段的值互不相同. \(n\le 4\times 10^5, a_i\le 20\) Solution: 由于值域很小,启发我们从值域入手,考虑每一种颜色. 设 \(cnt[i][j]\) 表示在只考虑颜色 \(i\) 和 \(j\) 的情况下,把所以颜色 \(i\) 都移到所有颜色 \(j\) 的前面的步数,这个对每一个颜色用 \(\tex…
body-parser deprecated undefined extended: provide extended option app.js:40:20 ------------------------------------------ Server Up - localhost:3000 ------------------------------------------ Running using Developer settings - Tracking Deployment lo…
I have some (say, n) marbles (small glass balls) and I am going to buy some boxes to store them. Theboxes are of two types:T ype 1: each box costs c1 Taka and can hold exactly n1 marblesT ype 2: each box costs c2 Taka and can hold exactly n2 marblesI…
E. Marbles time limit per test:  2 seconds memory limit per test:  256 megabytes input:  standard input output:  standard output In the spirit of the holidays, Saitama has given Genos two grid paths of length n (a weird gift even by Saitama's standar…
Problem F Marbles Input: standard input Output: standard output I have some (say, n) marbles (small glass balls) and I am going to buy some boxes to store them. The boxes are of two types: Type 1: each box costs c1 Taka and can hold exactly n1 marble…
UVA11125 - Arrange Some Marbles(dp) option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=2066" target="_blank" style="">题目链接 题目大意:给你n种不同颜色的弹珠.然后给出每种颜色的弹珠的个数,如今要求你将这些弹珠排序,要求同样颜色的部分最多3个.然后同样颜色的弹珠称…
CF585E. Present for Vitalik the Philatelist 题意:\(n \le 5*10^5\) 数列 \(2 \le a_i \le 10^7\),对于每个数\(a\)满足\(gcd(S)=1,\ gcd(S,a) \neq 1\)的集合称为\(MeowS\),求\(MeowS\)的个数和 一开始想对于每个数求出有多少个数和它互质,就是没有公因子,容斥一下就是: 所有数-1个公质因子+2个不同公质因子-3... 每个数不同的质因子最多有8个,预处理一下貌似可做 然…
前言 本教程基本上是对Marbles项目的翻译过程. 如果英文比较好的话,建议根据官方操作说明,一步步进行环境部署.当然你也可以参考本教程在自己的主机上部署该项目. Marbles 介绍 关于 Marbles 这个应用程序的基础网络是 Hyperledger Fabric,后者是一个 Linux Foundation 项目. 您可能想查阅以下操作说明来稍微了解一下 Hyperledger Fabric 本演示旨在帮助开发人员了解链代码的基础知识以及如何使用 Fabric 网络开发应用程序 这是一…
Marbles Input: standard input Output: standard output I have some (say, n) marbles (small glass balls) and I am going to buy some boxes to store them. The boxes are of two types: Type 1: each box costs c1 Taka and can hold exactly n1 marbles Type 2:…
[题目]E - Smuggling Marbles [题意]给定n+1个点的树(root=0),每个点可以选择放或不放弹珠,每一轮顺序进行以下操作: 1.将根节点0的弹珠加入答案. 2.每个点的弹珠移向父亲. 3.如果一个点有超过2个弹珠,全部丢掉. 如果树中仍有弹珠,继续下一轮. 共有2^(n+1)种放弹珠的方案,计算所有方案的答案之和,取模1e9+7. n<=2*10^5.(部分分:n<=2*10^3) [算法]树形DP [题解]容易发现,层与层之间互相独立,第i轮只需要考虑第i层的节点组…
版权声明:本文作者靖心,靖空间地址:http://blog.csdn.net/kenden23/,未经本作者同意不得转载. https://blog.csdn.net/kenden23/article/details/27830457 Rohit dreams he is in a shop with an infinite amount of marbles. He is allowed to select n marbles. There are marbles of k different…
CF1215E Marbles 传送门 思路 一道比较有意思的状压dp. 首先有一个结论,把一个序列通过交换相邻元素排序,那么交换次数的最小值就是逆序对个数. 证明:从小到大依次把元素换到最前面,那么每次交换都会使逆序对个数-1.逆序对为0则为有序. 考虑引入一个\(a_{c_i}\)代表\(c_i\)这种颜色在序列中的排名. 考虑按照\(a_i\)大小依次考虑每个\(c\).dp数组中存储了以及被用过的\(c\).而\(dp[3]=d[(101)_2]\)代表\(c=3\space or\sp…
(一道Div2E不会,我太难了) 题意: 给你一个长度为$n$的颜色序列$A$,每次操作可以选择两个相邻元素交换,求把序列交换成“相同颜色挨在一起”所需的最少操作数. 按颜色排序:设颜色$col$在序列中出现的最左处为$l$,最右处为$r$,则$A_{l},\cdots , A_{r}=col$ $n\leq 4\times 10^5,A_{i}\leq 20$ 题解: 根据那个20的范围我们可以考虑一个状压dp的做法. 一般人定义状态都是设$dp(s)$表示排好s中的颜色所需要的最少步数,转移…
E. Marbles time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output In the spirit of the holidays, Saitama has given Genos two grid paths of length n (a weird gift even by Saitama's standards). A g…
E. Marbles 这个是一个状压dp 题目大意是:给你一个数组,数组的数在1到20之间,有一个操作就是交换相邻的两个数,问 让所有相同的数相邻的最小操作次数 dp[s] 表示s状态下的操作次数,w[i][j] 表示 i 前面  j  的个数,c[i] 表示一开始使 i 放到最前面的最小操作次数. val[s][i] 表示在s状态下,将 i 放到前面的操作次数. 那么dp[tmp]=min(dp[tmp],dp[s]+val[s][j]) #include <cstdio> #include…
「CF585E」 Present for Vitalik the Philatelist 传送门 我们可以考虑枚举 \(S'=S\cup\{x\}\),那么显然有 \(\gcd\{S'\}=1\). 那么我们从里面可以选一个数出来作为 \(x\),共有 \(|S'|\) 种可能,我们记为 \((x,S)\). 但是这样显然会计算到一些不合法的情况,考虑统计. 对于一个集合 \(S\),若其 \(\gcd\) 为 \(1\),则再任意添加一个数 \(\gcd\) 仍为 \(1\),这样的二元组显然…
来源:http://www.cnblogs.com/zxhl/p/5106678.html 大致题意:给你n个球,给你两种盒子.第一种盒子每个盒子c1美元,可以恰好装n1个球:第二种盒子每个盒子c2元,可以恰好装n2个球.找出一种方法把这n个球装进盒子,每个盒子都装满,并且花费最少的钱. 假设第一种盒子买n1个,第二种盒子买n2个,则c1*n1+ c2*n2= n.由扩展欧几里得 ax+by= gcd(a,b)= g ,(a=n1,b=n2),如果n%g!=0,则方程无解. ax+by=gcd(…
相当于从n-1个位置里面找k-1个位置放隔板 #include <cstdio> #include <cstring> #include <cstdlib> #include <algorithm> #define LL long long int using namespace std; int main() { double n, k; int T; scanf( "%d", &T ); while ( T-- ) { sca…
题目大意: 一个包裹里有蓝色和红色的弹珠,在这个包裹里有奇数个弹珠,你先走, 你先从背包里随机的拿走一个弹珠,拿走每个弹珠的可能性是一样的.然后Jim从背包里拿走一个蓝色的弹珠,如果没有蓝色的弹珠让Jim拿走,那么Jim赢,如果最终从包裹里移走的是蓝的弹珠,那么你赢,否则Jim赢.给你蓝色和红的背包的里弹珠的个数,求赢的概率.   dp[R][B] 代表 R个红球, B个白球的时候赢得概率.当遇到 (R+B)%2 == 0 得时候直接 dp[R][B] = dp[R][B-1]就OK了. 这里采…
BFS+状态压缩. /* 2405 */ #include <iostream> #include <queue> #include <cstdio> #include <cstring> #include <cstdlib> using namespace std; #define MAXN 216000 #define MAXM 2005 typedef struct { int a, b, c; } node_t; node_t Q[MAX…
题意 Sunke 有一棵 \(N + 1\) 个点的树,其中 \(0\) 为根,每个点上有 \(0\) 或 \(1\) 个石子, Sunke 会不停的进行如下操作直至整棵树没有石子 : 把 \(0\) 上面的石子从树上拿走放入口袋 ; 把每个点上的石子移到其父亲上 ; 对于每个点 , 若其石子数 \(≥ 2\) , 则移除该点所有石子(不放入口袋). 求对于所有 \(2^{N+1}​\) 种放置石子的方案 , 最终 Snuke 口袋中石子数是多少 , 对 \(10^9+7​\) 取模 . \((…
好强的题. 方案不好算,改成算概率,注意因为是模意义下的概率所以直接乘法逆元就好不要傻傻地开double. 设$f[i][d][0]$为第i个节点离d层的球球走到第i个点时第i个点没有球的概率, $f[i][d][1]$为有1个球的概率, $f[i][d][2]$为有2个球及以上的概率. 我们可以把$f[i]$看成一个队列, 然后从儿子转移的时候, 就是把儿子的队列一个一个合并起来,最后在队列头加上一个$f[i][0]$, 并且把队列里的所有$f[i][0$~$d][2]$加上$f[i][0$~…
题目大意: 给出一个$N(N <= 2^{22}$),$N$的二进制表示中1的个数不超过4.  一开始有一个集合$S = {N}$, 每次操作可以选择$n\in S \ (n > 1)$, 将$n$拆成两个正整数$n_1$和$n_2$,$n = n1 + n2$, 然后令$S = \{S \setminus n\} \cup \{n_1, n_2\}$.  问最少多少次操作使得$S = \{ 1 \}$. 题解: 考虑将这个过程倒过来,本质是让求一个最短的Brauer chain.考虑一个Br…
dp[i][j][m][n][s]表示最初选择j个i号颜色大理石.当前选择n个m号颜色大理石.剩余大理石状态(8进制数状压表示)最开始没看出状压..sad #include <map> #include <set> #include <list> #include <cmath> #include <ctime> #include <deque> #include <stack> #include <queue>…
n<=500000个2<=Ai<=1e7的数,求这样选数的方案数:先从其中挑出一个gcd不为1的集合,然后再选一个不属于该集合,且与该集合内任意一个数互质的数. 好的统计题. 其实就是要对每个数求和他互质的,gcd不为1的集合数,容斥一下,求出所有gcd不为1的集合数A然后减去所有他的质因子对这个A的贡献.(这里的A是CF的题解的B) 那先看看所有gcd不为1的集合数怎么求.比如说2的倍数有cnt_2个,那能凑出2^cnt_2-1个集合,然后3的倍数有cnt_3个,能凑出2^cnt_3-…
Install: npm install — save-dev jasmine-marbles Basic example: import {cold, getTestScheduler} from 'jasmine-marbles'; import 'rxjs/add/operator/concat'; describe('Test', () => { it('concat', () => { const one$ = cold('x-x|'); const two$ = cold('-y|…
题目链接: http://codeforces.com/contest/1215/problem/E 题意: 至少多少次操作可以使得相同的数都是相邻的 每次操作可以交换两个相邻的数 数据范围: $1\leq n \leq 400000$ $1\leq a_i \leq 20$ 分析: 定义$dp[i]$,$i$是状态,如果某位是1,那么就固定好了该颜色 $dp[i]$为$i$状态下需要交换的最少次数 定义$ma[i][j]$,只考虑$i,j$两种颜色时,把$i$放前面$j$放后面的最少移动次数…
题目链接:https://codeforc.es/gym/101908/problem/B 题意:两个人玩游戏,有 n 块石头,初始坐标为(x,y),一次操作可以将一块石头移动到(x - u,y),(x,y - u)或者(x - u,y - u),坐标为(0,0)的石子不能移动,问先手赢还是输. 题解:显然移动石子不能移动到 x = 0,y = 0 或者 x = y 的直线上,否则下一个玩家通过一步就可以获胜,故求 sg 值的时候,遇到这些坐标上的点直接跳过,答案则为全部石子异或和,特批一下一开…
传送门 注意到 $a$ 的值的数量并不大,考虑状压 $dp$ 设 $f[S]$ 表示此时确定的数集合为 $S$ ,且按某种顺序从数列开头排列完成的最小交换次数 那么每个状态枚举最后一个填的数,加上代价后,取最小值即可 现在最大的问题是,代价怎么算...??? 注意到我们每次交换相邻的两个数,这两个数和其他的数的相对位置是不变的(这个我认为是整题最关键的地方) 就是说在最优情况下,我们把数字 $x$ 统一交换到某个段时,产生的代价即为这个数原本每个位置和此时这个位置之前还没确定的数的数量....…
题目大意:给出一个由N个整数组成的序列,通过每次交换相邻的两个数,使这个序列的每个相同的数都相邻.求最小的交换次数. 比如给出序列:1 2 3 2 1 ,那么最终序列应该是 1 1 2 2 3 ,最小交换次数为4. 输入格式 第一行输入一个数字n(2≤n≤4*10^5),表示大理石的总数. 第二行输入n个数字a1,a2-,an(1≤ai≤20)表示第i块大理石的颜色为ai. 输出格式 最少交换的次数. 样例 样例输入 1 7 3 4 2 3 4 2 2 样例输出 1 3 样例输入 2 5 20…