SZ
  • 2024-11-21树的重心
    定义1:删去该点后最大子树最小的点定义2:删去该点后所有子树大小均不超过n/2的点两个定义是等价的。如果一个点有超过n/2的子树,那么往这个方向走一步,其最大子树会变小。性质:一棵树最多有2个重心且相邻重心到所有点距离和最小可以用调整法证明(相当于换根),P2986[USACO1
  • 2024-11-2011.20 模拟赛
    总结完啦A不会做。肯定是神秘贪心题。不太好模拟啊。算了猜个结论吧。\(m=1\)是经典问题,把这个稍微引申一下。得到了一个multiset维护的做法。然后猜对了。15min切掉。很快码了一个对拍然后一直拍到比赛结束。看B。感觉不难。尝试设计DP。发现我啥也不会,所以先写个暴
  • 2024-11-20经典程序:通讯录的编写
    1.引言在我们学完了文件操作,指针,以及结构体等等知识后,尝试写出一个通讯录程序,并且能实现以下功能:增加通讯录,删除通讯录,查找通讯录,显示通讯录,退出程序,下面我们来进行代码实现;2.test.c源文件的编写首先我们想把通讯录页面打印出来,那么我们可以定义一个input变量,并且用do...whi
  • 2024-11-19Windows注册表REG_SZ字符串值增加回车换行
    前言全局说明在新建文本时,默认里面是空的,但Windows支持,在注册表里添加Data键值,来增加。默认键类型是REG_SZ字符串单行文本,但是要回车换行正常情况下就不支持了经过两天的网上查找和GPTchat查询,总结了一下注册表,修改有风险!修改前,请备份注册表,修改有风险!修改前,请备份注册表
  • 2024-11-19Mit6.S081笔记Lab10: mmap 文件内存映射
    课程地址:https://pdos.csail.mit.edu/6.S081/2020/schedule.htmlLab地址:https://pdos.csail.mit.edu/6.S081/2020/labs/mmap.html我的代码地址:https://github.com/Amroning/MIT6.S081/tree/mmapxv6手册:https://pdos.csail.mit.edu/6.S081/2020/xv6/book-riscv-rev1.pdf相关翻
  • 2024-11-17CF603E Pastoral Oddities 题解
    Description给定一张\(n\)个点的无向图,初始没有边。依次加入\(m\)条带权的边,每次加入后询问是否存在一个边集,满足每个点的度数均为奇数。若存在,则还需要最小化边集中的最大边权。\(n\le10^5\),\(m\le3\times10^5\)。Solution考虑给定一个图,怎么判断这个图存在一个
  • 2024-11-16NOIP2024 前集训:NOIP2024加赛 5
    前言music《浮光》看指尖拨响蝴蝶扇动一场离别我推开无声岁月续梦一页你我只是打个照面可曾有过誓约走进熟悉却陌生的思念啊……啊……你的眼眸装满了时间你的身后拥故事成篇此生如梦愿细数流年与你同写沧海桑田浮光掠影重山彩云间你的伏线
  • 2024-11-15[CEOI2023] The Ties That Guide Us 题解
    Description你用销售机器人的利润雇佣了一名助手,现在你准备好去拿走装有CEOI奖章的保险箱了。保险箱位于一所由\(n\)个房间所组成的大学建筑内,这些房间由\(n-1\)扇门连接。每个房间都可以从其他任何房间到达,且每个房间最多与\(3\)扇门相连。你和你的助手都有描述建筑物
  • 2024-11-11冒泡选择法(c基础)
    适合对象c语言初学者。冒泡选择法作用对一个数组进行排序。(介绍一下数组(c基础)(详细版)-CSDN博客)核心要点1:数组元素个数sz2:比较后的交换。核心思路进行(sz -1)趟,每一趟把最大数的放到末尾。其余数向前挪一个。代码产生1:先创建一个无序数组。2:进行第一趟排序
  • 2024-11-10冒泡排序(详细讲解)
    对于冒泡排序,字面理解就是对一段数据进行排序比如说你有10个数据intarr[10]={3,1,7,5,8,9,0,2,4,6};你想对这些数据进行从小到大的排序,一个个用if和else去进行比较太麻烦了,所以这时候冒泡排序就可以帮你提高效率首先,先文字讲解,这里总共有十个数据,而我们每次排序都会将
  • 2024-11-08树上背包
    树上的背包问题,也就是背包问题与树形DP的结合。例题:P2014[CTSC1997]选课有\(n\)门课程,第\(i\)门课程的学分为\(a_i\),每门课程有零门或一门先修课,有先修课的课程需要先学完其先修课,才能学习该课程。一位学生要学习\(m\)门课程,求其能获得的最多学分数。数据范围:\(n,m
  • 2024-11-06多校A层冲刺NOIP2024模拟赛18
    多校A层冲刺NOIP2024模拟赛18T1选彩笔(rgb)签到题,但是没签上。。。没想到三维前缀和,直接上了个bitset。就是直接二分答案,然后枚举这三维每维的区间的起点,前缀和查数量是否大于等于$K$即可,也可以把二分答案改为第一维的双指针,少一个$log$。T2兵蚁排序(sort)比T1还签
  • 2024-11-05一种点分治树的写法
    大意就是用vector直接记录无需显式建出叶向树,只需记录fa。dis每个中只用记录dep个值,常数比map等小。但是从上向下不太好做,加点删点是比较好做的。voidgetsz(intu,intlst=0){mxsz[u]=0;sz[u]=1;for(intv:G[u])if(!vis[v]&&v!=lst){
  • 2024-11-04Mit6.S081笔记Lab5: Lazy Page Allocation 惰性分配
    课程地址:https://pdos.csail.mit.edu/6.S081/2020/schedule.htmlLab地址:https://pdos.csail.mit.edu/6.S081/2020/labs/lazy.html我的代码地址:https://github.com/Amroning/MIT6.S081/tree/lazyxv6手册:https://pdos.csail.mit.edu/6.S081/2020/xv6/book-riscv-rev1.pdf相关翻
  • 2024-11-03[学习笔记] 树套树学习笔记
    哎,今天立了个flag,那就先学一个树套树吧。线段树套平衡树前置芝士:线段树、平衡树、二分答案顾名思义,线段树套平衡树是给线段树的每个节点都建一颗平衡树。我们先不考虑空间复杂度的问题。那么它一般用来解决什么问题呢?首先,线段树一般是用来维护序列的区间操作的,而平衡树一般
  • 2024-11-02找数游戏 [循环]
    描述一个三位数,各位数字互不相同,十位数字比个位、百位数字之和还要大,且十位、百位数字之和不是质数。桐桐想把符合上述条件的三位数找出来,你能帮助她吗?输入描述无输出描述按照从小到大的顺序,输出满足条件的三位数,每行一个。#include<bits/stdc++.h>usingnamespacestd
  • 2024-10-27多项式模板
    #include<bits/stdc++.h>#defineFor(i,x,y)for(inti=(x);i<=(y);i++)#definesz(v)(int)(v.size())usingnamespacestd;intksm(intx,inty,intp){intv=1;x%=p;while(y)v=1ll*v*((y&1)?x:1)%p,x=1l
  • 2024-10-26CF771A. Bear and Friendship Condition 题解 并查集
    题目链接:https://codeforces.com/problemset/problem/771/A视频讲解:https://www.bilibili.com/video/BV1tZ1FYPELp/?p=6题目大意:判断一个无向图中的每个连通块是否都是一个完全图。首先我们可以用并查集维护每个连通块的大小。其次,我们可以开一个\(cnt_i\)表示以节点\(i\)
  • 2024-10-24CF1139C. Edgy Trees 题解 并查集
    题目链接:https://codeforces.com/problemset/problem/1139/C视频讲解:https://www.bilibili.com/video/BV1tZ1FYPELp?p=3我们可以求总方案数-不满足条件的方案数。设一个不包含黑色边的极大连通块的大小为\(sz_i\)。则答案为\[n^k-\sum\{sz_i^k\}\]示例程序:#include
  • 2024-10-22一种类型的树贪心
    AGC023F-01onTree从根开始往下顺序不太好处理,于是考虑从下往上。那么就是从叶子开始,向自己的父亲合并,我们对于一个点,它有若干个儿子,假设其中两个叶子儿子分别为\(x,y\),然后考虑谁先合并上来更优?显然是颜色为\(0\)的先合并。然后叶子合并完后每个点会变成连通快,我们扩
  • 2024-10-22洛谷P3850 [TJOI2007] 书架 splay tree 模板题
    题目链接:https://www.luogu.com.cn/problem/P3850主要操作就是:插入+查询第k值。示例程序:#include<bits/stdc++.h>usingnamespacestd;constintmaxn=1.1e5+5,maxb=20;structNode{ints[2],p,sz;stringname;Node(){}Node(string_n
  • 2024-10-22洛谷P2596 [ZJOI2006] 书架 题解 splay tree 模板题
    题目链接:https://www.luogu.com.cn/problem/P2596主要涉及的操作就是:找到某一个编号的点(这个操作可以不用splaytree维护)删除某个点将某一个点插入到最前面,最后面,或者某一个位置查询前序遍历为\(k\)的节点编号因为每次删除都会又把这个点加回去,所以可以复用\(n\)个
  • 2024-10-19C语言_通讯录
    引言:当我们C语言语法大部分都学习完的情况下,可以尝试一些项目来提升自己,比如下面的这个通讯录。玩法介绍:我们需要对通讯录里面的个人信息进行增删查改以及排序等操作技能要求:学习完大部分的C语言语法知识。接下来我将创建三个文件:具备函数声明、宏定义、所需库函数的头
  • 2024-10-19冒泡排序(Bubble Sort)
    新人博主,创作不易,希望得到各位看官的三连支持!!!1、原理        冒泡排序是一种简单的排序算法,属于交换排序的一种。它通过重复地遍历待排序的数列,比较相邻的元素,如果它们的顺序错误就将它们交换过来。这个过程会重复进行,直到没有需要交换的元素位置,即数列已经排序完