MX
  • 2024-09-30最小生成树学习笔记
    最小生成树证明最小生成树构成的过程实际上是做\(n-1\)次操作,每一次合并一个点集,直到图中只剩下一个集合为止。要达到的就是让每一次合并的代价之和最小。那么我们实际上可以贪心地选择边权最小的并且能够合并集合的边(Kruskal算法),这个算法的正确性简单来说可以用反证法来证
  • 2024-09-29NODSX2304B. 抽卡
    NODSX2304B.抽卡题意改个名字,Alice和Bob在玩游戏……有\(n\le15\)个数字,每次玩家随机选择至多\(m\)个数,然后扔掉个数字。Alice先手。Alice会尽量使扔掉的权值和最大,Bob希望尽量小。问最终权值是什么。首先如果存在\(m\)张一定选\(m\)张,否则全选。然后想不到
  • 2024-09-28Codeforces Round 975 Div.2 C题 解析
    C题题目链接:Problem-C-Codeforces题目描述思路
  • 2024-09-24CF1270 sol
    题目大意cflink给定一个长度为\(n\)的序列\(a\),保证任何时间序列\(a\)两两不同,\(i\)和\(j\)有边当且仅当\(a_i<a_j\)。询问连通块的个数,带单点修。做法step1观察性质结论:若\(i,j\)连通,则\(\forallk\in(i,j),i,j\)和\(k\)连通。$\mathcal{proof}:$分讨:\(a_i
  • 2024-09-24题解:SP1741 TETRIS3D - Tetris 3D
    题意维护一个\(D\timesS\)的平面,每个点有一个高度。要求支持一个操作:查询一个矩形区域的最大值,并将该区域更新为最大值加上给定的数。分析发现\(D,S\leq10^3\),考虑使用二维线段树维护。二维线段树,顾名思义,就是在普通线段树的每一个节点上维护一棵线段树。在本题中,外层节
  • 2024-09-242024-09-14:用go语言,给定一个正整数数组 nums,定义一个加密函数 encrypt(x),其将一个整数 x 的每一位数字都替换为 x 中的最大数字,然后返回加密后的数字。 例如,encr
    2024-09-14:用go语言,给定一个正整数数组nums,定义一个加密函数encrypt(x),其将一个整数x的每一位数字都替换为x中的最大数字,然后返回加密后的数字。例如,encrypt(523)会返回555,encrypt(213)会返回333。现在需要计算数组中所有元素加密后的和,然后返回这个和。输入:nums=[10,2
  • 2024-09-24MX-NOIP 2024 模拟 3.5
    赠的场次,质量却很高。#3.5T1交换连状压都打的复杂度超劣,真是水平下降严重。其实也基本想到了,前面一大部分贪心确定,后面的做部分分状压dp。设\(f_s\)表示填了\(s\)集合,最优的\(n'\),\(g_s\)表示此时对应的\(n\)。枚举最高位填哪个数,转移比较简单。往前换的最大代价
  • 2024-09-23筛法求素数
    筛法求素数Eratosthenes筛法时间复杂度\(O(nloglogn)\)。关键优化:\(j\)从\(i\timesi\)开始voidgetprime(intmx){ memset(is_prime,1,sizeof(is_prime)); is_prime[0]=is_prime[1]=0; F(i,2,mx){ if(is_prime[i]){ prime[++cnt]=i;//存 if(1ll
  • 2024-09-22CF2013 F2
    CF2013F2首先你需要知道F1的做法。我将会给出一个\(O(n\sqrtn)\)的,求出整棵树任意节点答案的方法。对于路径上的点\(p_1\simp_m\),终点\(p_m\),起点\(p_1\),设\(p_i\)所经不在路径上的最远长度为\(d_i\)。那么根据F1的结论,我们是通过移动两个指针\(l,r\),不断判
  • 2024-09-17使用CUBE_MX使用I2C通信,实现对EEPROM的读写
    一、使用CUBE_MX配置1.配置I2C2.配置USART13.重中之重(在KEIL5打开串口使用的库)二、KEIL5配置#include"main.h"#include"i2c.h"#include"gpio.h"#include"usart.h"#include<stdio.h>voidSystemClock_Config(void);voidI2C_EE_Buf
  • 2024-09-15VP 【MX-S2】 解题报告
    VP【MX-S2】解题报告VPresult:比赛地址目录VP【MX-S2】解题报告【MX-S2-T1】变DescriptionConstraintsSolutionCode【MX-S2-T2】排DescriptionConstraintsSolutionSubtask2Subtask3FinalCode【MX-S2-T3】跳DescriptionConstraintsSolutionSubtask1Subtask2FinalCode
  • 2024-09-142024-09-14:用go语言,给定一个正整数数组 nums,定义一个加密函数 encrypt(x),其将一个整数 x 的每一位数字都替换为 x 中的最大数字,然后返回加密后的数字。 例如,encr
    2024-09-14:用go语言,给定一个正整数数组nums,定义一个加密函数encrypt(x),其将一个整数x的每一位数字都替换为x中的最大数字,然后返回加密后的数字。例如,encrypt(523)会返回555,encrypt(213)会返回333。现在需要计算数组中所有元素加密后的和,然后返回这个和。输入:nums=[10,2
  • 2024-09-14CF1793E Velepin and Marketi
    首先发现,每个人过的题是不同的,所以我们不关心过了那些题目。我们要直接去求分成\(k\)组最多的通过数是不容易的。我们可以转换一下,求当\(i\)个题通过的时候__最多__分多少组。为什么记最多,因为化成\(k\)个组通过\(i\)题可以的情况下,我们可以任意合并两个组,保证依然可以
  • 2024-09-132024 苍穹计划好题分享 (2)
    QOJ4211AliceandBob模拟赛中链的部分分很有启发意义:注意到每一个棋子的后继确定,所以只需考虑Alice和Bob每次移动哪颗棋子。容易发现按照颜色划分,所有结点构成若干连续段,假设我们强制钦定不能跨段移动棋子,那么胜负其实已经确定了,考虑每个结点有一个最大移动步数\(v_i\),
  • 2024-09-12九月补题计划
    暑假模拟赛(尤其是后半段题目难度上升)改题效率很低很低,隧导致咕了很多题没改,现在准备把暑假模拟赛的题只要是赛时没AC的再重新做一做写写题解,所以开启这个“九月补题计划”,简称“9B计划”。(共27场模拟赛)目前进度:1/27。CSP提高19.10A.start200行的大模拟,没什么看头,
  • 2024-09-11Cf Round 953 (Div. 2) (A-D)
    https://codeforces.com/contest/1978C:D:#include<bits/stdc++.h>usingnamespacestd;#definepiipair<int,int>#definemkpmake_pair#definelowbit(x)((x&(-x)))#defineintlonglongconstintmaxn=2e5+10;constintmod=998244353;in
  • 2024-09-11CF div2 round 960
    C.MadMADSum手玩规律题,预处理两次就能得到一个规律的答案。#include<bits/stdc++.h>usingnamespacestd;#definels(x)(x<<1)#definers(x)((x<<1)+1)intread(){ intret=0;charc=getchar(); while(c<'0'||c>'9')c=getc
  • 2024-09-11滑动窗口&动态规划-1031. 两个非重叠子数组的最大和
    问题描述问题求解本题还挺巧妙,有点类似两数和的扩展题。对于两个线段,我们可以固定右线段,然后寻找左线段的最大值。固定右线段使用到的算法是滑动窗口,寻找左线段最大值的算法是动态规划。时间复杂度:O(n)classSolution:defmaximizeWin(self,prizePositions:List[int
  • 2024-09-10【转载】mx noip day2 sol
    T1捏捏这个题才是签到题。右边为逆序对总数。为左边的值找一个具体意义,我们将证明这个值不大于等号右边的值。考虑冒泡排序,右边即冒泡排序交换的次数(每交换一次一定减少一个逆序对)。左边一定不大于冒泡排序交换次数,因为左边的值只考虑了复原需要向左移动的数,而未考虑向右移动
  • 2024-09-09WQS 二分学习笔记
    1.股票买卖问题1.11.0版本考虑现在有\(n\)天,每天的股票价格\(a_i\)已知。你手上同时只能持有至多一张股票,且一笔买卖需要支付\(c\)的手续费。求最大收益。1.1.1解法1:DP我们不妨设\(f(i,0/1)\)表示前\(i\)天结束后手上是否持有股票。转移非常简单:\[f(i,0)=\m
  • 2024-09-09CF1621G Weighted Increasing Subsequences 题解
    题目链接点击打开链接题目解法这种题就感觉每一步都不难想,但串在一起就不会显然考虑位置\(x\)作为\(lis\)的一部分,合法的\(lis\)的个数合法的约束是:令\(lis\)的最后一个位置为\(last\),满足\(\max\{a_{last+1},...,a_n\}>a_x\)不难发现,合法的\(last\)是一段区间
  • 2024-09-07求出最长好子序列
    给你一个整数数组nums和一个非负整数k。如果一个整数序列seq满足在范围下标范围[0,seq.length-2]中存在不超过k个下标i满足seq[i]!=seq[i+1],那么我们称这个整数序列为好序列。请你返回nums中好子序列的最长长度1.动态规划dp[i][j]表示将把i作为序
  • 2024-09-06CF1534(模拟赛记录)
    比赛页面ABCD都打的可以,然而E的+10直接葬送了大概率过的F1……先猜了个\(n-k+1\)的结论,但是没有写搜索查正确性(事实上确实不正确),于是两次罚时,第一次是交互格式错了。然后又猜了个\(\min(n-k+1,(n-1)/(k-1))\)的结论,过了几个小的搜索数据(\(n\le6\))的,大一点的没跑,于
  • 2024-09-062024.9.6 CF1307 模拟赛记录
    A:各捆干草间互相独立,所以优先移动距\(1\)近的。点击查看代码#include<bits/stdc++.h>#defineintlonglong#definepsbkpush_back#definefstfirst#definescdsecond#defineumapunordered_map#definepqueuepriority_queue#definevcvector#defineendl'\n'
  • 2024-09-05[USACO13OPEN] Photo G 题解
    前言题目链接:洛谷。题意简述一个长度为\(n\)的序列,有一些位置染了色。现给出\(m\)条限制,第\(i\)条限制为\(l_i\simr_i\)中有且仅有一个位置染色。求出满足这\(m\)中条件,染色位置个数最多为多少。\(n\leq2\times10^5\),\(m\leq10^5\)。题目分析方法\(1\):差