回文 算法noip 1999

[算法学习笔记] 多重背包--二进制拆分

### 多重背包 回顾一下多重背包是什么?有$n$种物品,每个物品都有有限个,每个物品都有重量和价值两个参数,你有一个限重为$W$的背包,求背包内价值最大。 我们朴素的做法是将多重背包拆分成01背包求解,因为每个物品都有有限个,假设第$i$个物品有$j$个,那么跑$j$次01背包即可。 但是这样复杂 ......
二进制 算法 背包 笔记

算法-19-计数排序

......
算法 19

[算法题python]728.自除数

自除数 是指可以被它包含的每一位数整除的数。 例如,128 是一个 自除数 ,因为 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0。 自除数 不允许包含 0 。 给定两个整数 left 和 right ,返回一个列表,列表的元素是范围 [left, right] 内所有 ......
除数 算法 python 728

文心一言 VS 讯飞星火 VS chatgpt (70)-- 算法导论6.5 9题

# 九、请设计一个时间复杂度为 (n lgk)的算法,它能够将 k 个有序链表合并为一个有序链表,这里 n 是所有输入链表包含的总的元素个数。(提示:使用最小堆来完成 k 路归并。 ## 文心一言: 要设计一个时间复杂度为 O(n log k) 的算法,将 k 个有序链表合并为一个有序链表,可以使用 ......
文心 导论 算法 chatgpt VS

基础算法

# 复健$Day3$ 一些基础的算法(模板) ## $1.$位运算 进行状压$DP$时常用到位运算 ### $64$位整数乘法 https://www.acwing.com/problem/content/92/ ``` #include #include #define LL long long ......
算法 基础

基于机器视觉工具箱的车辆检测计数算法matlab仿真

1.算法理论概述 1.1、研究背景 随着城市化进程的加速和汽车保有量的增加,交通拥堵和交通事故等交通问题日益突出,如何对城市交通进行有效管理和调控成为了城市交通管理的重要任务。车辆检测计数是交通管理中的一个重要问题,它可以用于交通状况的监测、交通流量的统计以及交通信号灯的控制等。因此,研究基于机器视 ......
工具箱 算法 车辆 视觉 机器

【题解】Luogu[P5022] [NOIP2018 提高组] 旅行

[Link](https://www.luogu.com.cn/problem/P5022) 因为是道NOIP,那么我们不妨按照考场上的策略一点一点想。 先看部分分,有一档有很明显的特征 $n=m-1$ 这显然构成一棵树,对于一棵树,我们想把他按照题目的要求遍历完,一定是像dfs的遍历顺序一样,对于 ......
题解 Luogu P5022 5022 2018

算法-18-希尔排序

......
算法 18

算法笔记(二)—— 认识N(logN)的排序算法

递归行为的时间复杂度估算 整个递归过程是一棵多叉树,递归过程相当于利用栈做了一次后序遍历。 对于master公式,T(N)表明母问题的规模为N,T(N/b)表明每次子问题的规模,a为调用次数,加号后面表明,除去调用之外,剩余语句的复杂度是多少,算出d。根据上次三个判断公式进行算法时间复杂度计算。 归 ......
算法 笔记 logN

算法-15-归并排序

......
算法 15

C/C++ 数据结构五大核心算法之动态规划算法-给你一根长度为 n 的金条,请把金条剪成 m 段 (m 和 n 都是整数,n>1 并且 m>1)每断金条的长度记为 k[0],k[1],…,k[m].请问 k[0] k[1]…*k[m]可能的最大乘积是多少?

动态规划也是一种分治思想,但与分治算法不同的是,分治算法是把原问题分解为若干子问题,自顶向下,求解各子问题,合并子问题的解从而得到原问题的解。动态规划也是自顶向下把原问题分解为若干子问题,不同的是,然后自底向上,先求解最小的子问题,把结果存储在表格中,在求解大的子问题时,直接从表格中查询小的子问题的 ......
金条 算法 长度 乘积 数据结构

leetcode647. 回文子串

``` class Solution { public: int res=0; int countSubstrings(string s) { int n=s.size(); for(int i=0;i=0&&r=0&&r<n&&s[l]==s[r]) l--,r++,res++; } return ......
回文 leetcode 647

代码随想录算法训练营第四十五天| 739. 每日温度 496.下一个更大元素 I

739. 每日温度 单调栈的思路: 如果要找左边第一个比当前数字大的节点 这个栈里面存放的是index,大——》小 如果一个新节点,比栈顶大,那么就是栈顶的第一个大于它的节点 代码: 1 // 单调栈:一维数组,寻找 元素右边,或者左边自己大或者小的元素的位置 2 3 // 要求:找到比当前节点值高 ......
随想录 训练营 随想 算法 元素

算法-13-堆排序

......
算法 13

算法-12-快速排序-快排的最好最坏情况

class Solution { public int[] sortArray(int[] nums) { quickSort(nums, 0, nums.length - 1); return nums; } public void quickSort(int[] nums, int l, int ......
算法 情况 最好 12

算法-11-快速排序

......
算法 11

LeetCode从算法到算命——每日一题(0802)

LeetCode从算法到算命—每日一题(0802) # 822. 翻转卡片游戏 ## 题目信息 在桌子上有 n 张卡片,每张卡片的正面和背面都写着一个正数(正面与背面上的数有可能不一样)。 我们可以先翻转任意张卡片,然后选择其中一张卡片。 如果选中的那张卡片背面的数字 x 与任意一张卡片的正面的数字 ......
算法 LeetCode 0802

算法-09-插入排序

......
算法 09

P1125 [NOIP2008 提高组] 笨小猴

这题还是挺水的,跟着描述走就行。 为了统计字母出现的次数,需要定义一个数组,遍历字符串每次使数组对应字母的位置加一即可。 这里为了表示每个字母的对应位置,使用 字符-'a' 的方式。 ``` int t[105];//记录字母出现次数 char cf[105]; scanf("%s", cf);// ......
P1125 1125 NOIP 2008

m基于大规模MIMO技术的5G网络上下行功率优化算法matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 基于大规模MIMO技术的5G网络上下行功率优化算法"是针对5G网络中的大规模多输入多输出(MIMO)系统进行功率优化的一种算法。该算法旨在通过优化上行和下行通信的功率分配,以实现网络资源的高效利用、提高系统容量和降低干 ......
算法 功率 大规模 上下 matlab

代码随想录算法训练营第四十四天| 647. 回文子串 516.最长回文子序列

647. 回文子串 要求: 找出回文子串的个数 思路: 设置起始节点 如果头尾相等,且是相差为1,指定回文 如果相差很多,那么就看它的字串 代码: 1 // 要求:找出 正反相等,且连续字符,开始结束位置不同,也认为是一个 2 // dp[n][n] 起始-中止位置 3 // 4 // 如果两边相等 ......
回文 随想录 训练营 序列 随想

算法-08-选择排序

选择排序法是一种不稳定的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素, 存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 # 简单 li_new = [] def select ......
算法 08

采用PCA算法&KMeans算法来实现用户对物品类别的喜好细分(菜篮子分析)(附带数据集下载)

实现该项目的流程如下 """ 项目:用户对物品类别的喜好细分(菜篮子分析) 主算法:PCA降维算法 KMeans算法 总思路 1、导包 2、获取数据 3、数据处理 5、特征工程(使用PCA降维) 6、使用KMeans算法进行模型训练 7、模型评估 """ First of all!!导包 # 1、导 ......
算法 菜篮 菜篮子 类别 物品

算法-06-冒泡排序

import random def bubble_sort(li): for i in range(len(li) - 1): for j in range(len(li) - i - 1): if li[j] > li[j + 1]: li[j], li[j + 1] = li[j + 1], l ......
算法 06

算法笔记——ST表

# ST表 ST表是一种简单的数据结构,主要用于解决RMQ问题(区间最大/最小值问题)主要应用倍增的思想,可以实现O(nlogn)预处理,O(1)查询 ## 1.预处理ST表 倍增法递推:用两个等长的小区间拼凑一个大区间 f[i][j]表示以第i个数为起点,长度为2^j的区间里的最大值/最小值 f[ ......
算法 笔记

算法-05-排序

......
算法 05

算法-04 -二分查找

案例: def binary_search(li, val): left = 0 right = len(li) - 1 while left <= right: # 候选取有值 mid = (left + right) // 2 # mid 位置 if li[mid] == val: # 如果mi ......
算法 04

[算法题python]822.翻转卡片游戏

在桌子上有 n 张卡片,每张卡片的正面和背面都写着一个正数(正面与背面上的数有可能不一样)。 我们可以先翻转任意张卡片,然后选择其中一张卡片。 如果选中的那张卡片背面的数字 x 与任意一张卡片的正面的数字都不同,那么这个数字是我们想要的数字。 哪个数是这些想要的数字中最小的数(找到这些数中的最小值) ......
算法 卡片 python 822

2023年多校联训NOIP层测试2

# [2023年多校联训NOIP层测试2](http://www.accoders.com/contest.php?cid=4465) # 爆零了 ## T1 [HDU 4786 Fibonacci Tree](https://vjudge.net/problem/HDU-4786) $0pts$ ......
2023 NOIP

【题解】Luogu[P2296] [NOIP2014 提高组] 寻找道路

[Link](https://www.luogu.com.cn/problem/P2296) 很简单的一道图论题。 要在一个有向图上找一条 $s$ 到 $t$ 的最短路,要求这条路径上的所有点都满足:该点的所有出边所连点都能到达终点 $t$。 看上去很乱,我们简单分解一下,先在所有点中找到与终点有路 ......
题解 道路 Luogu P2296 2296