UOJ22 UR #1外星人(动态规划)】的更多相关文章

https://www.cnblogs.com/Gloid/p/10629779.html 这一场的D. #include<bits/stdc++.h> using namespace std; #define N 1010 #define M 5010 #define P 998244353 int n,m,a[N],f[N][M],fac,inv[N]; int main() { #ifndef ONLINE_JUDGE freopen("b.in","r&q…
LINK:#22. UR #1 外星人 给出n个正整数数 一个初值x x要逐个对这些数字取模 问怎样排列使得最终结果最大 使结果最大的方案数又多少种? n<=1000,x<=5000. 考虑一个排列真正的有效取模只有当 \(x\geq a_i\)时才行 所以x通过一个排列真正有效的数字必然是从大到小排列的. 求第一问 不难想到将模数从大到小排列 设f[i][j]表示到达第i个模数此时值为j是否可行. 这样dp下来我们只需要取出小于minn的那个可行值最大的即可. 考虑方案数 这样dp同样有效.…
题目描述 给你一个长度为 $n$ 的序列 $\{a_i\}$ 和一个数 $x$ ,对于任意一个 $1\sim n$ 的排列 $\{p_i\}$ ,从 $1$ 到 $n$ 依次执行 $x=x\ \text{mod}\ a_{p_i}$ ,最终得到一个数.求所有排列中能够得到的这个数的最大值,以及有多少种排列可以得到这个值. $n\le 1000$ ,$x\le 5000$ . 题解 组合数学+dp 由于 $a\ \text{mod}\ b<b$ ,因此每次产生影响(即 $x\ \text{mod}…
[APIO2014]连珠线 考虑一组以 \(x\) 为中点的蓝边,有两种可能: \[son[x]->x->fa[x] \] \[son[x]->x->son[x] \] 其中若有两个儿子间连边的点不存在祖先关系,那么它们就无法被连接到一起 因此所有的儿子间连边的点一定在一条链上 因此,若以链的最低点为根,那么所有儿子间连边的点的情况可以归纳为 \(son[x]->x->fa[x]\) 的情况 换根 \(dp\) 即可 点击查看代码 #include<bits/st…
[UOJ#22][UR #1]外星人(动态规划) 题面 UOJ 题解 一道简单题? 不难发现只有按照从大往小排序的顺序选择的才有意义,否则先选择一个小数再去模一个大数是没有意义的. 设\(f[i][j]\)表示考虑了前\(i\)个数,模完之后是\(j\)的方案数. 转移的时候枚举这个数是模还是不模,如果不模的话就要把它放到后面某个小数的后面,方案数是\(n-i\). #include<iostream> #include<cstdio> #include<cstdlib>…
LINK 题目大意 给你一个序列和一个值x 问你用某种方式对序列安排顺序之后一次对x取mod膜的最大值和方案数 首先发现一个性质 一个数之后所有比它大的数都没有贡献 考虑怎么利用这个性质? 就可以从小到大插入每一个数 然后就开开心心的发现每次插入的数如果有贡献一定是在第一个,否则可以在任意位置 然后就可以非常自然地令\(f_{i,j}\)表示初始数是i,放入前j个数的最大值 然后转移就是枚举当前有没有贡献\(f[i][j] = \max(f[i][j - 1], f[i\% a[j]][j -…
link 题意: 给一个长为n的序列a[],现在有一个初始值m,问一个1~n的排列p[],满足将m对a[p[i]]顺次取模后得到的值最大,输出最大值和方案数. $n,m\leq 5\times 10^3.$ 题解: 如果存在i,j满足i<j&&a[i]<a[j],那么这个a[j]是没有用的,取不取模效果一样. 考虑将a[]从大到小排序,原问题转化为从左往右选择若干个数取模,所得的最大值以及方案数.定义f[i][j]表示操作到前i个数%之后值为j的方案数. 考虑转移,我们从小到大…
[UOJ#50][UR #3]链式反应(分治FFT,动态规划) 题面 UOJ 题解 首先把题目意思捋一捋,大概就是有\(n\)个节点的一棵树,父亲的编号大于儿子. 满足一个点的儿子有\(2+c\)个,其中\(c\in A\),且\(c\)个儿子是叶子,另外\(2\)个存在子树,且两种点的链接的边是不同的,求方案数. 那么就考虑一个暴力\(dp\),设\(f[i]\)表示有\(i\)个节点的树的个数. 那么枚举它两个有子树的子树大小,然后把编号给取出来,得到: \[f[i]=\frac{1}{2}…
[UOJ#76][UR #6]懒癌(动态规划) 题面 UOJ 题解 神....神仙题. 先考虑如果是完全图怎么做... 因为是完全图,所以是对称的,所以我们只考虑一个有懒癌的人的心路历程. 如果只有一只狗有懒癌:第一天,看了看,似乎其他的狗都没有,但是村子里至少有一只狗有,然后就确定了. 如果有两只狗:第一天,看了看,有一只别的狗有懒癌,不确定:第二天,昨天有懒癌的那只狗还活着,证明他不能确定,所以他还看到了别的狗有懒癌,而除了自己的未知和那个有懒癌的人,别的人的狗都没有懒癌,所以自己的狗有懒癌…
2044年,Picks建成了人类第一台基于量子理论的银河系信息传递机. Picks游遍了宇宙,雇用了 n 个外星人来帮他作为信息传递机的中转站.我们将外星人依次编号为 1 到 n,其中 i 号外星人有 ai 根手指. 外星人都是很低级的,于是Picks花费了很大的精力,才教会他们学会扳手指数数. Picks现在准备传递 x 个脉冲信号给VFleaKing,于是他把信号发给1号外星人,然后1号外星人把信号发送给2号外星人,2号外星人把信号发送给3号外星人,依次类推,最后n号外星人把信号发给VFle…