- 博客(10)
- 收藏
- 关注
原创 NEUQ-ACM 博弈
本题需要抓住一个关键点,就是,如果一个人把一条路上的数全取了,那么以后,两人均按此路径行进且路径上的数全部取走,知道碰到0,游戏结束。因此,根据上面的描述,可以确定一种情况,就是当第一个0所在位置为偶数时,那么先手一直全取,则一定能赢,由于图是环,向后取也同理,只要有一个为偶数,则能赢。根据上述讨论,还有向前向后第一个0出现的次序均为奇数的情况,根据简单推理可知,先手不管往哪个方向走,是否取完,后手向前向后第一个0出现的次序均为偶数,因此后手一定能赢,则先手一定会输。
2023-12-18 17:44:12 391 1
原创 NEUQ-ACM 最短路径问题1
1.本题数据要求宽松,直接开二维数组记录图,应用dijkstra算法即可,算法的基本思想为:从小到大找到各个点的最小路径,没找到一个点的最小路径后,做松弛操作,即更新其他点的最小路径。2.
2023-12-03 15:52:54 379 1
原创 NEUQ-ACM bfs与dfs
1.此题,要求很简单,结果也只需要Yes or no,深搜、广搜都能做,但显然广搜简单一些,时间复杂度也低,对于每个状态,可以上下左右4个转移方式,分别加入队列即可。2.
2023-11-20 18:41:07 69 1
原创 NEUQ-ACM bfs
1.典型的bfs问题,定义结构体node,node.level代表第几层,node.steps代表第几步,对于一个node,有2种转移状态,分别是向上、向下,分别判断加入队列即可。此外代码实现中,需要用数组vis代表该点走过了,可保证得出的为最小步数。2.
2023-11-19 23:27:25 33
原创 NEUQ-ACM背包算法
1.此题显然用最简单的背包即可,dp[i][v]表示第i个药,耗时v得到的最大价值,状态转移方程:dp[i][v]=max(dp[i-1][v],dp[i-1][v-c[i]]+w[i]),即将情况分为取与不取。二维数组占空间较大,可以滚动一维或者直接用一维数组,对于后者,状态转移方程为:dp[v]=max(dp[v],dp[v-c[i]]+w[i]).注意,需要从后往前遍历。最后dp[V]即为答案。2.
2023-11-08 01:07:34 46 1
原创 NEUQ-ACM动态规划
1.用f(n)表示以该序列第n个数结尾的最长上升子序列数,则f(n)=max(f(a1),f(a2)....) a1、a2均为位于n前面的、小于n的数。遍历即可求出最长子序列,另外本题要求不高,O(n^2)也可通过。2.
2023-10-30 13:32:10 44 1
原创 NEUQ-ACM递推求解
1.设f(n)为第一个数字为n的合法数列数,易得f(n)=f(n/2)+f(n/2-1)......+f(1)。有递推关系易得,从f(1)开始遍历,知道得出f(n)即可。2.代码。
2023-10-25 22:51:33 44
原创 NEUQ-ACM贪心算法
1.简要思路题目的突破点是将两个士兵相遇并转向的过程,看成两个士兵相遇擦肩而过并继续走的过程。这是因为,题目看的是走后一个士兵下桥的时间,而不需要单独研究某个士兵。这样,求离桥两端的最大最小距离即可。2.代码。
2023-10-17 13:53:21 33
原创 NEUQ-ACM 导学数学基础
在二分的运用中,检查mid,如果以mid为最小距离,能将牛全部安置,则继续从mid到right找,知道找到mid符合条件,而mid+1不符合条件的数,即为最终答案。题中所求包含这 N 个整数的最短的等差数列有几项,排序后可转化为相邻两个数之间的最大公约数,运用辗转相除思想,求第i,i+1之间的距离,与前面的距离的最大公约数,即为求i前面距离的最小公约数与第i,i+1之间的距离的最小公约数,在求这两个数的过程中也能运用辗转相除法,时间复杂度大大缩减,将所有距离遍历,即可求得所有相邻距离的最大公约数。
2023-10-10 11:56:00 108 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人