• 2024-11-21CF1010F 与 ABC269H:有多少个包含根的连通块?
    CF传送门AT传送门两题主要Trick相同。CF的还多了一个小trick。给定一棵根节点为\(1\)的二叉树\(T\),你需要先保留一个包含\(1\)号节点的连通块,然后给每个点确定一个权值\(a_i\),使得对于每个点\(u\)都有其权值\(a_u\)大于等于其所有儿子的权值和\(\suma_v[(u,
  • 2024-11-21[2024.11.21]IOI 赛制练习赛
    我爱IOI赛时虽然小L说题目按照字典序排列,但是我还是决定先看T1。由于是图论专场,所以我直接大胆对数据连边,然后胡了一个并查集,感觉很对。但发现不太好维护当前状态如何插入新值,简单画了一会发现只需要维护一个\(vis\)数组并放到祖先那里,就可以维护能否操作了。单身时间
  • 2024-11-21P7906 [Ynoi2005] rpxleqxq 题解
    P7906[Ynoi2005]rpxleqxq题解题目大意给定一个长度为\(n\)的序列\(A\),和一个常数\(k\)。有\(m\)次询问,每次给定一个区间\([l,r]\),询问有多少二元组\((i,j)\),满足:\(1\leqi<j\leqn\);\((A_i\oplusA_j)\leqk\)。Solve前置知识:莫队二次离线。对于普通莫队,端
  • 2024-11-21排序算法(选择排序、直接插入排序、冒泡排序、二路归并排序)(C语言版)
    对数组进行排序,主要演示选择排序、直接排序、冒泡排序、二路归并排序算法,附上代码演示一、编写好各类排序方法的函数(1)s_sort(inte[],intn):选择排序。(2)si_sort(inte[],intn):直接插人排序。(3)sb_sort(inte[],intn):冒泡排序。(4)merge(inte[],intn);二路归并排序
  • 2024-11-21一种期望线性的静态区间查询
    水群时看到了,记一下。形式地,设查询的信息构成半群。分块,将信息分成\(B\)块,则每块长度为\(\dfrac{n}{B}\)。考虑暴力处理每块的前缀、后缀答案,暴力处理每个整块间的答案,取\(B=O(\sqrt{n})\),预处理复杂度是\(O(n)\)的。现在,对于跨越整块的询问,我们可以\(O(1)\)查询,但是,
  • 2024-11-20NOIP 前随机选做
    CSP奋战两小时arena死活调不出,奇耻大辱哦。不如加练。20241028CSP-S2024T4很需要大脑清醒的一道题。自底往上对于每个询问\(\mathcalO(\logn)\)做是没有救的,大概就是从\(u\)开始往上跳,维护可以赢的确定的单点以及不会被已有点击败的未确定点的后缀。显然是要拆贡
  • 2024-11-20闲话 11.20
    10daysleft.不说闲话,捡重点说。P4113[HEOI2012]采花hh的项链加强版。首先考虑莫队,轻松写,轻松133pts,轻松过不了后两个hack,考虑优化。既然是加强版,那么就考虑沿用之前的思路。记录上次出现某个数的位置和上上次出现某个数的位置,离线之后将询问挂到右端点上,依然是树状数
  • 2024-11-2011.20 模拟赛
    总结完啦A不会做。肯定是神秘贪心题。不太好模拟啊。算了猜个结论吧。\(m=1\)是经典问题,把这个稍微引申一下。得到了一个multiset维护的做法。然后猜对了。15min切掉。很快码了一个对拍然后一直拍到比赛结束。看B。感觉不难。尝试设计DP。发现我啥也不会,所以先写个暴
  • 2024-11-20P7115 [NOIP2020] 移球游戏
    link这道题我觉得是我做到过极好的构造题了,思路和优化的方法都比较有特点,对数据点范围的分析已经对数据的给分也比较恰到好处。之前做了这道题,特此写一篇题解。首先要批判一下给的小样例,对解题很容易起到反作用。所以构造题不能只看样例,要自己去手搓一下,这样才方便去做。本题我
  • 2024-11-20人工智能之机器学习线代基础——克拉默法则(Cramer's Rule)
    克拉默法则是一种用于解线性方程组的方法,适用于系数矩阵为方阵的情况(即未知数的个数与方程的个数相等)。它通过计算行列式直接求解方程组的解。   克拉默法则的优缺点优点直接性:可以显式地通过行列式计算出解。理论价值:适合小规模问题,易于理解和验证解的正确性。
  • 2024-11-20PHP顺序查找和二分查找(也叫做折半查找)算法
    顺序查找(线性查找)顺序查找是一种简单直观的查找算法,从数组的第一个元素开始,依次比较每个元素,直到找到目标元素或数组结束。<?phpfunctionlinearSearch($array,$target){$length=count($array);for($i=0;$i<$length;$i++){if($array[$i]==
  • 2024-11-1911.19
    C++代码实现:cppincludeincludeinclude<unordered_map>usingnamespacestd;intmain(){intV,E;cin>>V>>E;//错误处理:顶点个数为0if(V==0){cout<<"error"<<endl;return0;}//错误处理:顶点个数为1,且边个数大于0if
  • 2024-11-19LeetCode题练习与总结:数字转换为十六进制数--405
    一、题目描述给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。答案字符串中的所有字母都应该是小写字符,并且除了0本身之外,答案中不应该有任何前置零。注意: 不允许使用任何由库提供的将数字直接转换或格式化为十六进制的方
  • 2024-11-19LeetCode题练习与总结:根据身高重建队列--406
    一、题目描述假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i]=[hi,ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。请你重新构造并返回输入数组 people 所表示的队列。返
  • 2024-11-19【优选算法篇】算法江湖中的碎玉拾光——C++模拟题全解,踏步逐章细细品味
    文章目录C++模拟题详解:基础题解与细致分析前言第一章:基础练习1.1替换所有的问号(easy)解法(模拟)C++代码实现易错点提示时间复杂度和空间复杂度1.2提莫攻击(easy)解法(模拟+分情况讨论)C++代码实现易错点提示时间复杂度和空间复杂度1.3N字形变换(medium)解法(模拟+找
  • 2024-11-19代码源 NOIP 模拟赛 Day 11
    我怎么这么菜啊,无语。赛时开T1,刚读完题,准备想一下,因为据我经验,不可能很快切掉。无意间发现Heldivis10min过了,意识到可能是诈骗/简单巨难题。发现\(k\)就是最短路长度。对于非最短路径,只要保证赋有\(1\simk\)的权值就行了。对于边\((u,v)\),边权赋为\(\min(dis_u,d
  • 2024-11-19LCR 020. 回文子串(中等)(主站647)
    https://leetcode.cn/problems/a7VOhD/https://leetcode.cn/problems/palindromic-substrings/难度:☆☆☆题目:给定一个字符串s,请计算这个字符串中有多少个回文子字符串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例:输入:s
  • 2024-11-19计算几何
    计算几何内容太多(105页ppt呢故只写大纲和之前不知道的东西基本模板前置知识向量基本运算(加减、数乘、点乘、叉乘)高维向量的运算相关计算(长度、夹角、面积……叉乘:\(\veca\times\vecb=|\veca||\vecb|\sin<\veca,\vecb>\)角度是有向的(从\(\veca\)转到
  • 2024-11-182024-11-19每日一题
    台阶问题题目描述有\(N\)级台阶,你一开始在底部,每次可以向上迈\(1\simK\)级台阶,问到达第\(N\)级台阶有多少种不同方式。输入格式两个正整数\(N,K\)。输出格式一个正整数\(ans\pmod{100003}\),为到达第\(N\)级台阶的不同方式数。样例输入52输出8数据范围
  • 2024-11-18分块莫队学习笔记
    优雅的暴力。引入link。这道题显然可以用线段树、树状数组做,但如果我偏不用这些数据结构呢?我们知道,暴力修改和查询最坏是\(\mathcal{O}(n)\)的,这样肯定会挂掉。那该怎么办呢?正题分块考虑将序列分成若干块,我们设每块长为\(B\)。对于每次查询\(\left[l,r\right]
  • 2024-11-18一些值得注意的STL使用,用错了可能就复杂度错误了
    前言一些见到(或看到别人,或写了)的问题就记一下吧正文lower_boundSTL分为两类,一类是支持随机访问的,另一类是不支持随机访问的。而不支持随机访问的,若使用lower_bound函数,请一定要使用.....lower_bound(...),因为这样的复杂度是对的(\(\log\)),否则就是线性的。我在cpprefernce上
  • 2024-11-18解题报告——灵活利用题目单调性省下复杂度
    有一种题目,需要直接/间接查询全局最值,并且带修改。直接set/priority_queue不完了吗?然而,这类题目通常具有巨大的操作量,朴素的需要额外复杂度来维护内部性质的数据结构(例如需要带一个\(\log\))往往无法通过此类题目。但是,这种题目本身一般具有某种单调性质,这使得我们可以使用一
  • 2024-11-18《 C++ 修炼全景指南:二十 》不止是链表升级!跳表的核心原理与超强性能解析
    摘要这篇博客全面解析了跳表(SkipList)作为一种高效的链表数据结构的特性和应用。跳表以多层链表和随机化策略实现O(logn)的查找、插入和删除性能,简化了平衡树结构中常见的复杂旋转操作。通过剖析跳表的结构设计和核心操作,我们探讨了其在范围查询和动态更新中的优势,
  • 2024-11-18NOIP 模拟赛:2024-11-16
    全体栽在T1?T1:二分一下内存大小然后模拟判断。关键点在于意识到"解码"和"播放"这两种事件是分开的。用一个while循环,每次循环从"完成某帧的解码"、"开始某帧的解码"、"播放某帧"、"删除某帧"之间选时间最早的时间执行。T2:板题,并查集额外记录个vector然后启发式合
  • 2024-11-17CF2037
    男儿何不带吴钩,收取关山五十州!赛时发题解的行为是不是错的啊!没有关系,反正也没写代码,万一假了呢!E考虑最小的\(r\)使得\(f(1,r)\neq0\)。如果不存在这样的\(r\)显然无解。否则一定有解。考虑\(f(1,r)\neq0\)能带来什么信息,必然有\(s_r=1\),且\(s_r\)前面有\(f(1,r)