24.两两交换链表中的节点 题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/ 题目难度:中等 文章讲解:https://programmercarl.com/0024.两两交换链表中的节点.html 视频讲解: https://www.bi ...
理论 我们需要一个数据结构维护树上的问题,仿照序列上的问题,我们需要一个方法快速的刻画出信息。 比如说线段树就通过分治的方式来通过将一个区间划分成 \(\log n\) 个区间并刻画出这 \(\log n\) 个区间的信息。 然后我们考虑把这个东西放到树上类比。你发现线段树上每个非叶节点都有两个儿子 ...
203.移除链表元素 题目链接:https://leetcode.cn/problems/remove-linked-list-elements/ 题目难度:简单 文章讲解:https://programmercarl.com/0203.移除链表元素.html 视频讲解: https://www.b ...
977.有序数组的平方 题目建议: 本题关键在于理解双指针思想 题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/ 题目难度:简单 文章讲解:https://programmercarl.com/0977.有序数组的平方.html ...
随机数对程序设计来说很重要,今天就从几方面探讨下一些常见的随机数相关的问题。 本文只讨论整数相关的随机数,另外需要你对概率论有最基本的了解(至少知道古典概型是什么)。 本文索引 如何从rand7生成rand5 go标准库的做法 从rand5生成rand7 充分利用每一个bit 带有权重的随机数 随机 ...
A - A Healthy Breakfast (abc360 A) 题目大意 给定一个字符串包含RMS,问R是否在S的左边。 解题思路 比较R和S的下标,谁小即谁在左边。 神奇的代码 #include <bits/stdc++.h> using namespace std; using LL = ...
顾名思义,混合背包就是将前面三种的背包问题(01,完全,多重)混合起来,有的只能取一次,有的能取无限次,有的只能取 k 次。 正解 特解 部分情况下,如小数据,可以转换成多重背包(把完全情况的数量换成足够大,如1e7,就把完全相对变成了多重) 例题 https://www.luogu.com.cn/ ...
完全背包模型与 0-1 背包类似,与 0-1 背包的区别仅在于一个物品可以选取无限次,而非仅能选取一次。 而状态转移方程于01背包区别在于可以直接从[i][j-w[i]]转移 理由是当我们这样转移时,[i][j-w[i]]已经由 [i][j-2*w[i]]更新过,那么 [i][j-w[i]]就是充分 ...
A - Count Takahashi (abc359 A) 题目大意 给定\(n\)个字符串,问有多少个字符串是Takahashi 解题思路 注意判断比较即可。 神奇的代码 #include <bits/stdc++.h> using namespace std; using LL = long ...
题目 假设有如下字符串“A12”,其中“A”表示数据类型(A-Z),“12”表示数据序号(0-9)。现在需要对一组数据先按照数据序号再按照数据类型进行排序。 例如:["B3","D2","F1","A9","D12","A2","C1","Z0","B1"]=>["Z0","B1","C1","F1 ...
题目链接 一、题目描述 1. 题目 有一个单链表的 head,我们想删除它其中的一个节点 node。给你一个需要删除的节点 node 。你将 无法访问第一个节点 head。 链表的所有值都是 唯一的,并且保证给定的节点 node 不是链表中的最后一个节点。删除给定的节点。注意,删除节点并不是指从内存 ...
文章小结 写在最前面,本文主要介绍了如何能快速判断代码段的时间复杂度(记忆模版),如果您寻找的并非此类文章则不必继续阅读后文。 1.算法时间复杂度是什么 官方定义:算法在编写成可执行程序后,运行时所需要的时间资源。 解读:可执行程序运行所需要时间的一个量化指标。例如O(1),常量级。 2. 常见的时 ...
目录线性表顺序表单链表循环单链表栈和队列顺序栈链栈队列树与二叉树二叉树的遍历中序遍历,非递归并查集哈夫曼树串KMP图深度优先搜索与广度优先搜索拓扑排序克洛斯卡尔最小生成树弗洛伊德最短路排序快速排序直接插入排序希尔排序简单选择排序冒泡排序杂项求树的叶子结点个数求二叉树的宽度求二叉树的高度单链表逆置 线 ...
A - Welcome to AtCoder Land (abc358 A) 题目大意 给定两个字符串,问是否是AtCoder Land 解题思路 读取后判断即可。 神奇的代码 #include <bits/stdc++.h> using namespace std; using LL = long ...
写在前面 $ DP $,是每个信息学竞赛选手所必会的算法,而 $ DP $ 中状态的转移又显得尤为关键。本文主要从状态的设计和转移入手,利用各种方法对朴素 $ DP $ 的时间复杂度和空间复杂度进行优化与处理,以达到满足题目要求的目的; 参考文献: 《算法竞赛进阶指南》 动态规划算法的优化技巧 毛子 ...
Vizing 定理 定义 考虑如下的问题:对一个无向图的边进行着色,要求相邻的边染不同种颜色。问 需要的最少的颜色数是多少。 解决上述问题需要借助 Vizing 定理(又称维金定理)。 在开始之前,我们先进行一些符号的规定。 \(\Delta(G)\):无向图 \(G=(V,E)\) 的最大度数,即 ...
算法: 反悔贪心,顾名思义就是贪心的时候 反悔。 意思是:如果这一步的贪心 不是全局最优解,就退回去一步,换一种贪心策略。 一般分为 反悔自动机 和 反悔堆。 反悔自动机基本的思路是:每次选择直观上 最接近全局最优解 的贪心策略,若发现最优解不对,就想办法 自动 支持反悔策略。 反悔堆则是:通过 堆 ...
A - Sanitize Hands (abc357 A) 题目大意 给定\(m\)个物品。 依次来 \(n\)个人,每个人拿\(a_i\)个物品。 问有几个人可以拿走所需物品。 解题思路 求一遍前缀和然后upper_bound一下,或者直接累计求和。 神奇的代码 #include <bits/st ...
5月25日,第七届数字中国建设峰会期间,“国云注智 聚力向新”——2024智算云生态大会·智算云论坛在福州举办。会上,国药数科总经理助理、技术总监罗皓在演讲中介绍,国药数科携手天翼云,系统化构建“1+4+X国药云架构”,为各子公司提供统一标准的云底座、云联网、云运维、云灾备服务,让业务的数字化转型“... ...
A. Turtle and Piggy Are Playing a Game 首先\(p\)选\(2\)的话除得最慢,得的分多。考虑二进制表示,如果\(x = (1000000000)_{bin}\),则每次除以\(2\)都是相当于右移一位,除完之后仍然是\(2\)的倍数,变成\(1\)的步数就是把 ...