DP——P2300 合并神犇】的更多相关文章

题目背景 loidc来到了NOI的赛场上,他在那里看到了好多神犇. 题目描述 神犇们现在正排成一排在刷题.每个神犇都有一个能力值p[i].loidc认为坐在附近的金牌爷能力参差不齐非常难受.于是loidc便想方设法对神犇们进行人道主义合并. loidc想把神犇的能力值排列成从左到右单调不减.他每次可以选择一个神犇,把他合并到两侧相邻的神犇上.合并后的新神犇能力值是以前两位犇的能力值之和.每次合并完成后,被合并的两个神犇就会消失.合并后的新神犇不能再分开(万一他俩有女朋友咋办)因此每次合并后神犇的…
P2300 合并神犇 题目背景 loidc来到了NOI的赛场上,他在那里看到了好多神犇. 题目描述 神犇们现在正排成一排在刷题.每个神犇都有一个能力值p[i].loidc认为坐在附近的金牌爷能力参差不齐非常难受.于是loidc便想方设法对神犇们进行人道主义合并. loidc想把神犇的能力值排列成从左到右单调不减.他每次可以选择一个神犇,把他合并到两侧相邻的神犇上.合并后的新神犇能力值是以前两位犇的能力值之和.每次合并完成后,被合并的两个神犇就会消失.合并后的新神犇不能再分开(万一他俩有女朋友咋办…
传送门啦 分析: 刚开始读完题后感觉很懵,怎么算都不是3,结果发现题目理解错了.题目要求的是求一个不降的序列,不是递减的(发现自己好傻) 看明白题就好做了吧.经典的区间dp题,合并果子大家应该都做过,那个题求一个代价,这个题换成合并次数了,也差不多. 本题要使一段序列合并成不下降序列,因为只能合并相邻的两个数,所以合并后的一个数必定是由原版序列中的一段进行数次合并得到的.考虑简单的贪心思路,对于第一个数,每次不停加入一个数直到它们的和大于第一个数停止,继续此操作,直到结束,但是这样显然是错误的,…
题目链接 题意分析 首先这道题不可以使用简单的贪心来做 根据\(DP\) 我们令\(dp[i]\)表示当前到了\(i\)一共做了\(dp[i]\)次合并 \(pre[i]\)表示当前合并到了\(i\)后序列末尾的数 那么\[dp[i]=min\{dp[j]+i-j,sum[i]-sum[j]≥pre[j]\}\] 可惜是\(O(n^2)\)的 我们考虑由于是\(dp[i]=dp[j]+val_i\)的形式 所以我们可以使用单调队列优化 \[sum[i]≥sum[j]+pre[j]\] 根据贪心法…
洛谷 听说这题可以\(n^2\)水过去,不过这里介绍一种\(O(n)\)的做法. \(f[i]\)为第\(1-i\)位合并的次数. \(pre[i]\)为第\(1-i\)位最末尾的数. \(j\)为满足\(sum[i]−sum[j]>=pre[j]\)的最大数. 所以很好推出: \(f[i]=f[j]+i−j−1~~~~~pre[i]=sum[i]−sum[j]\) 显然\(pre[i]\)越小越好,这样找到一个就可以退出. 所以可以直接用单调队列优化. 时间复杂度\(O(n)\). 代码,注意…
[Luogu2600]合并神犇 题目背景 loidc来到了NOI的赛场上,他在那里看到了好多神犇. 题目描述 神犇们现在正排成一排在刷题.每个神犇都有一个能力值p[i].loidc认为坐在附近的金牌爷能力参差不齐非常难受.于是loidc便想方设法对神犇们进行人道主义合并. loidc想把神犇的能力值排列成从左到右单调不减.他每次可以选择一个神犇,把他合并到两侧相邻的神犇上.合并后的新神犇能力值是以前两位犇的能力值之和.每次合并完成后,被合并的两个神犇就会消失.合并后的新神犇不能再分开(万一他俩有…
P4213 [模板]杜教筛(Sum) 题目描述 给定一个正整数$N(N\le2^{31}-1)$ 求 $$ans_1=\sum_{i=1}^n\varphi(i)$$ $$ans_2=\sum_{i=1}^n \mu(i)$$ 输入输出格式 输入格式: 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问 输出格式: 一共T行,每行两个用空格分隔的数ans1,ans2 输入输出样例 输入样例#1: 复制 6 1 2 8 13 30 2333 输出样例#1…
[BZOJ4916]神犇和蒟蒻(杜教筛) 题面 BZOJ 求 \[\sum_{i=1}^n\mu(i^2)\ \ 和\ \sum_{i=1}^n\phi(i^2)\] 其中\[n<=10^9\] 题解 第一问 搞笑的 不会做? 算了.. 还是说一下: 想想\(\mu(x)\)是怎么算的??? 既然是\(i^2\),每个因数的个数一定不会是\(1\) 所以除了\(\mu(1)\)外一定都是\(0\) 所以第一问的答案一定是\(1\) 第二问: 先看看要求的是什么 \(\phi(i^2)=i*\ph…
Description 很久很久以前,有一只神犇叫yzy; 很久很久之后,有一只蒟蒻叫lty; Input 请你读入一个整数N;1<=N<=1E9,A.B模1E9+7; Output 请你输出一个整数 $A=\sum_{i=1}^N{\mu (i^2)}$ ; 请你输出一个整数 $B=\sum_{i=1}^N{\varphi (i^2)}$ ; Sample Input 1 Sample Output 1 1 题解 首先注意到 $A$ 直接输出 $1$ 得满分.因为只有 $\mu(1^2)=1…
Description 很久很久以前,有一只神犇叫yzy; 很久很久之后,有一只蒟蒻叫lty; Input 请你读入一个整数N;1<=N<=1E9,A.B模1E9+7; Output 请你输出一个整数A=\sum_{i=1}^N{\mu (i^2)}; 请你输出一个整数B=\sum_{i=1}^N{\varphi (i^2)}; Sample Input 1 Sample Output 1 1 Solution 完全不知道第一问是用来干嘛的....反正都是1 第二问,显然,\(\varphi(…