P4411BZOJ1978 [BJWC2010]取数游戏(动态规划dp)

news/2024/11/26 4:20:42/

P4411


一道dp


f[i]表示一定选第i个数的条件下前i个数所能得到的最优值

last[i]表示质因数i在数列a中最后出现时的下标

状态转移方程为\(f[i]=max\{f[last[j]\:|\: j|i \}+1\)

复杂度\(O(n\sqrt{a_i})\)


#include <bits/stdc++.h>
using namespace std;
int n,l,ans,a[50005],last[1000005],f[50005];
signed main(){scanf("%d%d",&n,&l);for(int i=1;i<=n;i++)scanf("%d",&a[i]);for(int i=1;i<=n;i++){int SQRT=sqrt(a[i]); //循环外先算出,提高效率for(int j=1;j<=SQRT;j++)if(a[i]%j==0){int x=j,y=a[i]/j; //x,y是a[i]的一组因数if(x>=l) f[i]=max(f[i],f[last[x]]+1); //由上一个有相同质因数的数转移得到if(y>=l) f[i]=max(f[i],f[last[y]]+1);last[x]=last[y]=i; //修改质因数的最后出现下标}ans=max(ans,f[i]); //保存最优解}printf("%d",ans);
}

转载于:https://www.cnblogs.com/think-twice/p/11251084.html


http://www.ppmy.cn/news/370604.html

相关文章

ubuntu4411

http://bothlog.com/index.php/2010/08/resolve-ubuntu-10-04-ait-card-can-not-adjust-brightness-by-fn-key/

bzoj4411 [Usaco2016 Feb]Load balancing

http://www.elijahqi.win/archives/3059 Description 给出N个平面上的点。保证每一个点的坐标都是正奇数。 你要在平面上画两条线&#xff0c;一条是xa&#xff0c;一条是yb&#xff0c;且a和b都是偶数。 直线将平面划成4个部分&#xff0c;要求包含点数最多的那个部分点数…

HDU 4411 Arrest

分析&#xff1a;很明显的费用流&#xff0c;最重要的还是建图&#xff0c;首先确立源点和汇点&#xff0c;因为城市0为初始点&#xff0c;所以我定义s为源点&#xff0c;然后t为汇点&#xff0c;s-->0建边&#xff0c;流量为k&#xff0c;费用为0&#xff0c;因为不一定所有…

惠普电脑为什么打不开计算机刷题,如果无法打开HP笔记本计算机的无线开关该怎么办?惠普ProBook 4411s...

clp615808 通过 尊敬的HP用户&#xff0c;您好&#xff01;感谢您选择惠普产品. 根据您的描述&#xff0c;建议您参考以下信息: 1. 建议进入操作系统的桌面. 您可以右键单击[计算机](或[我的计算机])图标&#xff0c;选择[管理]&#xff0c;然后在页面左侧的[设备管理器]中-右键…

题解 P4411 【[BJWC2010]取数游戏】

看到大家都是用 f i f_i fi​ 来存储枚举到 i i i 的答案&#xff0c;这里再来一种别样的方法。 同样得先枚举 a i a_i ai​ 的约数&#xff0c;我们其实不需要存储 a i a_i ai​ , 边读边算即可。 我们用 m a i ma_i mai​ 存储约数为 i i i 的最大答案数量&#xff0…

HDU 4411 Arrest(费用流)

题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid4411 题意&#xff1a;有N 1个城市&#xff0c;M条无向带权边&#xff0c;警局在0号点&#xff0c;其他N个点都有犯罪团伙需要抓&#xff0c;最多可以派出K支队伍去抓捕&#xff0c;到了某个城市可以选择抓或…

TPA4411RTJR

描述 TPA4411和TPA4411M是立体声耳机驱动器&#xff0c;旨在消除输出隔直电容&#xff0c;从而减少元件数量和成本。 TPA4411和TPA4411M是小型便携式电子产品的理想选择&#xff0c;其尺寸和成本是关键的设计参数。 TPA4411和TPA4411M能够在4.5 V时驱动80 mW至16负载.TPA4411和…

HDU 4411

费用流 建图见下面代码&#xff0c; 解释下这条加边addedge(2*v1,2*v2,k,0); 费用流第一遍跑肯定是跑含有v条负无穷的边。 如果以后跑反向边是对第一次跑n条负无穷的边的优化&#xff0c;如果没有优化就干脆不出动警力 #include<cstdio> #include<cstring>…