• 2024-02-052024初三年前集训测试3
    2024初三年前集训测试3\(T1\)夕景昨日\(90pts\)部分分\(10pts\):输出No。\(20pts\):\(2^{n}\)的\(DFS\)暴力枚举能得到的所有数,用map里进行判断。\(90pts\):输出Yes。正解观察到\(1\len\le100000,0\lea_{i}\le500000\)。猜测\(n\)到达一
  • 2024-01-20LG9024
    一道简单的签到题。每两个栅栏之间就相当于构成了一个梯形,两边的栅栏分别为上底和下底,木板的宽度为高,因此按照梯形的面积计算公式计算每块木板的面积,再计算总和即可。代码如下:#include<iostream>#include<cstdio>usingnamespacestd;intn,a[100001],b[100001];doublea
  • 2023-12-21排序
    排序快排,归并排序之前已经熟悉不再赘述计数排序复杂度O(n+m)计数排序适于值域范围较小的数字排序,核心思想:每个数字出现几次统计完每个元素出现次数后,求一边前缀和,就知道了每个数字排完序后的序列中出席拿的为止的范围(第几小到第几小都是这个数字)把数字填入相应为止保
  • 2023-10-29位运算学习笔记 【蒟蒻版】
    位运算学习笔记基本概念:位运算:顾名思义,就是按位运算的意思,一般指二进制下的位运算**"&"按位与运算与运算:两个位都为1时,结果才为1,否则为0例子:100001&101011---------100001代码:100001&101011"|"按位或运算或运算:两个位都为0时,结果才为0,否则为1
  • 2023-10-26P4182 [USACO18JAN] Lifeguards P
    P4182[USACO18JAN]LifeguardsP更好的阅读体验提供一个比较优秀大常数的时间\(\mathcalO(nm)\),空间线性的做法。由于变量名冲突,本文中\(m\)均指题目中的\(k\)。推推性质,发现若区间包含了另一个区间,则一定删掉被包含的区间,正确性显然。这样我们得到了一些左右端点都递增
  • 2023-10-03HDU 5834 Magic boy Bi Luo with his excited tree
    题意:给出一棵\(n\)个节点的树,树上每一个节点都有一个权值\(v\),每条边都有一个代价\(w\),从一个点出发,经过一个点可以得到等同于其点权的收益,经过一个点可以得到等同于其点权的收益,经过一条边可以得到等同于其权值的代价,点权只会获得一次,但是代价会花费多次。对于每个点,询问从这个
  • 2023-09-13洛谷 AT_maximum_cup_2018_a フィギュアスケート界の貴公子埼大選手 の 题解
    这道题是一道水题,所以你的代码很可能与我相似或相同,如果你的代码出现了问题,你很可能在我的题解里找出答案。这道题大概思路是一旦$10$秒后运动员会接触到毛绒玩具,那么就加上在这个点上毛绒玩具的数量。但是!这道题有一道巨坑的点!由于这道题比较远古,所以说你即使是正解,你也要在
  • 2023-08-25拓扑排序学习笔记
    思想拓扑,一看就是从图的开始开始开拓,并按被开拓到的顺序排序拓扑排序的思想如下:将入度为\(0\)的点删除,并记录它被删除的顺序,直到没有点则结束程序图解如本图的拓扑序就为123541.发现1入度为0删除1,2/3的入度减\(1\)2.发现2入度为0删除2,5的入度减\(1\)3.发现3
  • 2023-08-17拓扑排序算法笔记
    思想拓扑,一看就是从图的开始开始开拓,并按被开拓到的顺序排序拓扑排序的思想如下:将入度为\(0\)的点删除,并记录它被删除的顺序,直到没有点则结束程序代码也十分简单:#include<bits/stdc++.h>usingnamespacestd;boolb[100001];intfat[100001];vector<int>v[100001];i
  • 2023-08-08【BZOJ 3364】Distance Queries 距离咨询 题解
    原题简化题意:有一棵\(n\)个点的树,\(q\)组询问,每次询问回答两点间的距离。令\(dis[i][j]\)表示\(i\)到\(j\)的距离,根节点为\(rt\),则有\(dis[i][j]=dis[rt][i]+dis[rt][j]-2×dis[rt][lca(i,j)]\),按照题意打即可。#include<bits/stdc++.h>usingnamespacestd;#d
  • 2023-05-04树链剖分学习笔记
    一棵树,支持:路径加单点查询一般树上链的问题使用树链剖分解决。重链剖分前置知识LCA,线段树定义重儿子:所有儿子中子树最大的儿子为重儿子重边:重儿子之间的连边重链:若干重儿子连成的链性质一棵树可以被剖成若干重链。优先遍历重儿子,所有重链的dfs序连续。重链数量不
  • 2023-05-03「模板」前缀和
    阿巴阿巴阿巴输入n个数,给出m个询问,询问区间[x,y]的和。输入第一行为n和m,1<=n,m<=100000接下来一行为n个数,范围在0~100000之间接下来m行,每行两个数x,y,输出第x个数到第y个数之间所有数的和。保证x<=y输出m个数tips:1#include<bits/stdc++.h>2usingnamespacestd;3
  • 2023-04-11[NOIP2011]铺地毯
    算法比赛真是属于同类比赛中最耗时间的了,有时候一个题一个小时都拿不下。不说了先看下这个题的解法#include<bits/stdc++.h>usingnamespacestd;inta[100001],b[100001],g[100001],k[100001];intn;intx,y;intcnt=-1;intmain(){cin>>n;for(inti=
  • 2023-04-03《论交换ab的值的四种写法》
    文章目录0.目的1.临时变量2.加法交换律3.异或操作符4.python写法0.目的看到了<小学生Vita老师>的视频感觉很好玩,因此仅对视频内容做补充和记录1.临时变量a;a b:bintt=a; -> a:a b:b t:aa=b; -> a:b b:b t:ab=t -> a;b b:a: t:a
  • 2023-03-23树上问题整理
    简单二叉树1.首先是树的遍历问题:树的先序中序后序遍历主要就是中序决定了这颗树长什么样,中序找根分为左右子树,然后再不断去查找!!!这个点挺重要的。如果是知道前序
  • 2023-02-14P8827 [传智杯 #3 初赛] 森林 题解
    题意有一颗树,每个点有一个点权\(v\)。现在要对这棵树进行\(m\)次以下三种操作之一:删除一条边。修改一个点的点权。查询一个点\(u\)所在的树的点权之和。
  • 2022-12-25LIS之nlogn做法
    一.LIS题目传送门给定一个长为\(n\)的序列\(a_i\),求这个序列的最长单调上升子序列长度。\(1\)≤\(a_i\)≤\(n\)≤\(10^5\)二.解析\(n^2\)解法在此不再赘述,显然此方
  • 2022-12-14P5366 [SNOI2017]遗失的答案
    链接:https://www.luogu.com.cn/problem/P5366题目描述:有\(n\)个数\(1\)到\(n\),给定\(q\)组询问,每组询问形如求选择一些数且必须选\(x\)且最大公约数为\(G\),最小公倍数为
  • 2022-12-14[CmdOI2019]任务分配问题
    链接:https://www.luogu.com.cn/problem/P5574题目描述:将序列分为\(k\)段,最小化每一段的顺序对之和。题解:将序列分为\(k\)段,这样让我们想到\(dp\)。令\(dp_{i,j}\)表示划
  • 2022-12-14[SCOI2015]小凸玩矩阵
    [SCOI2015]小凸玩矩阵链接:https://www.luogu.com.cn/problem/P4251题解:可以发现去掉了$k$的限制之后,原问题是一个二分图的最大独立集的问题,加上了$k$的限制就可以
  • 2022-11-17100001 求三角形面积已知底高
    <?phpheader('Content-Type:text/html;charset=utf-8');include'./assets/php/head.php';/***求三角形面积已知底高*已知底是30,高是20**/$val='3020';
  • 2022-10-18P2865 [USACO06NOV]Roadblocks G
    #include<bits/stdc++.h>usingnamespacestd;#definepiipair<int,int>#definempmake_pairpriority_queue<pii,vector<pii>,greater<pii>>q;i
  • 2022-10-01P4084 [USACO17DEC]Barn Painting G
    #include<bits/stdc++.h>usingnamespacestd;constlonglongmod=1e9+7;classDP_on_tree{public: #definelllonglong lln,k; llfree[100001]; llf
  • 2022-08-16最大子段和动态规划
    【问题描述】八戒押x两银子,猫掌柜给定一个乱序数组arr,长度为N,有正数也有负数,正数表示赢钱,负数表示输钱。求arr的一个连续子数组,使得子数组的和最大,这样八戒才能尽可能