上一页 1 ··· 7 8 9 10 11 12 13 14 下一页
摘要: dp总结 线性dp 特点:由已知的子问题递推过来,是有方向性的,且有明显的维度。 求解过程:定义dp -> 确定目标 -> 寻找转移方程 -> 考虑优化(有些题不需要) 怎么确定转移方程:考虑两种思考方式:1.如何得出一个状态 2.已知这个状态怎么推其它状态 时间复杂度:直接根据for来乘计算即可 阅读全文
posted @ 2019-08-21 21:36 rua-rua-rua 阅读(132) 评论(0) 推荐(0) 编辑
摘要: LCIS(最长公共上升子序列) 方案输出+dp储存最优值优化 分析: 这道题明显是将LCS和LIS结合,那么可以想到(我没想到)定义dp[ i ] [ j ]是a中1~i 和 b中1~j 以 b[ j ] 结尾的最长LCIS长度。 转移:当a[ i ]==b[ j ]时,要在小于j中找到一个最大的d 阅读全文
posted @ 2019-08-21 21:02 rua-rua-rua 阅读(360) 评论(0) 推荐(0) 编辑
摘要: Making the Grade(POJ3666) 题意: 给出长度为n的整数数列,每次可以将一个数改成另一个数,代价是两数之差的绝对值,求最少要多少代价可以将其变成单调增或者单调减(不严格)。 分析: dp定义:dp[i][j]表示已经处理完前i个数,第i个数被改成了j dp转移:dp[i][j] 阅读全文
posted @ 2019-08-21 19:23 rua-rua-rua 阅读(192) 评论(0) 推荐(0) 编辑
摘要: LIS(O (n*logn)) 题目 lower_bound & upper_bound用法 假设我们查找x,那么:lower_bound会找出序列中第一个大于等于x的数upper_bound会找出序列中第一个大于x的数但是!!只能对升序的序列找,如果是降序的,加一个greater<int>() n 阅读全文
posted @ 2019-08-21 19:09 rua-rua-rua 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 题目链接:洛谷P1948[USACO08JAN]电话线Telephone Lines 分析: 题意:在无向图中找到一条路径,可以使k条边花费0,最后花费即为剩下的边中最大值,使这个最大值最小。 1.使最大值最小的问题明显可以二分一个mid。 2.由贪心可知,使k条花费为0必然是最大的k条边,即要求的 阅读全文
posted @ 2019-08-21 14:27 rua-rua-rua 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 我的网络流7题 最大流2题: 洛谷P2756 飞行员配对方案问题 分析 其实就是一个二分图匹配求最大匹配数的问题,加一个源点和汇点,再跑一遍网络流,输出方案的时候检查一下有没有流经过即可(反向边是否非0)。 注意:每个点在向源点和汇点连边时,要在输入完之后再连。否则会重复连。 #include<bi 阅读全文
posted @ 2019-08-12 17:30 rua-rua-rua 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 数位dp总结 分类: 一类是单纯地统计满足条件的个数,一类是要求类似于数位和、平方和一类的。其实第二类是基于第一位的基础上的,只是要开一个结构体去存有关要维护的信息,例如:恨7不成妻(数位DP求平方和)。 解题套路: 找到限制条件->dfs传参->考虑将哪些限制条件放入dp 虽然基础的数位dp看起来 阅读全文
posted @ 2019-08-06 18:33 rua-rua-rua 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 互质:原地址 洛谷P3846模板: //x的多少次方同余于y (mod p) //将x拆分 移项 #include<bits/stdc++.h> using namespace std; map<int,int> mp; int x,y,mod; int quick_pow(int a,int k) 阅读全文
posted @ 2019-07-31 15:55 rua-rua-rua 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 首先看看大佬的博客 下面是推理过程,然而我们只需要记结论(h,g,f 都是假定的函数,S是f的前缀和函数): 例题1:N=1e10 ,求下式 思路:S(i)是f的前缀和,我们想找到一个g使得h的前缀和好求(h=f*g)。 先将h的式子写出来: 再把f套成u,我们会发现,前面那一部分是可以套莫比乌斯的 阅读全文
posted @ 2019-07-31 15:44 rua-rua-rua 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 转载自此博客 整除分块: 给定n,求(Σd=1n ⌊n /d⌋)%998244353,n<=1e14 直接枚举会爆 考虑优化: 我们发现,⌊n/d⌋是有可能等于⌊n/(d+1)⌋的 那我们为什么要重复算呢? 直接加就好了!! 那也就是说,对于一个i,我们要找到一个j,使得⌊n/i⌋=⌊n/(i+1) 阅读全文
posted @ 2019-07-31 15:08 rua-rua-rua 阅读(518) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 下一页