![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
洛谷
ChenyangDu
这个作者很懒,什么都没留下…
展开
-
网络流模板
存个网络流模板洛谷P3376#include<stdio.h>#include<cstring>#include<queue>#include<vector>#include<algorithm>#include<iostream>#define ll long longusing namespace std...原创 2019-11-13 09:22:21 · 131 阅读 · 0 评论 -
洛谷 P1996 约瑟夫问题(简易版) 模拟
题目链接:点我跳转题目大意:模拟约瑟夫问题题目分析:就是模拟,,,没啥好分析的#include<iostream>using namespace std;int in[105];int main(){ int n,m,t = 0; cin>>n>>m; for(int i=0;i<n;i++){ in...原创 2019-01-28 20:54:00 · 252 阅读 · 0 评论 -
洛谷 P1739 表达式括号匹配 栈
题目链接: 点我跳转题目大意: 给定一个字符串,判断其中的左右括号是否配对题目分析: 洛谷归类在线性结构里面,应该是用栈,那么我们遇到左括号,就在栈里面放一个1,遇到右括号就取出一个1来,如果结束的时候还有1在里面,就是配对成功,没空就是失败。如果在读取的过程中栈空了又遇到了右括号,那也说明配对失败。但是我们好像只用到了栈的大小,所以用一个数字来表示栈的大小就OK了。用栈写的代码#incl...原创 2019-01-29 13:49:09 · 398 阅读 · 0 评论 -
洛谷 P1115 最大子段和 前缀和 动规
题目链接: 点我跳转题目大意:给出一段序列,选出其中连续且非空的一段使得这段和最大。题目分析:刚开始想到想到尺取法去了,显然尺取法不能取出最大的一段,不适合此类题型。既然是一段的和,很自然地应该想到前缀和,然后只要求出ai−aj(i&amp;gt;j)a_i-a_j (i&amp;gt;j)ai−aj(i&gt;j)的最大值就OK了。我觉得这个可以算动规,从右向左遍历,不断更新当前右侧的最...原创 2019-01-29 14:01:37 · 238 阅读 · 0 评论 -
洛谷 P1087 FBI树
题目链接: 点我跳转题目大意: 读题吧。。。好像总结不出来题目分析:既然是后序遍历,那就每次先判断两个子树的类型,如果都是B就输出B,如果都是I,就输出I,否则就输出F,然再把信息反馈给父节点就OK了。#include<iostream>#include<cstdio>#include<cstring>#include<string>#...原创 2019-01-29 15:01:27 · 184 阅读 · 0 评论 -
洛谷 P1030 求先序排列
题目链接: 点我跳转题目大意:给出一棵二叉树的中序与后序排列。求出它的先序排列。题目分析:我们先来看看三种排列(1)先(根)序遍历(根左右)(2)中(根)序遍历(左根右)(3)后(根)序遍历(左右根)我们先来看下面这个例子中序遍历:CBDAFEG后序遍历:CDBFGEA由于根只是一个节点,所以中序排列的最后一位就是先序排列的第一位,我们找到了根节点“A”,然后在中序遍历中查找“...原创 2019-01-29 16:09:26 · 290 阅读 · 0 评论 -
洛谷 P1305 新二叉树
题目链接:点我跳转题目大意:输入一串二叉树,用遍历前序打出。题目分析:没啥好分析的,,,#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<algorithm>using nam...原创 2019-01-29 16:48:46 · 219 阅读 · 0 评论 -
洛谷 P1233 木棍加工 思维+动规
题目链接: 点我跳转题目大意: 一堆木头拥有l,w两个值,必须按照l<=l’&&w<=w’的顺序才能排成一队,求多少组。题目分析: 可以先按长度从大到小排序,然后在宽度里面只要选择出最长上升子序列就行了(为啥,自行百度偏序定理)#include<iostream>#include<cstdio>#include<cstring&...原创 2019-02-08 14:37:32 · 316 阅读 · 0 评论 -
洛谷 P2158 [SDOI2008]仪仗队 欧拉函数
题目链接: 点我跳转题目大意:如下图,给出一个方阵,求角落里的人可以直接看到的人的数量题目分析:1.暴力算法如果(x,y)位置的人可以被看到,那么(kx,ky)位置的人一定可以被看到,那么我们不难发现,当且仅当,x与y互质的时候可以被看到,否则,会被(xm,ym)(\frac xm,\frac ym)(mx,my)挡住,(m是最大公约数),显然,我们可以发现,最为暴力的思路就是枚举(...原创 2019-02-10 15:11:33 · 376 阅读 · 0 评论 -
洛谷 P1060 开心的金明 NOIP 2006 动规 背包
题目链接:点我跳转题目大意:01背包题目分析:01背包模板#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;string&gt;#include&lt;cmath&gt;#include&lt原创 2019-01-30 17:15:29 · 138 阅读 · 0 评论 -
洛谷 P1057 传球游戏 动规
题目链接:点我跳转题目大意:一个长度为n的闭环,从一个点出发,经过m条边后(无方向),回到出发点,求方案数。题目分析:这道题我用的动归,从i出发,经过k步,到达j点的方案数为[i,j,k][i,j,k][i,j,k],可得状态转移方程[i,j,k]=[i,j+1,k−1]+[i,j−1,k−1][i,j,k] = [i,j+1,k-1]+[i,j-1,k-1][i,j,k]=[i,j+1,k−...原创 2019-01-28 20:40:24 · 291 阅读 · 0 评论 -
洛谷 P1541 乌龟棋
题目链接:点我跳转题目大意: 一个N×1的棋盘,棋盘上有数字,从第一格开始,每次可以向前1/2/3/4格,向前不同格数的次数有限,怎样使得取得的数字和最大题目分析: 四重动规,做四次循环就好了#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#includ...原创 2019-02-03 16:45:02 · 188 阅读 · 0 评论 -
洛谷 P1855 榨取kkksc03
题目链接: 点我跳转题目大意: emmmm就是个双重背包题目分析: 只要在01背包的基础上稍加修改就OK了#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>using namespace std;i...原创 2019-02-03 13:52:11 · 257 阅读 · 0 评论 -
洛谷 P1091 合唱队形 动规
题目链接: 点我跳转题目大意: 从一个队列中删除尽可能少的数,使其成为一个中间高,两边低的数列题目分析: 看到这个,我们很容易想到最长上升子序列,那么我们如何应用LIS呢?我们可以枚举最高点,计算最高点左侧的最长上升子序列和右侧的最长下降子序列(这里需要包含最高点),再用总人数减去二者的和,就可以求出需要出列的人数。#include&lt;iostream&gt;#include&lt;c...原创 2019-02-01 21:48:26 · 231 阅读 · 0 评论 -
洛谷 P1880 [NOI1995]石子合并 动规
题目链接: 点我跳转题目大意: 一个环形的数列,每次合并相邻的两个数,两数之和为得分,求合并所有数的最小得分和最大得分。题目分析: 很经典的题了,我们可以将环形切开,在链上考虑合并情况。(以下有关区间的讨论全部在左闭右开的情况下讨论)我们首先来考虑最小得分的情况。对于每一条链上的合并情况,我们可以将链分成两条较短的链进行考虑。也就是[s,t)[s,t)[s,t)可以分成[s,m)[s,m)...原创 2019-02-02 12:05:34 · 253 阅读 · 0 评论 -
洛谷 P1280 尼克的任务 动规
题目链接: 点我跳转题目大意: 已知一系列任务的开始时间和持续时间,对于一个人来说,相同开始时间的任务只需选择一个,如果某空闲时刻只有一个任务,那么必须完成,同一时间只能做一个任务,问:怎样做任务空闲时间最多题目分析: 对于某一时刻,有多个相同任务的时候,我们应当选择当任务结束时,可以获得尽可能多的休息时间的那个任务。不妨设dp[i]dp[i]dp[i]表示如果在第iii分钟前没事干了(空闲或...原创 2019-02-02 13:49:24 · 202 阅读 · 0 评论 -
洛谷P1045 麦森数 快速幂+高精度乘法
题目链接:点我跳转题目大意:计算2P−12^P-12P−1的位数和最后500位数字(用十进制高精度数表示)题目分析:1、首先是计算位数我们不难发现,2P−12^P-12P−1和2P2^P2P在十进制下的位数是相同的,因此,我们只需要计算2P2^P2P的位数,我们不妨设10k=2P10^k=2^P10k=2P那么k=p∗log102k = p*log_{10}2k=p∗log102再...原创 2019-01-28 16:25:03 · 213 阅读 · 0 评论 -
洛谷P1403 [AHOI2005]约数研究
题目链接:点我跳转题目大意:计算1到n每个数的约数的个数和题目分析:(满分策略在下面)如果拿40分的话,可以算出每个数的约数个数,这里有个技巧,若要计算mmm的约数个数,将m分解质因数m=∑piqim=\sum pi^{qi}m=∑piqi那么约数的个数就是∏(qi+1)\prod (qi+1)∏(qi+1)例如:24=23×3124=2^3×3^124=23×31,那么242424约数的...原创 2019-01-28 17:54:28 · 239 阅读 · 0 评论 -
洛谷 P1192 台阶问题 递推
题目链接:点我跳转题目大意:有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同方式。题目分析:对于第N级台阶,可以从第N-1级向上1级到达,可以从第N-2级向上2级到达,可以从第N-3级向上3级到达,……可以从第N-k级向上k级到达。这是所有可以到达第N级台阶方法了,所以可以得到递推公式a[i]=∑jka[i−j](i&amp;g...原创 2019-01-28 19:26:07 · 424 阅读 · 0 评论 -
洛谷 P1025 数的划分 递推
题目链接:点我跳转题目大意:将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序),求方案数题目分析:可以用递归,先给出递归公式吧,将n划分为k份,每份都比m大,方案数为[n,k,m][n,k,m][n,k,m][n,k,m]=[n−m,k−1,m]+[n,k,m+1][n,k,m]=[n-m,k-1,m]+[n,k,m+1][n,k,m]=[n−m,k−1,m]+[n,k,m+...原创 2019-01-28 20:07:44 · 383 阅读 · 0 评论 -
洛谷 P1508 Likecloud-吃、吃、吃 动规
题目链接: 点我跳转题目大意: 给定一个矩阵,从最下方正中间一点出发,可以向上、左上、右上前进,寻找一条路径,使得路径上数字和最大。题目分析: 也就是个数字金字塔的变形(不懂数字金字塔的百度吧。。。点这里)#include<iostream>#include<cstdio>#include<cstring>#include<vector>...原创 2019-02-03 12:27:31 · 214 阅读 · 0 评论 -
洛谷 P1387 最大正方形 动规
题目链接: 点我跳转题目大意: 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形题目分析: 如果在某一位置存在一个k阶的正方形(黑色)那么内部一定存在4个k-1阶的小正方形(彩色)我们令 dp[i,j,l]=1dp[i,j,l]=1dp[i,j,l]=1 表示在(i,j)(i,j)(i,j)这个位置,存在一个边长为lll的正方形,那么我们的状态转移方程就是dp[i,j,l]...原创 2019-02-03 13:41:27 · 273 阅读 · 0 评论 -
洛谷 P1064 金明的预算方案 NOIP 2006 动规 背包
题目链接: 点我跳转题目大意: 和01背包相比,物品的附件(最多两个)必须在选取了该物品的前提下才可以选择题目分析: 如果是01背包,我们针对每一个物品考虑的情况有不买电脑买电脑而现在的选择变成了不买电脑买电脑买电脑+打印机买电脑+扫描仪买电脑+打印机+扫描仪那我们的思路就很清晰了,不是01背包,而是01234背包(我自己瞎起的)int dp[32005],v[6...原创 2019-02-01 15:37:19 · 191 阅读 · 0 评论