鹿我所录的博客

记录我在学习C#中的点点滴滴,记录下以备后来人借鉴。

 

2020年10月18日

洛谷P1057传球游戏-题解

摘要: 题目: 思路: 一看,计数的 先考虑一下DP 计数的转移,难度高的一般要经过思考才能得出来 但是难度低的(诸如此道)一般已经在题目中说出来了 重点就在于: 每个同学可以把球传给自己左右的两个同学中的一个(左右任意) 这句话上。 左和右,换成数学表示就是 i-1,i+1 由于题目说是一个环,所以特判一 阅读全文

posted @ 2020-10-18 21:43 鹿我所录 阅读(166) 评论(0) 推荐(0) 编辑

洛谷P1049装箱问题-题解

摘要: 题目: 思路: 经典的背包题目 不过比较特殊的是,体积即是价值 求出最大值来之后减去背包容积即可 代码: 没有,太简单了 阅读全文

posted @ 2020-10-18 21:21 鹿我所录 阅读(84) 评论(0) 推荐(0) 编辑

洛谷P1048采药-题解

摘要: 题目: 思路: 背包没跑了。 典型的背包题 借此来讲讲背包 最优化的一维背包采用剩余体积作为划分的依据 同时运用滚动数组反向遍历来实现 重要的几个标志: 价值,体积,最值 代码: #include <bits/stdc++.h> using namespace std; int f[1005]; i 阅读全文

posted @ 2020-10-18 21:06 鹿我所录 阅读(123) 评论(0) 推荐(0) 编辑

洛谷P1044栈-题解

摘要: 题目: 思路: 我们考虑一下,这道题有哪几个因素能够确定一个状态? ——栈外元素数与栈内元素数 为什么? ——我们考虑一下 栈内元素个数是容易想到的 那么为什么第二维是栈外元素个数? 实际上,在这道题中如果不用它也可以,例如换成栈顶元素 但是这会导致转移极其麻烦 而在使用栈外元素的情境下就变得十分简 阅读全文

posted @ 2020-10-18 18:14 鹿我所录 阅读(150) 评论(0) 推荐(0) 编辑

洛谷P1040加分二叉树-题解

摘要: 题目: 思路: 这题在一个细节上很奇怪,它给树是按中序遍历给的 而且只给了中序遍历 这意味着我们可以通过自己的方式来构造这棵树 我们回想一下—— 在中序遍历中,一个根节点的左儿子是? ——这个节点的左边所有 右儿子是? ——右半部分 如果用区间表示呢? ——[i.k-1],[k+1,j] 为什么没有 阅读全文

posted @ 2020-10-18 17:26 鹿我所录 阅读(166) 评论(0) 推荐(0) 编辑

洛谷P1005矩阵取数游戏-题解

摘要: 题目: 思路: 记住那两句话: 1.反向思维 2.区间动规的特点在于,大区间包含小区间,小区间推导出大区间 然后我们来看 首先我们可以发现各行是互不影响的,所以可以分开 其次,不管怎么操作,这个序列会变小,而且是连续的 虽然它是取数,但同时对区间造成了影响 于是我们就可以想想方程了 f作为某一行的和 阅读全文

posted @ 2020-10-18 17:13 鹿我所录 阅读(181) 评论(0) 推荐(0) 编辑

洛谷P1004方格取数-题解

摘要: 题目: 思路: 我拿过这题一看,方格,下&右 好又是这种,和过河卒差不多 不过这题有点特殊: 1.能走两遍,前一次的路对后一次有影响 2.与过河卒相比,它不是计数,而是求最大值 但是本质上都是一样的 对于第一点,我们可以用多线程的方式解决,也就是同时处理两条路径 对于第二点,无非就是将加法换成了求m 阅读全文

posted @ 2020-10-18 16:47 鹿我所录 阅读(100) 评论(0) 推荐(0) 编辑

洛谷P1002过河卒-题解

摘要: 原题: 思路: 显然是计数DP 又是在网格上,又是只能走下和右,思路是很显然的 想要到达这个点,只能由这个点上方和左方的点转移来 方程也很明显了: f[i][j]=f[i-1][j]+f[i][j+1]; 注意特判被马占的点就可以了 代码: #include <bits/stdc++.h> usin 阅读全文

posted @ 2020-10-18 16:30 鹿我所录 阅读(172) 评论(0) 推荐(0) 编辑

导航