自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 2021-02-20

今天学习了有关博弈论的相关内容。 博弈论的关键是在于要根据题目来找到对应的规律或者通过进行打表的操作来对题目进行分解,从而找到解决题目的方法。放道例题。 大学英语四级考试就要来临了,你是不是在紧张的复习?也许紧张得连短学期的ACM都没工夫练习了,反正我知道的Kiki和Cici都是如此。当然,作为在考场浸润了十几载的当代大学生,Kiki和Cici更懂得考前的放松,所谓“张弛有道”就是这个意思。这不,Kiki和Cici在每天晚上休息之前都要玩一会儿扑克牌以放松神经。 “升级”?“双扣”?“红五”?还是“斗地主”

2021-02-20 21:19:46 382

原创 2021-02-02

今天学习了有关背包的知识。背包本质上是动态规划的一种特型,是在每一次进行放置之前都检测放置受否为最优解的一个算法。 背包的关键是它的转移方程,也就是f[i][j] = max(f[i - 1][j], f[i - 1][j - w[i]] + v[j]) i代表对i件物体做决策,有两种方式—放入背包和不放入背包。j表示当前背包剩余的容量。 代码实现 for (int i = 1; i <= n; i++) { for (int j = V; j >= 0; j--) { if (j &g

2021-02-02 21:59:16 72

原创 2021-01-31

今天课上学习了最小生成树有关内容。它的本质是生成一个包括所有节点在内,但是每个点都连接起来的连通图,连通图的路径是n-1条。它有两种算法。 一种是Kruskal算法,它的思想是每次选择权值最小的一条边,将这条路径的两个节点连接起来形成一个集合,然后如果之后查找到路径上两个不同集合节点,就重复上述操作,直到找到n-1条边,退出查找。放到例题。 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公

2021-01-31 21:49:00 94

原创 2021-01-30

最短路思想:看似和搜索中的找最短路径相似,但是最短路思想是直接告诉你两个段点之间是否联通以及他们之间的距离。 1.floyd搜索方法本质就是dp,是多源的最短路思想,但是时间复杂度高,是O(N^3),适用于较少元素的最短路径求解。 void Floyd() { for(int k = 1; k <= n; k++)//注意,一定要先枚举中转节点保证三角形的情况 for(int i = 1; i <= n; i++) for(int j = 1; j <= n; j++)

2021-01-30 22:20:58 77

原创 2021-01-29

今天学习了有关hash入门的内容。 hash思想指的是建立一个以key值作为映射的散列的函数,把值存储到内存中的一个位置来访问的算法思想。 hash思想的优越性在于遍历数据的速度较普通的遍历算法要来的快的多,因为它把数据有序的放在了规定好的存储格子中,检索起来就方便的多。 要注意的是放置的格子要考虑避免哈希冲突。 下面放到例题。 Consider equations having the following form: ax12+b*x22+cx32+d*x42=0 a, b, c, d are integ

2021-01-29 21:40:14 73

原创 2021-01-27

今天学习了有关动态规划的问题。其主要思想就是将一个主问题,也往往就是题目要求的问题转化成一系列子问题,然后根据状态的不同找到对应的状态转移方程从而将问题变成一个可以递推或者递归求解的问题,在解决子问题的同时从而解决主问题。下面放到例题。 A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = <x1, x2, …,

2021-01-27 20:40:06 75

原创 2021-01-26

今天学习了有关贪心算法的内容。贪心算法的核心就是根据不同的题目找到适用于该题目的最佳算法,也就是找到一个最优解的过程。贪心算法的题目没有一个固定的模板,都需要结合题目来分析。 下面放道例题 One day, v11 encounters a group of monsters in a foreast. In order to defend the homeland, V11 picks up his weapon and fights! All the monsters attack v11 at th

2021-01-26 21:36:17 58

原创 2021-01-25

今天学习了有关线段树的内容。 线段树的概念就是建造一棵树,但是是以维护线段(区间)的形态出现的,把一大串的数组依次划为多个区间,再把大区间同样的划分,知道划出为独立的元素为止。同理,查找的过程,无论要找的是元素还是区间,都是以区间的形式去查找的。根据情况找左、右节点。 1、如果这个区间被完全包括在目标区间里面,直接返回这个区间的值 2、如果这个区间的左儿子和目标区间有交集,那么搜索左儿子 3、如果这个区间的右儿子和目标区间有交集,那么搜索右儿子 关于线段树的操作主要有三种,分别是建树、更新数据(区间)和求和

2021-01-25 21:50:32 64

原创 2021-01-23

今天学习了有关搜索的内容,在这里略微的梳理一下。 首先搜索分为广搜和深搜两个区块。广搜的基本思想就是从一个树图的根节点开始,逐层展开进行查找,而深搜就是从根节点出发,找到一个子节点查到底并做上记号,再接下来的搜索中需要对有记号的节点作剪枝的操作,直到完成遍历搜索。其实两种搜索都有大致的模板可以套,但是想要熟练的掌握还得对这两种方法进行更深刻的理解。 接下来各自放一道类体,回顾时能加深理解。 广搜: Pass a year learning in Hangzhou, yifenfei arrival home

2021-01-23 21:27:18 87

原创 2021-01-22

今天整理一下有关二分查找入门的相关内容。 二分算法的实质就是通过改变查找区间,两边界逐步目标值靠拢,一步步缩小查找范围,最后锁定目标值。相比较于传统的遍历查找比较的算法,二分算法的时间复杂度只有O(Log N),而传统算法则是O(N),由此可见二分算法的便捷性和高效。 下面给道例题。 Every year the cows hold an event featuring a peculiar version of hopscotch that involves carefully jumping from

2021-01-22 20:42:38 117

原创 2021-01-21

有关于并查集入门的知识点整理 先放个简单的类题 Today is Ignatius’ birthday. He invites a lot of friends. Now it’s dinner time. Ignatius wants to know how many tables he needs at least. You have to notice that not all the friends know each other, and all the friends do not want t

2021-01-21 21:01:17 82

原创 2021-01-20

第一次上了acm的训练课,感觉教的东西还是太多了,还得多花点时间来消化消化。比如sort函数用法是(数组首地址,数组末地址,排序方法),优先队列priority_queue<类型>【数组】,map<类型,map<类型,类型>>的嵌套等等都是得多练才能掌握的东西,不同容器不同函数也要花时间背起来。c++真的是太深奥了。 ...

2021-01-20 21:25:00 45

空空如也

空空如也

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

TA关注的人

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