uoj22 外星人(dp)】的更多相关文章

题目大意: 给定一个\(n\)个数的序列\(a\),给定一个\(x\),其中\(a\)数组可以进行顺序的调换,每一个\(a_i\)都能使$x=x \mod a_i \(, 求最后经过一系列计算后的\)y\(,满足\)abs(x-y)$尽可能小,并求出方案数 QwQ 哇,一看到这个题.说实话,没什么好的思路. 也就发现了几个性质: 1.最后的\(y\)一定小于最小的\(a_i\) 2.如果存在一个\(a_i<a_j\),且\(i<j\) 那么\(a_j\)就没有任何作用了,对答案没有任何一点影响…
题解 首先可以发现有效果的\(a_i\)大小一定是递减的,而且一定小于等于当前值 所以我们可以从大到小考虑每个\(a_i\),当确定了一个有效果的\(a_i\)时,\((a_i,x]\)的数都可以随意的放在\(a_i\)之后并且不会造成影响 设\(f_i\)表示考虑完所有的大小大于\(i\)数,当前数值为\(i\)的方案数 \(s_i\)表示\(\le i\)的数的个数 那么\(f_{i\%a[j]}=f_{i}\times A_{s_{i}-1-s[i\%a[j]]}^{s_i-1}\) 表示…
各种填坑资料(qwq) 主席树(by YL)戳 树套树(by ZSY)戳 不要问我这些题咋来的(查大佬的水表呗) 题目列表: [HDU5977]Garden of Eden [BZOJ2752][HAOI2012]高速公路 [SPOJ TLE]Time Limit Exceeded [NOI2008]假面舞会 [BZOJ3460] Jc的宿舍 [Luogu1456]Monkey King [HNOI2007]紧急疏散evacuate [BZOJ2442]修建草坪 [SCOI2012]滑雪与时间胶…
LINK 题目大意 给你一个序列和一个值x 问你用某种方式对序列安排顺序之后一次对x取mod膜的最大值和方案数 首先发现一个性质 一个数之后所有比它大的数都没有贡献 考虑怎么利用这个性质? 就可以从小到大插入每一个数 然后就开开心心的发现每次插入的数如果有贡献一定是在第一个,否则可以在任意位置 然后就可以非常自然地令\(f_{i,j}\)表示初始数是i,放入前j个数的最大值 然后转移就是枚举当前有没有贡献\(f[i][j] = \max(f[i][j - 1], f[i\% a[j]][j -…
题目描述 给你一个长度为 $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}…
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 题意: 给一个长为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的方案数. 考虑转移,我们从小到大…
做题记录:2016-08-16 20:09:30 描述     XXXX年突然有外星人造访,但大家语言不通,不过科学家们经过研究发现外星人用26个英文字母组成的单词中最长不降子序列的长度来表述数字,且英文字母的排列顺序不同,现给出其排列顺序,再给出外星人说的每个数字(其实是每个英文单词,用空格隔开),翻译出外星人所说的数字(连续输出,最后加回车). (因为是最长不降子序列,所以数字中没有0,也就是说外星人的数字是>=1的数字)例如     我们正常的字母排列顺序是abcdefg…….xyz,代表…
noip快要来了 要练练dp 难度也挺接近 还是挺好的 [Usaco2013 Nov]Pogo-Cow 这一道题要下一段大于这一段 所以的话我们就要记录每一段的状态 F[i,j]=F[j,k]+A[i] (j-i<=k-j, i<j<k) 然后我们可以优化一下 k是可以二分处理的 F[i,j]=F[j,k-n]+A[i] 然后就是树状数组优化一下 写到一半才发现可以写优先队列.. #include<cstdio> #include<iostream> #inclu…
原文链接https://www.cnblogs.com/zhouzhendong/p/CF-Gym100543L.html 题目传送门 - CF-Gym100543L 题意 $T$ 组数据. 有 $n$ 个外星人,第 $i$ 个外星人将在 $a_i$~$b_i$ 这段时间内出现,距离你 $d_i$ . 任何时刻,你可以使用 $R$ 点能量将距离你不超过 $R$ 的所有外星人全部打死. 问你最少使用能量才能干掉所有外星人. $n\leq 300,\ \ \ \ 1\leq a_i\leq b_i\…