MIN
  • 2024-10-04斜率优化学习笔记
    斜率优化模板题,有三倍经验,难度逐渐递增,建议从前做到后。P2365任务安排,P10979任务安排2,P5785[SDOI2012]任务安排。(但是我这种做法P10979和P5785没有区别。思路:设\(f_i\)表示第\(i\)个任务加工后所需的最小总费用,那么就有转移式。\[f_i=\displaystyle\min_{j=0}^{
  • 2024-10-04动态规划--三角形最小路径和
    问题描述给定一个三角形triangle,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点在这里指的是下标与上一层结点下标相同或者等于上一层结点下标+1的两个结点。也就是说,如果正位于当前行的下标i,那么下一步可以移动到下一行的下标i
  • 2024-10-03CSP 模拟 37
    Amedian如果保证每个数互不相同,直接统计每个序列中小于\(x\)和大于\(x\)的数量就好。但是有重复的数,答案会算重,考虑给每一个数一个独一无二的特征,保证满足大小关系,直接给所有数排个序后,记录排序后的位置即可。时间复杂度\(\mathcal{O}(n\logn)\)。Btravel当\(k\to\in
  • 2024-10-03P11119 [ROI 2024 Day 2] 保持连接
    P11119[ROI2024Day2]保持连接设\(L_i,R_i\)分别表示覆盖了\(i\)的的线段中最靠左的左端点和最靠右的右端点,特殊的,如果没有覆盖,则\(L_i=R_i=i\)。显然所有\(R_i\)就刻画了一种局面。如果没有\(X\)的操作,设\(g_i\)表示从\(i\)出发到\([i,n]\)的重新连接的次数
  • 2024-10-03CF2019 F. Max Plus Min Plus Size
    ddp题解,就是\(f[pos][o][l][r]\)表示线段树上pos位置的区间是否选出最大值,以及左右端点有没有被去到时的最大值。然后用线段树维护依次取某个值为最小值的时候dp的最优解。constintN=2e5+5;intT,n,a[N],f[N<<2][2][2][2];inlineintgetmax(intpos){returnma
  • 2024-10-02基于无线传感器网络的节点分簇算法matlab仿真
    1.程序功能描述对传感器网络进行分簇,在分簇过程中考量的有节点能量状态、节点拓扑位置、孤立节点删除等条件。与LEACH算法比较,对比如下几个方面指标:1.网络从初始状态直到首个节点因能量耗尽而死亡的持续时间。2.显示了随着时间的变化,一些节点开始死亡,整个网络的可用率下
  • 2024-10-02树上最值路径 题解
    题意简述给你一棵\(n\)个结点的树,编号为\(1\simn\),求有多少路径\(\operatorname{Path}(u\rightarrowv)\),满足\(u=\max\{x\midx\in\operatorname{Path}(u\rightarrowv)\}\),\(v=\min\{x\midx\in\operatorname{Path}(u\rightarrowv)\}\)。
  • 2024-10-02题解:SP9934 ALICE - Alice and Bob
    状态表示:使用两个变量来表示当前游戏的状态:\(a\)表示包含\(1\)个石子的堆的数量,\(b\)表示包含多于\(1\)个石子的堆的可操作次数。游戏策略:从包含多个石子的堆中取走一个石子,这会减少\(b\)。从包含\(1\)个石子的堆中取走一个石子,这会减少\(a\)。合
  • 2024-10-02题解:UVA1500 Alice and Bob
    状态表示:使用两个变量来表示当前游戏的状态:\(a\)表示包含\(1\)个石子的堆的数量,\(b\)表示包含多于\(1\)个石子的堆的可操作次数。游戏策略:从包含多个石子的堆中取走一个石子,这会减少\(b\)。从包含\(1\)个石子的堆中取走一个石子,这会减少\(a\)。合
  • 2024-10-02题解:SP5449 ANARC09A - Seinfeld
    可以用动态规划解决。动态规划思想:设\(dp_{i,j}\)表示处理到字符串的第\(i\)个字符,并且未配对的{数量为\(j\)时,所需的最小操作次数。状态转移:初始化:\(dp_{0,0}=0\):表示空字符串且没有未配对的{,显然不需要任何操作。其他所有\(dp_{0,j}\)初始化为INF,表示不
  • 2024-10-0120240903
    mount我们会惊奇的发现,无论网格在哪里,只要有山覆盖了,那么这里的贡献一定是\(\sqrt{2}\),如下的图可以证明:那么我们就只用开一个线段树,维护的是最小值和最小值的出现次数,如果最小值不为\(0\),那么这部风就没有贡献,反之贡献就要加上最小值的出现次数细节由于我们可以
  • 2024-09-30codeforces round 975 E(div.2)(lambda表达式实现dfs,min_element函数,一定要优化重复的步骤)
    解题历程:看到题目要求要用最少的消除次数让所有叶子深度相同,通过观察,那么就只需要将所有深度都尝试一遍就行了,可是我当时没多想就用dfs记录所有节点的深度,单独将所有叶子和该叶子的深度存起来,记录最大的深度,从最大深度尝试到深度0,对于深度小于当前尝试深度的叶子,用dfs的方式将与
  • 2024-09-30一类特殊的区间 dp
    这东西去年就看了,但是感觉理解的不是很深刻。今年再来加深一下理解吧!虽然可能这辈子不会再用到了。先看一个题吧:CF1132F没什么分析的必要,直接给个转移方程吧。\[\begin{cases}f_{i,i}=1\\f_{l,r}=\min(f_{l+1,r},f_{l,r-1})&s_l=s_r\\f_{l,r}=\min\limits_{l\lek<r}f_{l,k}
  • 2024-09-29NODSX2304B. 抽卡
    NODSX2304B.抽卡题意改个名字,Alice和Bob在玩游戏……有\(n\le15\)个数字,每次玩家随机选择至多\(m\)个数,然后扔掉个数字。Alice先手。Alice会尽量使扔掉的权值和最大,Bob希望尽量小。问最终权值是什么。首先如果存在\(m\)张一定选\(m\)张,否则全选。然后想不到
  • 2024-09-28Dijkstra算法详解【附算法代码与运行结果】
    算法背景Dijkstra算法是一种用于在加权图中找到单个源点到所有其他顶点的最短路径的算法。这种算法由荷兰计算机科学家艾兹格·戴克斯特拉(EdsgerW.Dijkstra)在1956年提出。它适用于有向图和无向图,并且图中的边权重必须是非负数。基本原理如下图所示,找到一条从v1(节点1)到v6(
  • 2024-09-28平面最近点对
    #include<bits/stdc++.h>usingnamespacestd;constintN=2e5+5,inf=0x7f7f7f7f;intn;structPoint{doublex,y;}a[N],t[N];boolcmp1(PointA,PointB){if(A.x==B.x)returnA.y<B.y;returnA.x<B.x;}boolcmp2(PointA,PointB){
  • 2024-09-27CF1919E
    给定长度为\(n\)的数列\(p\),求有多少个长度为\(n\)的数列\(a\)满足:\(\foralli\in[1,n],|a_i|=1\);其前缀和数组排序后恰为数列\(p\)。\(\sumn\leq5000\)。这个题真的抽象,还是先不管了。Conclusion用折线图观察操作。自定义统一操作生成最终答案。题外话:感
  • 2024-09-27「KDOI-06-S」消除序列 题解
    分享一个应该很少人想到的做法。首先贪心地想,第一种操作肯定最多选择一次。比如如果选择了下标\(i\)和\(j\)进行第一种操作,那么就等价于在\(\max\{i,j\}\)进行了一次操作。由于代价是非负数,则我们最多只用执行一次。当然也可以不使用这种操作。有了这个思路,我们先考虑不使
  • 2024-09-27斜率优化解题报告(uoj转)
    任务安排1~3:模版。用到一个著名的思想:费用提前计算。暴力维数高的原因是不能较快的知道前面分了几批但是一旦分了一批,对后面都会有\(S\)的时间叠加所以不妨设\(f_i\)表示已知会花费的时间min,\(f_i=\min_{j=1}^{i-1}f_j+(SC_i-SC_j)\cdotST_i+S\cdot(SC_n-SC_j)\)
  • 2024-09-26Python从0到100(五十八):机器学习-随机森林及对复杂数据集分类
    随机森林通过构建多个决策树来完成分类或回归任务。随机森林的核⼼思想是通过多个弱学习器(决策树)的集成来构建⼀个强学习器,从⽽提⾼模型的泛化能⼒和稳定性。1.基本原理随机森林的基本原理如下:从训练集中随机抽取⼀定数量的样本(有放回抽样),构建⼀个决策树(称为⾃助采样法或
  • 2024-09-26图解二叉堆(优先队列)TS实现
    结构性:用数组表示的完全二叉树堆序性:任意一个根节点比其所有子树节点大(小)我们以数组作为存储结构,这样直接就可以明白,二叉堆需要的是完全二叉树即除了最后一层其他层都需要填满且最后一层的节点需要满足从左往右。节点关系:对于给定的节点i(假设数组索引从0开始):父节点的
  • 2024-09-26交替方向乘子法(Alternating Direction Method of Multipliers,简称ADMM)
    ADMMADMM简介交替方向乘子法(AlternatingDirectionMethodofMultipliers)通常用于解决存在两个优化变量的只含等式约束的优化类问题,其一般形式为:min⁡
  • 2024-09-26P8563 Magenta Potion 题解
    前排警告这是较为通用,不需要脑子,但是代码量巨大的题解,请谨慎食用解题思路不知道大家做没做过带修改的区间最大连续子段和,这一题其实就是带修改的区间最大连续子段积。那么其实做法是类似的。我们用线段树维护五个量:当前区间答案,区间前缀最小值,区间前缀最大值,区间后缀最小值,区
  • 2024-09-26冲刺CSP联训模拟1
    A.几何设\(f_{i,j,k}\)表示前\(i\)个字符,分为两部分,分别为\(x\)的几倍加\(x\)的前\(j\)位,\(y\)的几倍加\(y\)的前\(k\)位,是否合法分别判断下一位\(i+1\)能否与\(x\)的下一位\(j+1\)和\(y\)的下一位\(k+1\)匹配,匹配上了就转移.最终答案就是\(f_{|s|
  • 2024-09-26题解:CF1799F Halve or Subtract
    \(\text{Link}\)介绍一下一种高维wqs的方法。此方法来自@YeahPotato的专栏严谨的WQS二分方法。题意给定一个长为\(n\)的序列\(v_{1\dotsn}\),三个常数\(d,a,b\)。你可以执行若干次以下两种操作:选择\(1\lei\len\),令\(v_i\gets\lceil\frac{v_i}{2}\rceil\)。