不大难的dp,暴力拆一下约数然后按照约数来统计即可.

注意:vector 很慢,所以一定特判一下,如果没有该数,就不要添加.

Code:

#include <bits/stdc++.h>
#define N 1000005
#define setIO(s) freopen(s".in","r",stdin)
using namespace std;
vector<int>v[N];
int prime[N],f[N],g[N],A[N];
bool vis[N],go[N];
int main()
{
// setIO("input");
int n,L,i,j,tot=0,M=0;
scanf("%d%d",&n,&L);
for(i=1;i<=n;++i) scanf("%d",&A[i]), go[A[i]]=1;
for(i=2;i<N;++i)
{
if(!vis[i]) prime[++tot]=i;
for(j=1;j<=tot&&prime[j]*i<N;++j)
{
vis[i*prime[j]]=1;
if(i%prime[j]==0) break;
}
}
for(i=L;i<N;++i) for(j=i;j<N;j+=i) if(go[j])v[j].push_back(i);
for(i=1;i<=n;++i)
{
int c=A[i],mx=0;
for(j=0;j<v[c].size();++j)
{
int cur=v[c][j];
++g[cur];
mx=max(mx, g[cur]);
}
for(j=0;j<v[c].size();++j)
{
int cur=v[c][j];
g[cur]=mx;
}
M=max(M,mx);
}
printf("%d\n",M);
return 0;
}

  

luogu 4411 [BJWC2010]取数游戏 约数+dp的更多相关文章

  1. P4411&&BZOJ1978 [BJWC2010]取数游戏(动态规划dp)

    P4411 一道dp f[i]表示一定选第i个数的条件下前i个数所能得到的最优值 last[i]表示质因数i在数列a中最后出现时的下标 状态转移方程为\(f[i]=max\{f[last[j]\:|\ ...

  2. 1166 矩阵取数游戏[区间dp+高精度]

    1166 矩阵取数游戏 2007年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description [ ...

  3. BZOJ 1978: [BeiJing2010]取数游戏 game( dp )

    dp(x)表示前x个的最大值,  Max(x)表示含有因数x的dp最大值. 然后对第x个数a[x], 分解质因数然后dp(x) = max{Max(t)} + 1, t是x的因数且t>=L -- ...

  4. 计蒜客 取数游戏 博弈+dp

    题目链接 取数游戏 思路:dp(x, y)表示先手在区间[x, y]能取得的最大分数.当先手取完,就轮到后手去,后手一定会选择当前能令他得到最大分数的策略,其实当先手在[x, y]区间两端取走一个数, ...

  5. P1005 矩阵取数游戏 区间dp 高精度

    题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n \times mn×m的矩阵,矩阵中的每个元素a_{i,j}ai,j​均为非负整数.游戏规则如下: 每次取数时须从每行各取走一个元素,共n ...

  6. P1005 矩阵取数游戏[区间dp]

    题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的\(m*n\)的矩阵,矩阵中的每个元素\(a_{i,j}\)均为非负整数.游戏规则如下: 每次取数时须从每行各取走一个元素,共n个.经过m次后 ...

  7. 计蒜客 取数游戏(dp)

    有如下一个双人游戏:N个正整数的序列放在一个游戏平台上,两人轮流从序列的两端取数,每次有数字被一个玩家取走后,这个数字被从序列中去掉并累加到取走该数的玩家的得分中,当数取尽时,游戏结束.以最终得分多者 ...

  8. 【noi 2.6_9265】取数游戏(DP)

    题意:从自然数1到N中不取相邻2数地取走任意个数,问方案数. 解法:f[i][1]表示在前i个数中选了第i个的方案数,f[i][0]表示没有选第i个.f[i][1]=f[i-1][0];  f[i][ ...

  9. [luoguP1005] 矩阵取数游戏(DP + 高精度)

    传送门 和奶牛那个题很像,每一行状态互不影响,也就是求 n 遍DP 不过高精度非常恶心,第一次写,调了我一上午. ——代码 #include <cstdio> #include <c ...

随机推荐

  1. @WebServlet注解

    @WebServlet("/LoginServlet") jsp页面: <form action="LoginServlet" method = &quo ...

  2. ros msg和srv使用

    在包文件中新建文件夹srv和msg,在这两个文件夹中新建test.msg,test.srv 修改apckage.xml 添加以下内容 <build_depend>:message_gene ...

  3. HDU1401(双向BFS)

    题意:http://acm.hdu.edu.cn/showproblem.php?pid=1401 给你8*8的棋盘和4个棋子初始位置.最终位置,问你能否在8次操作后达到该状态. 思路: 双向BFS, ...

  4. Dijkstra算法——超~~详细!!

    Dijkstra算法_ ** 时隔多月,我又回来了!**_ 今天下午久违的又学了会儿算法,又重新学习了一遍Dijkstra,这是第三次重新学习Dijkstra(*以前学的都忘完了>_<*) ...

  5. 护卫神等IIS设置Thinkphp框架的public目录为根目录的解决办法

    最近碰到一个棘手的问题,在使用护卫神或者主机宝等IIS环境配置PHP的时候,不能把public设置为网站根目录(因为Thinkphp的安全要求:要将public设置为对外公开目录),这个问题无法搜索到 ...

  6. linux 对外开放端口

    查看守护进程端口 netstat -ntpl 查看开放的端口 iptables -nvL 查看端口是否可访问:telnet ip 端口号 (如本机的35465:telnet localhost 354 ...

  7. Docker pull 出现的 error pulling image configuration: Get https://dseasb33srnrn.cloudfront.net/

    vim /etc/sysconfig/docker OPTIONS='--selinux-enabled --log-driver=journald --signature-verification= ...

  8. elment-ui表单验证

    <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-widt ...

  9. XWork配置示例

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE validators PUBLIC       ...

  10. 销售订单(SO)-API-创建销售订单

    创建销售订单API主要注意几点: 初始化环境变量:fnd_global.apps_initialize(); mo_global.init('ONT'); mo_global.set_policy_c ...