自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java课程作业二(正则表达式)

标题

2021-12-10 16:33:25 160

原创 java课程作业三(多态、抽象类和接口)

标题

2021-12-10 16:32:37 294

原创 Eclipse的下载、JDK8环境配置以及如何连接到Github

Eclipse的下载以及如何连接Github

2021-09-26 11:34:12 289

原创 ## 计算几何入门

计算几何入门一、二、例题‎地板上有许多秘密的开口,上面覆盖着一块沉重的石头。当石头被抬起来时,一种特殊的机制会检测到这一点,并激活在开口附近射出的有毒箭头。唯一的可能性是非常缓慢和小心地抬起石头。ACM 团队必须将绳索连接到石头上,然后用滑轮将其提起。此外,石头必须同时全部抬起:没有一方可以先于另一方上升。因此,找到重心并将绳索完全连接到该点非常重要。石头有一个多边形,其高度在整个多边形区域是相同的。您的任务是找到给定多边形的重心。‎Input‎输入由 T 测试案例组成。输入文件的第一行会给出它们

2021-02-21 20:40:55 301

原创 ## 博弈论入门

博弈论入门一、博弈论博弈就是指游戏中的一种选择策略的研究,人们遵循一定规则的活动, 进行活动的人的目的是让自己“赢”。 要想赢得比赛 ,不但要考虑自己的策略, 还要考虑其他人的选择。 我们可以用搜索算法,按照题目条件筛选,列举出所有可能的情况,寻找胜利的策略;或是找寻规律后,简化算法,直接得到答案。二、巴什博奕(Bash Game)只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。巴什博弈是一个简单的经典博弈,当n=m+1时,无论先取者拿走多少个,后取者

2021-02-20 20:29:52 423 1

原创 ## 背包

背包一、问题有n件物品,它们有各自的价值和体积,要求用一定体积的背包,装下价值总和最大的物品。一般用动态规划解决,通过填写表把所有已经解决的子问题答案纪录下来,在新问题里需要用到的子问题可以直接提取。定义数组dp[1005],value[1005],volume[1005],面对当前商品有两种可能性:包的容量比该商品体积小,装不下,此时的价值与前j-1个的价值是一样的,即dp[j]=dp[j-1];还有足够的容量可以装该商品,但装了也不一定达到当前最优价值,所以在装与不装之间选择最优的一个,即

2021-02-04 10:27:38 207

原创 ## 最小生成树

最小生成树一、最小生成树任意两点都有路径相通的无向图(有向图)叫做连通图(强连通图),若连通图中每一条边都有意义,则边对应的数称为这条边的权,每个权是连接对应两个顶点的代价,此时的连通图叫做连通网。一个连通图的生成树是指一个连通子图,它含有图中全部n个顶点,但只有足以构成一棵树的n-1条边。一颗有n个顶点的生成树有且仅有n-1条边,如果生成树中再添加一条边,则必定成环。其中代价和最小的生成树叫做最小生成树。生成的过程类似于并查集。二、算法Kruskal算法(加边法)初始最小生成树边数为0,每迭代

2021-01-31 20:25:00 408

原创 ## 最短路径

最短路径一、最短路径单源最短路(求一个点到其他所有点的最小距离)通常用Dijkstra算法解决,前提是不存在负环。O(n^2)常规步骤:初始化距离 dis[1] = 0,dis[i] = + ∞ (dis数组表示起点到i点的距离)for循环 1~n循环n次 ,找到不在s中的距离起点最近的点,赋给t,s是当前到起点距离最短的点,把t加到s中去,如果七点到其他点的距离大于到t点的距离,用t更新,每次循环确定一个点到起点的距离,n次就能找完所有点。多源汇最短路(求任意两点间的最短距离)通常用Floy

2021-01-30 20:30:22 186

原创 ## 动态规划入门

动态规划入门##打卡第 7 天一、动态规划(Dynamic Programming)分解问题为一个个小问题,逐个解决后,再从这些解中得到原问题的解。这些子问题会相互影响,每个子问题是在上个问题的基础上进一步求解。与贪心算法有交集,但适用范围更广,不一定是找最优解,符合题目要求的即可。会用到递归、队列等等,问题化大为小的思想也比较基础,题目类型较多,具体题意具体分析。二、例题Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得

2021-01-27 19:59:08 109

原创 ## 贪心

贪心##打卡第 2*3 天一、贪心算法的理解(个人观点仅供参考)在当前的情况中选择一个最优解,这个最优解不一定是整体的最优解,也有可能是个近似的最优解(看题目类型)。我们做出的决策只是当前看来是最好的,至于之后是否有更好的决策不得而知,但是只要保证每一都步是最优解,就能得到题目整体的最优解,有时可能是个近似最优解。二、例题Due to the development of online shopping, the logistics industry which is highly connect

2021-01-26 17:13:42 152

原创 ## 线段树

线段树##打开第 5 天一、线段树类似于二叉树,将一个区间看作节点,进行区间之间的运算,符合区间结合律的运算都合法,比如(加法、乘法、异或、求最值、最大公因数……),不满足求众数、取余等运算。利用线段树,查询时耗时更少,能够减小时间复杂度( O(N) —> O(logN) )。二、函数pushup();//已知各个叶子节点的值或属性,自下而上将其他节点的值或属性求出来build();//建立树形,已知根节点下标i,第i个节点的左右儿子节点分别是i*2,i*2+1modify();//修

2021-01-25 20:46:59 134

原创 ## BFS & DFS

BFS & DFS##打卡第 2^2 天一、区别DFS实际上就是实现类似于一个栈的操作,会用到递归,将节点按照深度优先的次序压栈,后面再以相反的次序出栈进行新的检测。通俗讲就是一直走到底,若无路可走就返回到最近的那个分岔口,而且这个分岔口还有没探索过的分岔路。多深都往里走,不管数据层数,路不通返回就是了。BFS实际上就是实现一个队列的操作,会用到queue,将本节点处理完毕之后,再将周围相邻的节点入列,即现处理同一层的数据(走一步就能取到的数据),一层一层走遍所有数据。二、BFS用一个队

2021-01-23 18:39:14 120

原创 ##二分

二分##打卡第 3 天一、二分查找对一组有序数列的快速查找,每一次查找都能排除掉一半的数据,对大数据的查找效果更显著。算法具体为记录数列的首尾,记为left、right(low、high)。计算中间量mid=(left+right)/2;(具体视情况而定),比较查找的值与mid,更新首尾left、right,若查找值>mid,更新right=mid-1。二、例题:D - Pie POJ - 3122My birthday is coming up and traditionally I’m

2021-01-22 21:31:27 141

转载 ##并查集##

并查集#打卡第 2^2-2 天一、并查集并查集是一种树形结构,又叫“不相交集合”,保持了一组不相交的动态集合,每个集合通过一个代表来识别,代表即集合中的某个成员,通常选择根做这个代表。某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N

2021-01-21 19:49:31 111

原创 ## ACM课堂笔记

ACM课堂笔记#打卡第 1^n 天一、竞赛常用语言C++(效率高、code速度快)万能头文件:#include<bits/stdc++.h>(绝大多数比赛禁用)少数使用Java,存放大数据时可用Python(兼容度不高)二、时间复杂度:用函数T(n)表示当问题规模(需要处理的数据量)为n时,算法中的基本操作需要执行的次数;引入其同量级函数f(n)(即n趋于无穷时,有T(n) / f(n) = C,其中C为任意非零常数),记作T(n) = O(f(n)); O(f(n))即称

2021-01-20 20:43:55 340 2

空空如也

空空如也

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

TA关注的人

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