自定义博客皮肤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)
  • 收藏
  • 关注

原创 (CCF CAT 训练二)2023-2024年中国计算机应用技术大赛- 全国算法精英大赛

思路动态规划,有点麻烦的是需要连接成环,这里就是分三种情况,分别是第1次分别选择1,2,3所对应的卡片,再取三种情况的最大值,中间的转移方程比较简单,就是要枚举满足条件(任何一个位置的卡牌都要比相邻的两张卡牌的法力消耗值都高或都低)的状态就ok了。这里只需要求出一边的方案数目,总方案数目是两者乘积,如何求一边的方案数呢,可以想象位置有人状态设置,没人设置0,整个就是二进制串,需要求的是合法的二进制串数目,要求不能存在两个1相邻的情况,这不就是数位dp吗,使用dfs求。补充两道(CCF CAT训练一)题目。

2024-01-25 23:04:29 3424 10

原创 轮廓线dp

首先这道题可以使用常规的dp,枚举第i-1行的状态和第i行的状态进行状态转移。第一次接触轮廓线dp,在网上找一些资料感觉介绍很不清楚,看了这篇。然后是使用轮廓线dp,时间复杂度相比常规状压dp更优。后清晰了一些,主要是根据这道题目。使用图1的状态表示方式源程序。使用图3表示状态的方式源程序。

2024-01-25 11:42:41 607

原创 leetcode第122场双周赛

用两个对顶堆multiset,其中一个堆用于记录最小k(k+1)个值,另外一个堆用于记录最大k个值,而本题思路类似,其中一个堆用于记录最小k-1个值,另外一个堆用于记录最大dist+2-k个值,同时维护一个最小k-1个值之和。题目等价于在一个从下标1开始的长度为dist+1的滑动窗口中找k-1个最小值之和,在做这道题之前先做看这题。

2024-01-22 11:52:51 390 1

原创 2023第二届“清华社杯”大学生算法大赛

比赛没做出来,先进行并查集缩点(因为是无向图,有向图是targan),建立超级源节点,是环的节点值设置为1否则为0,再进行倍增,求每个路径值,查询过程先并查集判断是否处于同一图中,不属于同一图中直接输出,属于同一图中再求ab之间路径长度是否大于1(使用lca算法),大于1说明经过缩点存在多条路径。否则dp[i][j] = dp[i-1][j] + dp[i-1][j-1]-dp[last[arr[i]] - 1][j-1]比赛都没看题,后面再补充吧。

2023-12-04 12:22:10 451 1

原创 无向图缩点和有向图缩点

思路:先用targan缩点,将图转换成拓扑图,再进行dfs。有向图缩点targan算法。无向图中环缩点,使用并查集。

2023-12-04 11:50:52 80

原创 多比特杯武汉工程大学第六届ACM新生赛(同步赛)

这次比赛只拿下五题,本来有机会七题的,看错题加上调试bug浪费很多时间,记录下做的题。的时间复杂度算法可以过,涨知识了,并查集,没啥好说的。tarjan缩点加上dfs。

2023-11-08 15:39:50 82 1

原创 每日一题:2003. 每棵子树内缺失的最小基因值

dfs序列+启发式合并+树状数组。

2023-10-31 17:37:38 50 1

原创 480. 滑动窗口中位数

维护两个multiset,queMax和queMin,queMin记录小于等于中位数的数据,queMax记录大于中位数的数据,实现add和del两个函数,当前数小于等于queMin的最大值,插入queMin,否则插入queMax,同时需要维护queMin的size等于插入总数cnt/2或者cnt/2+1。用到c++中的multiset数据结构,和set不同的是multiset可以存相同元素。题目比较有意思记录一下做题思路。

2023-10-31 16:26:25 57 1

原创 leetcode369周赛

比赛过程中使用树状dp,一直设置二维dp[N][15], 发现无法做,需要设置三维dp[N][15][2],第二维记录前面已经进行多少次2操作,第三维记录当前选择1操作还是2操作,这和以往的树形dp不太一样,通常树形dp是父节点的操作不会影响子节点,这里会影响,所以要多设置一维记录上面节点的2操作影响,1操作不会影响,所以不用记录。从根节点开始,你必须收集所有金币。则dp[i] = min(dp[i-1], dp[i-2], dp[i-3]) = max(nums[i] - k, 0);

2023-10-30 11:29:06 47 1

原创 记录最近做的算法题

dfs序列+(树状数组 二分或者是dsu)

2023-10-26 01:54:07 37

原创 2023华中科技大学程序设计新生赛

完成7题,I题矩阵快速幂不会,太菜了。

2023-10-24 15:55:08 153

原创 算法:反悔贪心

反悔贪心

2023-10-24 12:13:16 63

原创 记录下同类算法题思路

参加会议一类问题求解思路

2023-10-24 00:58:19 31

原创 ssh免密登录服务器(客户端win10的wsl2,服务端为远程服务器)

ssh免密登录服务器(客户端win10的wsl2,服务端为远程服务器)1、在wsl2中的终端输入ssh-keygen后生成公钥和私钥,第一项提示是保存密钥的位置,按回车默认即可,接下来一直回车,会在默认位置生成id_rsa私钥和id_rsa.pub公钥,可能有known_hosts可信任服务器列表文件,authorized_keys 存放客户端公钥的文件,作为客户端只需要关心私钥和公钥即可,私钥自己保存,公钥需要发给服务器。2、使用scp命令发给服务器,不熟悉scp的同学可以稍微学学,如下图所示,第

2021-11-12 11:21:53 1308

原创 2021-11-12

请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化使用网上教程之后依旧出现这个错误。

2021-11-12 10:38:44 513

原创 出现Failed to get convolution algorithm的解决方法

添加这段代码即可import tensorflow as tfconfig = tf.compat.v1.ConfigProto()config.gpu_options.allow_growth = Truesession = tf.compat.v1.InteractiveSession(config=config)

2021-06-13 17:30:13 85

原创 Leetcode 152. 乘积最大子数组

Leetcode 152. 乘积最大子数组问题描述示例解题思路代码实现(python3)问题描述给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。解题思路可以使用动态规划的方式,定义一个fma

2020-07-22 10:51:29 204

空空如也

空空如也

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

TA关注的人

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