题解 算法
【视频】Copula算法原理和R语言股市收益率相依性可视化分析|附代码数据
阅读全文:http://tecdat.cn/?p=6193 最近我们被客户要求撰写关于Copula的研究报告,包括一些图形和统计输出。 copula是将多变量分布函数与其边缘分布函数耦合的函数,通常称为边缘。在本视频中,我们通过可视化的方式直观地介绍了Copula函数,并通过R软件应用于金融时间序列 ......
LR语法分析算法
LR语法分析器 组成:一个输入,一个输出,状态栈,驱动程序,语法分析表 注意:规约后需要寻找新的符号在栈顶状态上的转换 例如: 状态栈 符号栈 输入 0 5 $id *id$ 此时需要按F -> id规约 0 3 $F *id$ 3是规约的新符号F在栈顶状态0上的转换 代码实现 /** * P159 ......
算法随笔——分块
介绍 分块的基本思想是通过适当的划分和预处理,用空间换时间,更加接近朴素算法,是一种暴力数据结构。 例题1 例如最经典的区间修改区间查询,若用树状数组来做就显得过于麻烦了。而用线段树做这道题,虽然通用,但马亮比较大,非常不友好。于是一种 \(O(nlogn)\) 的解法出现了——分块。 思路 将整个 ......
CF1900B题解
原题 思路 略微思考不难得到,三个数字的数量之差的奇偶性是不会变的。因为一个数的数量减少了 $1$,另一个数无论是增加 $1$ 或是减少 $1$,两者的差要么不变,要么增加 / 减少 $2$,对奇偶性无影响。 同时,如果另外两个数的数量变为 $0$,它们数目的差一定是 $0$。那么,我们只需要判断另 ......
【题解】CodeForces 686E Optimal Point
传送门:https://codeforces.com/contest/686/problem/E 前言:本题解来源于作者某天晚上和一位朋友的发电内容(没错,这个作者直接把自己和朋友发电时发的话用markdown排了一下,传上来了),当时本来就比较口语化,加上作者的做法又实在太过离谱,因此可能语言表述 ......
【题解】LibreOJ #3051「十二省联考 2019」皮配
传送门:https://loj.ac/p/3051 首先,对于这样“少部分个体有特殊要求”的题目,我们先考虑,如果没有任何个体有特殊要求怎么做,然后再考虑怎么加上特殊要求; 对于这道题,如果 $k=0$,即没有学校有不喜欢的导师,那么,设总人数为 $al$,城市 $i$ 的人数和为 $cit_i$、 ......
P8773 [蓝桥杯 2022 省 A] 选数异或 题解
P8773 [蓝桥杯 2022 省 A] 选数异或 题解 题目链接 P8773 [蓝桥杯 2022 省 A] 选数异或 简要思路 题目让我们查询是否有两个数 \(a,b\) 满足 \(a \oplus b = x\),根据异或的性质,我们可以将上式转换为 \(b = a \oplus x\),因此对 ......
【Python】【OpenCV】凸轮廓和Douglas-Peucker算法
针对遇到的各种复杂形状的主体,大多情况下,我们可以求得一个近似的多边形来简化视觉图像处理,因为多边形是由直线组成的,这样就可以准确的划分区域来便捷后续的操作。 cv2.arcLength() Method: 参数: curve:要计算周长的轮廓,可以是一个矩形、圆形、多边形等封闭曲线。 closed ......
代码随想录算法训练营第七天| 344.反转字符串 541. 反转字符串II
LeetCode 344.反转字符串 题目链接: LeetCode344 思路: 定义left、right指针,将两指针对应的值反转即可 class Solution { public: void reverseString(vector<char>& s) { int n = s.size(); ......
UVA1395 Slim Span 题解
Link UVA1395 Slim Span Question 求所有生成树中最大边权与最小边权差最小的,输出他们的差值 Solution 因为 \(n \le 100\) 非常小,先把边从小到大排序,那么生成树的边肯定是排序后上的边连续的一块 所以,可以枚举连续一块的起点 \(L\),\(R\) ......
UVA753 A Plug for UNIX 题解
Link UVA753 A Plug for UNIX Question 有 \(n\) 个插座,\(m\) 个设备和 \(k\) 种转换器,每种转换器有无限多个。转换器可以插着转换器用,每个插座或插头的类型可能不同,求最少剩多少个不匹配的设备 Sulotion 先考虑转换器连用的情况,用边表 \( ......
双边滤波算法
H:\CodeSet\vcg完善1\pclPrj\bilateralFunc.h //双边滤波算法 float sigma_s_ = 0.5; float sigma_r_ = 0.5; pcl::PointCloud<pcl::PointXYZ>::Ptr plcCloud1; PointClou ......
CF1850E Cardboard for Pictures 题解
题意: 思路: 问题转化为:求解满足 $ \sum_{i = 1}^n (a_i + 2w)^2 = c $ 的 $ w $ 。 观察,等式左侧 $ \sum_{i = 1}^n (a_i + 2w)^2 $ 随 $ w $ 的增大而增大,而 $ c $ 不变,因此考虑二分 $ w $ 的值。 ......
CF1809D Binary String Sorting 题解
题意: 思路: 贪心: 单调不降的 $ 01 $ 字符串,一定是一串连续的 $ 0 $ 再加上一串连续的 $ 1 $ 。由于每次操作的代价很大,所以需要在操作次数尽可能少的情况下,尽可能多地使用交换操作。 由于 $ 1 $ 次交换操作,只能减少 $ 1 $ 个逆序对,当存在多个逆序对时,优先通过删除 ......
ucup hefei 题解
比赛链接 B 很有意思的题 首先题目的要求为可以拆分成 \(2\) 个不相交的不降子序列 根据 \(dilworth\) 定理,最小链覆盖 \(=\) 最长反链,所以要求最长反链 \(\le 2\) 即原序列的逆序列的最长不降子序列长度 \(\le 2\) 不难得到一个 \(dp\) 做法为: 令 ......
【数据结构和算法】搜索算法
① 搜索最小值 python的min函数返回列表中的最小项 1 def indexOfMin(lyst): 2 minIndex = 0 3 currentIndex = 1 4 while currentIndex < len(lyst): 5 if lyst[currentIndex] < ly ......
【数据结构和算法】排序算法
使用swap函数来交换列表中的两项的位置 1 def swap(lyst,i,j): 2 '''交换列表中两项的位置''' 3 temp = lyst[i] 4 lyst[i] = lyst[j] 5 lyst[j] = temp ① 选择排序 处于列表第一项,先找到最小项的位置,如果该位置不是列表 ......
Mybatisplus自定义主键生成策略,使用雪花算法生成16位的唯一ID
楼主在使用mybatisplus开发前后端分离项目时发现一个很奇怪的现象:所有更新/删除操作都不起作用,开启mybatis日志后发现前端传入的id值与实际的数据库的值不相同,最后三位总是000。 经过一系列查资料才知道,mybatisplus的默认ID生成器使用雪花算法,生成20位左右的ID,但js ......
路径规划算法 - 求解最短路径 - Dijkstra算法
Dijkstra算法的思想是广度优先搜索(BFS) 贪心策略。 是从一个顶点到其余各顶点的最短路径算法,节点边是不各自不同的权重,但都必须是正数 如果是负数,则需要 Bellman-Ford 算法 如果想求任意两点之间的距离,就需要用 Floyd 算法 求节点0 -> 4 的最短路径 每次从未标记的 ......
拒绝算法推荐,使用rss订阅消息与新闻!
算法推荐的弊端就不说了 借用 RSSHub 镜像网站 如果你实在不会,又或者觉得麻烦,那你还可以搭其他网友的“便车”。 我收集了 9 个 公开的 RSShub 镜像网站,它们用的都是用自己的服务器,所以在流量方面也不会有问题。 服务器1 :https://rsshub.rssforever.com ......
java与算法Day1 Scanner的应用(一)
java中使用输入需要用到java.util.Scanner。Scanner有next,nextInt,nextString,hasNext,hasNextLine等方法。 使用 XXX variable = Scanner.NextXXX就可以获取一个输入值。next系列的方法,他们的作用都是从键 ......
线性代数题解
前言 写完了这道题我好想刚明白一点最小割???UU好闪,拜谢UU。 题解 首先,我们可以发现若第 \(i\) 行的 \(B\) 没选,那么第 \(i\) 列的 \(B\) 也不选,所以此时对于行和列是等价的。 若 \(A_i\) 是 \(0\),则会减少贡献 \(\sum_{j}B_{i, j}\) ......
P8594 「KDOI-02」一个仇的复 题解
我会组合数! 首先发现同一列只有被不同的横块填或被一个相同的竖块填,且用竖块填完1列之后,会分成两个封闭的长方形,而长方形内部则用横块来填充。 先考虑一个子问题,某个 \(2 \times n\) 长方形内只用 \(k\) 个 \(1 \times x\) 的横块填的方案数,显然有 \(\sum\l ......
CF603题解
CF603 Codeforces Round 334 (Div. 1) CF603A link CF603A题意 现有一个长度为 \(n\) 的 01 串, 可以进行一次区间翻转 ( 起点终点随意, 并且区间里的值 1 变 0, 0 变 1 ), 得到一个新的 01 串, 使得得到的新的 01 串中 ......
[NOI Online #1 入门组] 跑步 题解
[NOI Online #1 入门组] 跑步 题解 突然发现之前打过 NOI Online,啥都不会的情况下这题竟然拿了 70pts。 思路 题意就是统计对于 \(n\le 10^5\),把它进行无序正整数划分的方案数。 对于 70pts,我们考虑 DP:\(f_{i, j}\) 表示对于 \(1\ ......
CF1824B1 LuoTianyi and the Floating Islands (Easy Version) 题解
题意: 思路: 由于 $ k ∈ [1,3] $ ,分类讨论: 当 $ k = 1 $ 时,有人结点自身即为好结点,每种情况的期望为 $ \frac{1}{n} $ , $ n $ 种情况的期望和为 $ 1 $ 。最终答案即为 $ 1 $ 。 当 $ k = 2 $ 时,$ 2 $ 个有人结点之间的 ......
ABC325G offence 题解
给出一个长为 \(n\) 的字符串和非负整数 \(k\)。你可以进行以下操作若干次,使得最终字符串长度最小。 选择一个字串 of。然后删掉 of 以及这之后的 \(i\) 个字符。\(i\) 由你决定,但要满足 \(0\leq i\leq k\)。 输出这个最小长度。\(1\leq n,k\leq ......
单调栈与单调队列算法总结
单调栈 知识概览 单调栈最常见的应用是找到每一个数离它最近的且比它小的数。 单调栈考虑的方式和双指针类似,都是先想一下暴力做法是什么,然后再挖掘一些性质如单调性,最终可以把目光集中在比较少的状态中,从而达到降低时间复杂度的作用,都是算法优化的一种手段。 对于的情况,更有可能是答案,因此将删掉。最终, ......
代码随想录算法训练营第六天| 454.四数相加 15.三数之和 18.四数之和
LeetCode 454.四数相加 题目链接: LeetCode454 思路: 将两个数组中的数存放到一个map中,用另外两个数组的值在map中去减 class Solution { public: int fourSumCount(vector<int>& A, vector<int>& B, v ......