笔记
前程似锦____
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于c语言中取模时涉及到的负数问题
一般情况下,实际问题要我们取模得到的都是一个正数,因此当我们取模的时候一定要注意是否会出现负数的情况,一旦出现就要将其变成正数!!!eg:洛谷P1192 台阶问题原创 2021-09-29 17:22:50 · 1106 阅读 · 0 评论 -
背包模型总结
组合类DP:答案与选择的顺序无关.首先:所有背包的重点都在于花费(体积…等)和价值的定义,倘若花费有两种,则需要多开一维.其次:01背包:重点在于抽象出每个物品只选一次完全背包:重点在于抽象出每个物品可以选无穷多次多重背包:重点在于抽象出每个物品有有限个.混合背包:重点在于抽象出物品可以有1个,可以有无穷多个或者有有限个这三种选择.分组背包:重点在于抽象出每一组以及每一组里面的选择,也即是抽象出每一组物品之间互斥的多种选择(要明白分组背包问题里面的每一组的每一个选择之间都是互斥的)二维费用的原创 2021-09-01 10:05:21 · 380 阅读 · 0 评论 -
Floyd算法笔记
Floyd算法的原理,状态表示及优化首先,Floyd算法是基于动态规划的思想, f[k][i][j]表示的是从节点i走到节点j,中间经过的节点(节点i和节点j分别是起点和终点,属于已经确定的点,不被记入中间点)是1~k中的节点的所有路径的集合,集合的属性是最小值.状态转移:我们把集合不重不漏的分为两部分:1.中间经过的点包含第k个点.状态表示:f[k-1][i][j]2.中间经过的点不包含第k个点. (状态表示: f[k-1][i][k]+f[k-1][k][j])因此状态转移方程为原创 2021-08-06 22:44:54 · 317 阅读 · 2 评论 -
筛质数-Acwing学习笔记
/*朴素版的筛法: 每一个数的倍数一定不是合数,把每一个数的倍数都筛掉, 剩下的x就是没被其在2~x-1以内的数筛过的数,也就是说 x不是2~x-1以内所有数的倍数,即x不是2~x-1以内的所有数 的约数,由质数的定义知,此时的x为质数.*/#include<iostream>using namespace std;const int N=1e6+10;int primes[N],cnt;bool st[N];void get_primes(int原创 2021-08-04 10:03:00 · 159 阅读 · 0 评论 -
计蒜客-T2431 激光炸弹
传送门从图片中我们可以看出只需要枚举所有的(r-1)*(r-1)的子矩阵的和再取一下max就行了直接上代码:#include<iostream>using namespace std;const int N=5e3+10,inf=0x3f3f3f3f;int s[N][N];int l1=inf,r1=inf,l2=-inf,r2=-inf;int main(){ int n,r; scanf("%d%d",&n,&r); while(n--) {原创 2021-07-28 20:58:14 · 199 阅读 · 0 评论
分享