自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (14)
  • 收藏
  • 关注

原创 暑期集训(12)动态规划 背包九讲 <1>

背包问题一.01背包二.完全背包三.多重背包二进制思想四.混合三种背包的问题一.01背包举个例子,一个小偷去偷东西,只有固定的可承受重量,而给定n件物品及其价格与重量花费,请解答最多拿走多少价格的东西首先排除贪心的思想,随便一个样例就可以把它卡过去我们可以用到01背包了设置f一维或二维数组记录前f{i-1}个,最多拿多少(j)同时这一步有两种选择,拿或者不拿轻松得到方程下面我们发现虽然二维做法并没有太大可能超时,却有可能爆内存所以我们要把二维压缩到一维里,显而易见的前面选择标记的数组对后

2021-07-17 20:55:09 135

原创 暑期集训(11) 动态规划入门

动态规划数字三角形最长连号黑熊过河青蛙2防卫导弹合唱队形收苹果数字三角形除了用递归,递推,我们可以列出状态转移方程从上往下顺推,最后比较底层的值即可每个阶段都找寻上方的两个数的最大值x[i][j]=max(x[i-1][j-1],x[i-1][j])+y[i][j]最长连号这个直接判断,从1开始到n,有两个if语句,判断前后是否连续,不断更新ans值即可黑熊过河首先注意这里输入的是石敦的数目,所以for循环内的边界要加一注意这里的动态转移方程ans=max(num[i-1],nu

2021-07-16 11:19:07 150

原创 暑期集训(8) 图论与二叉树

图论与二叉树图一.定义二.图的构建与存储1.邻接矩阵2.邻接表3.前向星4.链式前向星三.图的遍历1.DFS2.BFS二叉树一. 树的定义二.二叉树的读入与存储三.树的遍历今天的有点难,没有时间再码字了,就尽量多copyPPT,在粘贴的同时复习一下内容~~~~图一.定义图(Graph):表示物与物之间关系的方法图论〔Graph Theory〕:以图为研究对象,研究顶点和边组成的图形的数学理论和方法 。边的方向无向图:边双向连通有向图:单向通行度:与此点相连边的数量。入度:流入此点的边的数

2021-07-13 21:08:42 213

原创 暑期集训(7) 队列与BFS

队列与BFS一.队列1.定义2.特点与理解3.五种写法1>手写队列2>STL队列3>小/大根堆优先队列4>普通优先队列5>结构体优先队列4.例题1)合并果子5.模板6.尺取法最短子序列&&队列&&尺取法二.BFS(广搜)1.定义2.模板3.例题1>洪水升级版2>迷宫3>填涂颜色总结一.队列1.定义一种受限制的线性表我们可以从队列末尾插入一个元素,可以从队列开头删掉一个元素,也可以查询队列开头是什么就像在食堂买饭不能插

2021-07-12 21:27:36 197

原创 暑期集训(6) 栈与DF

栈与DF一.栈1.定义2.两种写法==手写====STL==3.STL特殊函数4.例题<1>模拟栈1)思路2)代码实现<2>括号匹配加强版思路代码实现二.搜索之DFS1.定义2.如图3.两种写法==递归====栈==4.剪枝最优性剪枝1)定义2)方式&例题重复性剪枝1)定义2)方式&例题奇偶性剪枝1)定义2)方式&例题可行性剪枝1)定义2)方式&例题5.例题总结一.栈1.定义一种受限制的线性表,我们可以操作的……只有最后一个元素我们可以从栈的最

2021-07-11 21:27:29 70

原创 暑期集训(4) 二分(与快速幂)

二分与快速幂_φ(❐_❐✧ 二分与快速幂1.二分概念1).官方解释2).个人理解2.二分模板如下3.二分例题(附带快速幂)《1》.A的B次方(快速幂裸题)<1>思路<2>快速幂写法与代码《2》.逆序对统计<1>.思路<2>.代码《3》.越狱(数论+快速幂)![在这里插入图片描述](https://img-blog.csdnimg.cn/20210709204107629.png)<1>.思路<2>.代码实现总结_φ(❐_❐✧ 二分

2021-07-09 20:56:27 99

原创 暑期集训(3) 贪心

贪心一.概念1)官方解释2)个人理解3)步骤4)特点二.例题及延伸证明&优化方法1.国王的游戏1)思路2)60分代码本蒟蒻不太会用高精度QWQ3)应用方案---对数证明2.最大的子序列和1)思路2)代码3)延伸方法--尺取法4)延伸例题--最短自序列<1> 思路<2> 代码3.最大整数1).思路2).代码总结一.概念1)官方解释贪心法是一种解决最优问题的策略。它是从问题的初始解出发,按照当前最佳的选择,把问题归纳为更小的相似的子问题,并使子问题最优,再由子问题来推导出

2021-07-08 21:19:35 100

原创 暑期集训(2) 递归与递推

递归与递推一.递归1.概念(P.S)个人理解2.例题1)整数划分思路与代码2)【USACO 2020 Open】Cereal思路与代码<1>客观解法<2>个人理解<2>注释+代码二.递推1.概念与区别1)区别2)优点2.例题一.递归1.概念在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。递归式方法可以被用于解决很多的计算机科学问题。绝大多数编程语言支持函数的自调用,在这些语言中函数可以通过调用自身来进行递归。重点:重复,分解,函数,调用自身

2021-07-07 20:03:26 209

原创 暑期集训(1) 枚举,模拟;前缀和与差分

1.枚举枚举在于尽可能的拿到可以拿到的数据范围内的分数对于已给出并不是较大的范围内,合理计算时间复杂度在于保留列举所有可能的情况例题这道题题目分析完全后,就可以从大到小依次枚举但远没有这么简单见到这个数,我们可以将他分解成2进制表示的数统计其中2进制中的“1”出现的频率易得:“1”的个数需小于枚举的数同时,有一个易错的point特判统计的次数“ans”<=n即可解决核心代码:转二进制int de1(int k){ int temp=0; while(k) {

2021-07-06 21:22:47 120

原创 2021-5-5 信息总结 (分治与二分)

1.分治顾名思义,即“分而治之”,将一个或多个大问题拆解成多个小问题,并通过一定的方法将其连接起来,寻找特殊解加入例如比赛安排这道题看到图片,我们可以找寻规律将其分为四个象限,以此类推每一个大区域,都可以理解为左上角,右上角,左下角,右下角找寻对应关系即可最后用一个大的for循环for(int i=1;i<=n;i++)来排列次数,内部镶嵌小循环,二维数组即可还有一个易错点每个字符占三个字符所以我们可以使用setw函数这就是典型的分治思想2.二分个人认为二分是分治的一

2021-05-05 01:03:45 74

原创 2021-5-14 &递归,递推,记忆化搜索总结

递归,递推,记忆化搜索总结将这三种相似的算法(?)一起做出比较以便于更好的复习(? )一.递归、记忆化;一个函数在他的函数体内调用它自身称为递归调用,这种函数称为递归函数。执行递归函数将反复调用自身(也就是相当于嵌套函数),每一次的调用就进入新的一层函数,执行到最后结束的那一行代码就开始从里面一层一层的退出函数而这里有一些技巧边界值,判断退出递归条件递归特性,递归输出的前后逻辑通过记忆化空间换时间不同情况下 void 与 int 的灵巧转换回溯思想1.边界值一个递归如果没有边

2021-05-04 00:44:41 205

原创 题解:桐桐的组合/全排列

题目代码如下:全排列#include<bits/stdc++.h>using namespace std;bool f[1005];int a[15];int n;void dfs(int k){ if(k==n) { for(int i=0;i<k;i++) { if(i==k-1) { printf("%d%c",a[i],'\n'); } else printf("%d%c",a[i],' '); }

2021-04-10 23:04:47 358

原创 2021-4-4 信息总结 (递归)

递归个人理解:指一个函数自己调用自己1.要点边界值例如:int gcd(int x,int y){ if(y==0) return x; else return gcd(y,x % y);}这是最大公约数的递归函数判断两数的最大公约数,用了辗转相除法其中的边界值即为y被除掉,出结果如果没有边界值,程序将会出现死循环的情况,函数不断调用自己,不会自己结束2.例题上图挑一些重要的公约数的核心已经说过,个人认为比较有挑战性且个人做出来的有以

2021-04-04 22:41:10 144

原创 2021-3-27 信息总结 (贪心)

贪心算法入门1.定义2.例题挑一道典型的来说;题目描述输入一个高精度的正整数n(≤240位),去掉其中任意s个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的n和s,寻找一种方案,使得剩下的数字组成的新数最小。 (仔细思考,这道题并不是很水)输入格式两行,每行一个整数: n(n为小于240位的整数) s输出格式最后剩下的最小数。样例数据input1785434output13数据规模与约定时间限制:1s1s空间限制:256MB我的伪代码:strin

2021-04-03 00:45:43 57

原创 2021-3-20 信息总结 (模拟)

今日所学:模拟类型1.if(flag)与if(flag==true)含义相同2.G. [usaco2019jan bronze]shell 果壳游戏#include<bits/stdc++.h>using namespace std;int n;struct nut{ int x; int y; int z;}a[110000];int main(){ freopen("shell.in","r",stdin); freopen("shell.out","

2021-03-27 12:37:25 109

原创 2021-3-14 考试总结

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-03-14 00:06:30 56

原创 2021-3-6 信息总结

今日所学:枚举与模拟****所得主要感悟:&1:程序大小与时间控制例: 最大连续和给定N个数,求这N(1 <=N <= 100,000) 个数的某个连续子序列的累加和,保证这个连续子序列的累加和最大。<1> 三重循环枚举起点枚举终点求累加和 for (int i=1;i<=n;i++) for (int j=i;j<=n;j++) { int sum=0; for (int k=i;k<=j;k

2021-03-07 00:35:26 152

20210912普及组题解.pdf

20210912普及组题解

2021-09-12

2020解析.pdf 2020解析

2020解析

2021-09-12

2019解析.pdf 2019解析

2019解析

2021-09-12

背包问题九讲_2.0.zip

好用

2021-07-18

手写 抽象 ACMer 专用 结合背包九讲 食用 0717背包.txt

贼好用

2021-07-17

7-14 最好用的~最短路.ppt

好用

2021-07-14

图论初步,二叉树,欧拉路.ppt

超好用,自学,全年龄段

2021-07-13

队列、尺取法与bfs.ppt

队列,STL,广搜超好用 ppt

2021-07-12

超好用,实用多例题的栈与df.ppt

好使

2021-07-11

详细二分,例题,解释与快速幂多种写法,课件 .ppt

好用

2021-07-09

暑期集训&&贪心 精选例题附带代码

好用

2021-07-08

暑期集训之递归与递推.ppt

暑期集训之递归与递推.ppt

2021-07-07

7-07 暑期集训之递归.ppt

7-07 暑期集训之递归.ppt

2021-07-07

前缀和与差分(含二维).ppt

前缀和与差分(含二维).ppt

2021-07-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除