CF1103D Professional layer dp】的更多相关文章

正解:dp 解题报告: 传送门! 首先不难想到求个gcd,然后把gcd质因数分解成p1w1*p2w2*p3w3*...*pmwm 显然只要满足对每个p有一个ai%pj!=0就好,也就是说对每个pj找出一个ai然后代价最小就好 然后这时候就考虑dp 先考虑最简单的,f[i][x][s]:dp到第i个了,改了x个,p的状态为s的最小花费 然后直接枚举删哪个质因子集,判是否合法(<=k)即可 这时候发现复杂度不太对,是O(nm3m)不会分析复杂度不要问我为什么是这个式子,,, 但反正是跑不过去的这个是…
传送门 首先对于所有数求gcd并求出这个gcd含有的质因子,那么在所有数中,只有这一些质因子会对答案产生影响,而且对于所有的数,每一个质因子只会在一个数中被删去. 质因子数量不会超过\(11\),所以考虑暴力的状压DP:设\(f_{i,j,k}\)表示前\(i\)个数中选出\(j\)个数并删去了集合为\(k\)的质因子的最小代价,转移枚举子集并计算转移是否合法(即第\(i\)个数中当前集合质因子的乘积是否超过\(K\)),复杂度\(O(nm3^m)\) 考虑优化:对每一个数将不能对答案造成影响的…
[题解]CF1103DProfessional layer 神题做前先\(orzyyb\) 一个很好的性质(之前也见过但是没有想到的) zhengchu \(gcd\le 10^{12}\) 所以不同的质因数\(\le 12\) 所以对这\(12\)个质因数状压. 所以答案显然小于等于\(12\) 对于每个数,只有因数和全局\(gcd\)有关的才有用,其余没用. 所以每种数(意会一下,就是和\(gcd​\)关系一样的数)最多只需要\(12​\)个,所以可以把\(n​\)将下来. 然后就愉快地\(…
题目传送门 https://codeforces.com/contest/1103/problem/D 题解 失去信仰的低水平选手的看题解的心路历程. 一开始看题目以为是选出一些数,每个数可以除掉一个不超过 \(k\) 的因数,使得被选出这些数的 \(\gcd\) 为 \(1\). 错的有点离谱.然后想了半天,想了一个奇怪的思路结果没有任何优化空间(因为选择的数不固定无法直接确定所有的质因子). 然后就开始看题解(事实上就算我没看错题目肯定也不会做). 以下为搬运题解内容. 我们可以先求出初始的…
One hundred layer Problem Description   Now there is a game called the new man down 100th floor. The rules of this game is: 1.  At first you are at the 1st floor. And the floor moves up. Of course you can choose which part you will stay in the first…
大意: 给定$n$元素序列$a$, 现在想要让$gcd(a_1,a_2,...,a_n)=1$. 对于每个$a_i$可以除以一个不超过$k$的因子, 代价为$e_i$, 假设一共选择了$x$个元素去除, 代价和为$y$, 求$xy$的最小值. 设$g=gcd(a_1,a_2,...,a_n)=p_1^{\alpha_1}p_2^{\alpha_2}\cdots p_r^{\alpha_r}$, 有$1\le r \le 11$ 我们考虑最优解的结构, 对于一个数$a_i$, 它的某个素因子$p_…
题目简述:给定$1 \leq n \leq 10^6$个正整数$1 \leq a_i \leq 10^{12}$,修改第$i$个正整数$a_i$的花费为$1 \leq e_i \leq 10^9$,以及正整数$1 \leq k \leq 10^{12}$.要求选出若干个正整数进行一次修改,使得修改后所有正整数的最大公约数等于$1$.修改操作为:对于正整数$a$,选择$a$的一个约数$d \leq k$,把$a$修改为$a/d$.设选出并修改的正整数有$x$个,他们的花费之和为$y$,则总的修改花…
向别人学习一波,记点流水帐.17.5.29开坑. 5.29 早晨看了道据说是树状数组优化DP的题(hdu5542),然后脑补了一个复杂度500^3的meet in the middle.然后死T...弃疗. 上午考试有一道sb线段树和一道简单数位DP.还有一道是毕姥爷在WC讲的"超立方体".对着数据范围的表格写了半天部分分然后你告诉我测试数据和这个数据范围根本不一样? 并不会FWT,又因为不太想学新算法,就决定不改题了. 下午先把某个课件的坑填完了.然后在bzoj上乱逛. 决定写写SD…
http://acm.hdu.edu.cn/showproblem.php?pid=4374 去年多校的题 今年才做 不知道这一年都干嘛去了.. DP的思路很好想 dp[i][j] = max(dp[i-1][g]+sum[i][j]-sum[i][g-1],dp[i][j]) abs(g-j)<=t  不过复杂度是相当高的 所以呢 就出现了个单调队列 把它优化下 所谓的单调队列其实也就是一队列 始终保持着队头是最大的 若满足不了距离的条件 队头+1 队尾始终保持更新 让满足的了距离而且比队里的…
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=116242#problem/E 题意:差不多就是男人勇下百层的游戏.从第一层到最后一层最多能够拿到多少分数.每层里面最多可以左右平移T个单位,同时从那个地方到下一层.一开始在第一层的X处. 首先要了解什么是单调队列,这里推荐一个博客写的很不错,直接引用了:http://blog.csdn.net/justmeh/article/details/5844650 用dp(i,j)表…