上一页 1 ··· 5 6 7 8 9
摘要: 题目链接:https://www.luogu.com.cn/problem/P3146 这题一开始我想的状态是f[i][j]表示从i合并到j的最大值,方程就是如果f[i][l]=f[l+1][j],f[i][j]=max(f[i][j],f[i][l]+1);否则f[i][j]=max(f[i][j 阅读全文
posted @ 2020-03-17 18:04 coastal_taipan 阅读(160) 评论(0) 推荐(0)
摘要: 题目链接:https://vjudge.net/problem/POJ-1742 有点奇特的dp。做题思路来自于挑战程序设计的多重部分和那一节。一开始过了hdu2844但是poj1742过不去,今天终于过了... n<=100,m<=100000直接用多重背包肯定tle,所以要有一些好的状态设计。 阅读全文
posted @ 2020-03-08 15:02 coastal_taipan 阅读(147) 评论(0) 推荐(0)
摘要: 题目链接:https://www.luogu.com.cn/problem/P1541 用f[i][j][k][l]表示1-4种爬行卡片依次用了i,j,k,l个,所能取得的最大值。因为当前位置在a[1+i+2*j+3*k+4*l],所以加上当前格的分数。有状态转移方程:f[i][j][k][l]=m 阅读全文
posted @ 2020-03-01 21:43 coastal_taipan 阅读(317) 评论(0) 推荐(0)
摘要: 题意:给定a和b和p,若a和b之间的数有>=p的公共素因子,就把a和b所在的集合合并。问最后a,b之间有多少个集合 题目开始理解的不对,一开始还对着样例懵逼:{10,20,12,15,18}怎么能在一个集合?后来看了题解,哦原来只要有两个数有>=p的公共素因子就完事了。比如15和12有3,15和20 阅读全文
posted @ 2020-02-24 15:19 coastal_taipan 阅读(161) 评论(0) 推荐(0)
摘要: 题意:给定长度为n(1<=n<=2000)的序列,将原序列变为单调不降或者单调不增的,求最小代价。这儿的代价定义为:设新序列为c,代价=|a1-c1|+|a2-c2|+...+|an-cn| 这题看完题解也愣了好久,主要是状态设计的挺奇怪,而且一开始没弄懂怎么把3个循环优化成2个的。以单调不下降为例 阅读全文
posted @ 2020-02-14 12:29 coastal_taipan 阅读(121) 评论(0) 推荐(0)
摘要: 题意:n个顶点带权无向图,求最短hamilton路径长度(从起点0走到终点n-1,且经过每个顶点恰好一次的路径) 在看位运算的时候做到这题,觉得状态压缩的思路挺奇特的。本来n<20,O(n!*n)的算法肯定炸了,但是可以二进制表示状态。如果将i表示为二进制,i的第j位走过就为1,没走过就为0(注意二 阅读全文
posted @ 2020-02-12 19:49 coastal_taipan 阅读(205) 评论(0) 推荐(0)
摘要: 题意:求有多少个x,使得对于给定的a和m,(a,m)=(a+x,m),这儿1<=a<m<10^10 答案就是m/(a,m)的欧拉函数值。首先 (a+x,m)=((a+x)%m,m)。因为若a+x>m,则(a+x,m)=(a+x-m,m)=((a+x)%m,m),而若a+x<=m显然。那么问题转化为求 阅读全文
posted @ 2020-02-11 19:33 coastal_taipan 阅读(168) 评论(0) 推荐(0)
摘要: 记得以前就写过这道题,但死活wa......这几天重新看了一下exgcd,做了noip2012的d2t1和这道。 exgcd用引用记录x,y的值。然后做poj1061的时候,发现仿佛ax=k(mod m) 这儿的a系数得是正的?如果a<0就把两边同乘-1,再用exgcd出x的特解求出特解x0之后一切 阅读全文
posted @ 2020-02-10 14:45 coastal_taipan 阅读(123) 评论(0) 推荐(0)
摘要: t3一直在想双指针,思路太沙雕正解就是用一个map<pair<int,int>,int>记录最后到达当前位置的是第几个字符,想法就是如果现在到达的位置之前也到达过,那么这段就可以删掉。然后使得可以删掉的长度大小最小,并记录对应的posl,posr。然后一些细节也弄了挺久,位置各种+1 -1的错... 阅读全文
posted @ 2020-02-09 20:04 coastal_taipan 阅读(202) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9