解题报告:dp+数论

解题报告:

传送门!

开始看这题的时候想挂了,,,想了个显然是错解的想法,,,就是,我也不知道我怎么想的,鬼迷心窍地就想开个数组存每个质因数的倍数的出现次数,然后排下序的max就是ans了,,,显然的一个错解,但是其实给正解提供了一点点启发

还是先说一个对正解毫无启发的暴力趴

就是个最简单的dp,当做最长上升子序列这种做,n2转移即可

显然是过不了的

然后我们既然想到最长上升子序列了,就应该能想起,那种题目其实可以二分然后O(nlogn)地过去,举一反三一下,这题484也能优化到O(nlogn) (其实只是凑巧希望不要误导了昂!和二分什么的毫无关系只是想到了就顺口提句QAQ复习下那个知识点QAQ

然后这时候就想起我最前面的那个想法,于是就想到,枚举质因数地转移,f[i]:第一个数是i的倍数的最长长度

有点像之前做过的,绝世好题(当然方法什么的显然不一样,但我jio得思想什么的其实是差不多的,都是O(n2)过不去所以从别的地方入手就能想到优化辣!

然后分享一个很烦躁的事儿,,,

就是,我开始自信满满地打完了代码

然后交上去,RE

然后花式改一直RE在一个地方

然后我就放弃了,照着题解改,A了

然后我再一点点改回来

最后改回了我最开始的代码

A了???

我耗了四五天:D

算了女孩子不能发脾气会长白头发的(假的x

放下代码,,,

#include<bits/stdc++.h>
using namespace std;
#define ll int
#define rg register
#define rp(i,x,y) for(rg ll i=x;i<=y;++i) const ll N=;
ll n,f[N],as=,a[N]; inline int read()
{
rg char ch=getchar();rg ll x=;rg bool y=;
while(ch!='-' && (ch>'' || ch<''))ch=getchar();
if(ch=='-')ch=getchar(),y=;
while(ch>='' && ch<='')x=(x<<)+(x<<)+(ch^''),ch=getchar();
return y?x:-x;
} int main()
{
n=read();
while(n--)
{
ll x=read(),mx=f[x];
for(rg ll i=;i*i<=x;i++)if(x%i==)mx=max(max(mx,f[i]),f[x/i]);
for(rg ll i=;i*i<=x;i++)if(x%i==)f[i]=f[x/i]=mx+;f[x]=mx+;
as=max(as,mx+);
}
printf("%d\n",as);
return ;
}

upd:,,,我我我我知道我RE哪儿了

这样儿的,之前叶佬港压行的时候,就说,return 0,balabala;后面可以接很多动作,麻油关系

于是我就打了return 0,printf();

但是!printf会返回一堆乱码!

而return返回的是最后一个数值!

所以就会RE!

然后还因此被hl聚聚D辣QAQ

洛谷CF264B Good Sequences dp的更多相关文章

  1. 洛谷P1108 低价购买[DP | LIS方案数]

    题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...

  2. NOIP2017提高组Day2T2 宝藏 洛谷P3959 状压dp

    原文链接https://www.cnblogs.com/zhouzhendong/p/9261079.html 题目传送门 - 洛谷P3959 题目传送门 - Vijos P2032 题意 给定一个 ...

  3. 洛谷P1244 青蛙过河 DP/思路

    又是一道奇奇怪怪的DP(其实是思路题). 原文戳>>https://www.luogu.org/problem/show?pid=1244<< 这题的意思给的挺模糊,需要一定的 ...

  4. 洛谷P3928 Sequence2(dp,线段树)

    题目链接: 洛谷 题目大意在描述底下有.此处不赘述. 明显是个类似于LIS的dp. 令 $dp[i][j]$ 表示: $j=1$ 时表示已经处理了 $i$ 个数,上一个选的数来自序列 $A[0]$ 的 ...

  5. 洛谷P1140 相似基因 (DP)

    洛谷P1140 相似基因 题目背景 大家都知道,基因可以看作一个碱基对序列.它包含了44种核苷酸,简记作A,C,G,TA,C,G,T.生物学家正致力于寻找人类基因的功能,以利用于诊断疾病和发明药物. ...

  6. 洛谷P2224 [HNOI2001] 产品加工 [DP补完计划,背包]

    题目传送门 产品加工 题目描述 某加工厂有A.B两台机器,来加工的产品可以由其中任何一台机器完成,或者两台机器共同完成.由于受到机器性能和产品特性的限制,不同的机器加工同一产品所需的时间会不同,若同时 ...

  7. 洛谷1417 烹调方案 dp 贪心

    洛谷 1417 dp 传送门 挺有趣的一道dp题目,看上去接近于0/1背包,但是考虑到取每个点时间不同会对最后结果产生影响,因此需要进行预处理 对于物品x和物品y,当时间为p时,先加x后加y的收益为 ...

  8. 洛谷1387 二维dp 不是特别简略的题解 智商题

    洛谷1387 dp题目,刚开始写的时候使用了前缀和加搜索,复杂度大概在O(n ^ 3)级别,感觉这么写还是比较对得起普及/提高-的难度的..后来看了题解区各位大神的题解,开始一脸mb,之后备受启发. ...

  9. 洛谷 P2657 (数位DP)

    ### 洛谷 P2657 题目链接 ### 题目大意:给你一个数的范围 [A,B] ,问你这段区间内,有几个数满足如下条件: 1.两个相邻数位上的数的差值至少为 2 . 2.不包含前导零. 很简单的数 ...

随机推荐

  1. CPU特性漏洞测试(Meltdown and Spectre)

    2018年1月4日,国外安全研究人员披露了名为"Meltdown"和"Spectre"两组CPU特性漏洞,该漏洞波及到近20年的Intel, AMD, Qual ...

  2. 一句话木马:JSP篇

    JSP一句话收集: <%if(request.getParameter("f")!=null)(new java.io.FileOutputStream(applicatio ...

  3. Splash resource_timeout 属性

    resource_timeout属性用于设置加载的超时时间,单位是秒,如果设置为 0 代表不检测超时,如下,设置超时时间为 0.1 秒: function main(splash) splash.re ...

  4. react native (一)

    开始接触app方面的工作,真心塞~ 又开始了周而复始的死磕一个问题专坐一整天的节奏,关键是还没有成绩,实在无语.╮(╯▽╰)╭,还是总结一下最近心塞历程吧-- react native中文网:http ...

  5. Hibernate系列之ID生成策略

    一.概述 hibernate中使用两种方式实现主键生成策略,分别是XML生成id和注解方式(@GeneratedValue),下面逐一进行总结. 二.XML配置方法 这种方式是在XX.hbm.xml文 ...

  6. 开机出现checking file system on C怎么办

    开机出现checking file system on C怎么办 | 浏览:16126 | 更新:2018-02-04 13:51 | 标签:开机 百度经验:jingyan.baidu.com 开机出 ...

  7. Linux设备驱动剖析之SPI(二)

    957至962行,一个SPI控制器用一个master来描述.这里使用SPI核心的spi_alloc_master函数请求分配master.它在drivers/spi/spi.c文件中定义: struc ...

  8. 《转》Python学习(14)-对文件的操作(一)

    转自 http://www.cnblogs.com/BeginMan/p/3166644.html 一.文件对象 我理解的文件对象就是一个接口,通过这个接口对文件进行相关操作. <Python ...

  9. 响应式web设计之@media

    两种方式,一种是直接在link中判断设备的尺寸,然后引用不同的css文件: 1 <link rel="stylesheet" type="text/css" ...

  10. 六、K3 WISE 开发插件《直接SQL报表开发新手指导 - BOM成本报表》

    ======================== 目录: 1.直接SQL报表 ======================== 1.直接SQL报表 以BOM成本报表为例,在销售模块部署,需要购买[金蝶 ...