• 2025-01-21[每日 B] Kevin and Geometry
    前言想着能做的题也不多,直接当每日一练的形式写就好了心态放平,冷静利用时间思路转化题意考虑一个等腰梯形的性质朴素的想法是,枚举\(b\),枚举\(c<b\),然后计算是否有对应的\(a\)满足\(\existsa,\existsa+2c\),特判\(c=0\)这样直接爆炸,考虑优
  • 2025-01-20[蓝桥杯 2023 省 B] 飞机降落
    [蓝桥杯2023省B]飞机降落原题链接:P9241[蓝桥杯2023省B]飞机降落解题思路考虑直接暴力的话,时间复杂度为\(O(n!×n×t)\)。首先,选择出这\(n\)架飞机的降落顺序,再按照题目模拟,能降就降。如果已经判断出来可以,那么在后面的\(DFS\)中直接退出即可。在已经判断判
  • 2025-01-202025/1/20课堂记录
    目录绿色通道最大连续和修剪草坪旅行问题绿色通道已经讲了好多遍了(2025/1/11,2024/12/21),现在详细捋一下思路首先上来,最有辨识度的就是“最长”空题段“最小”就是最大值最小——二分答案木材加工闻着味就过来了(详见2024/12/28)但这还和木材加工不太一样,check部分不
  • 2025-01-20基础DP 做题记录
    LuoguP1192台阶问题Link简要题意:给定台阶数\(n\le1e5\)和一步至多跨越台阶数\(k\le1e2\),初始在\(0\)级,求方案数\(\pmod{1e5+3}\)。思路:设\(f_i\)表示走到第\(i\)级台阶的方案数,题意直接说明了可以从前\(k\)级台阶转移过来,考虑每次在以经处理好的台阶前新加一级
  • 2025-01-19K. GCD of Set
    贪心。猜测最优方案一定可以满足至多只有一个集合的大小不为1点击查看代码#include<bits/stdc++.h>usingnamespacestd;inta[1000005];intcnt[1000005];vector<int>c[1000005];vector<longlong>s[1000005];intmain(){ ios::sync_with_stdio(false); cin.tie(0
  • 2025-01-19P8456 「SWTR-8」地地铁铁
    题意给定一张\(n\)点\(m\)边的01权无向图,求\((x,y)\)无序点对的数量使得\(x,y\)两点间存在一条同时经过0权边和1权边的简单路径。简单路径的定义是不经过重复点的路径。\(n\le4\times10^5,m\le10^6\)。分析路径问题考虑缩点,因为简单路径的定义是不经过重复点
  • 2025-01-19AGC018做题笔记
    AtcoderGrandContest018B-SportsFestival题目大意有\(N\)个人参加\(M\)个项目的运动会,这\(M\)可以至多被删去\(M-1\)个。第\(i\)个人会参加序列\(a_i\)中第一个可以被参加的项目\(a_{i,j}\)。现在要使参加人数最多的项目人数最少,求这个最小人数。解题思
  • 2025-01-17CSP2025 - 树形 DP
    CSP2025-树形DPT1「MXOIRound1」城市这个“树上两点距离之和”很典,让我们想到换根DP。首先求出\(\text{siz}_u\)和\(d_u\),分别表示子树\(u\)的大小和子树所有点到\(u\)的距离之和。接下来求出整棵树的所有点到\(\boldsymbolu\)的距离之和。考虑用\(d_u\)
  • 2025-01-142025省选模拟5
    2025省选模拟5这场比较简单,T1T2赛后都是没调打完就过了。既然改完了,而且现在也不想写啥题那就还是补下题解吧。T1枇杷树操作\(m\le300\),每次操作构成一颗新树。具体:用边权为\(w\)的边连接编号为\(x\)的树中的\(u\)号节点,编号为\(y\)的树中的\(v\)号节点。询问
  • 2025-01-12P11365 Ynoi2024 新本格魔法少女りすか
    P11365Ynoi2024新本格魔法少女りすか神奇的压位树状数组……思路序列区间查询操作,考虑分块。处理好散块与整块之间的贡献即可。散块对散块:每次询问的区间产生的散块用树状数组计算贡献,复杂度\(O(\summ_i\sqrt{n\logn})\)。整块对散块(区间):枚举整块,处理\(ressum_i\)
  • 2025-01-121.12 CW 模拟赛 T1. 括号序列
    思路根据赛时的检验,典型的动点问题的\(\rm{trick}\)并不能在这里使用,也就是说,分类讨论前缀+\(i\)+后缀前缀+\(i\)后缀+\(i\)是不可行的考虑括号串问题的常见做法,先将其赋值成\(1,-1\)之后进行处理你发现这种做法有枚举字段和的瓶颈,所以也不可行
  • 2025-01-12D - Coming of Age Celebration (前缀+差分)
    题目链接:https://atcoder.jp/contests/abc388/tasks/abc388_d题意:一共有n个外星人,每当有一个外星人成年后,成年的外星人就要给他一块钱(如果没钱就不给),返回操作后数组思路:模拟一下,可以把数组前面已经成年的外星人对下一个刚好要成年的外星人的钱数贡献记作前缀信息s,随着数
  • 2025-01-11拓补排序板子(邻接表实现)
    #include<iostream>#include<vector>usingnamespacestd;constintmaxn=2e5+5;vector<int>graph[maxn];//邻接表voidaddedge(intu,intv){graph[u].emplace_back(v);}intindegree[maxn];//入度表intmain(){intn,m;cin>>n>
  • 2025-01-11三种建图方式
    intn=20;//点的个数intm=21;//边的个数constintmaxn=25;//邻接矩阵建图intgra1[maxn][maxn];voidbuild(intn,intm,intfrom[],intto[],intweight[]){ for(inti=1;i<=n;i++) { for(intj=1;j<=n;j++)gra1[i][j]=0;//邻接矩阵清空 } for(inti=0;i<m;
  • 2025-01-11THUPC 2025 初赛 部分题题解
    持续更新中,目前只有\(\texttt{A,D,G,H,I,M}\)题题解。A.骑行计划题目描述小Rei有\(n\)天的假期,第\(i\)天她要骑行\(s_i\)分钟,每分钟骑行费用为\(c\)元。有\(m\)种骑行卡,第\(i\)种骑行卡售价\(w_i\)元,有效期\(d_i\)天,免费时间\(t_i\)分钟。小Rei可以
  • 2025-01-091.9 CW 模拟赛 赛时记录
    前言策略不变,继续搞看题\(4\)神秘,开骗\(\rm{T1}\)思路先考虑对于一个确定的\(a\)怎么做发现一个数能否被删除与删除的顺序无关,本质上是因为\(j,l\)并不因为操作而改变考虑到一个数能被删除,仅当其在前后缀中都不为最大值,也就是说可以\(\mathcal{O}(n)\)
  • 2025-01-08[CF2039G] Shohag Loves Pebae 做题记录
    link高级筛法题。每条路径的条件是很难求的,考虑将其转化。发现对于一条路径,点数为\(c=a\cdotb\),那么其条件是无用的:考虑其包含的所有点数为\(a\)的路径,需要满足这\(c\)个点的权值乘积不被\(a\)整除。进一步的,只有点数为质数的路径条件才有用。对于每个点\(i\),求出
  • 2025-01-071.7 CW 模拟赛 赛时记录
    前言这次没复习直接上,无敌了还是策略+时间分配,好好考看题大样例发的有点神经的\(\rm{T1}\)什么数数题,红温了,不太看得出来的样子\(\rm{T2}\)有点神秘\(\rm{T3}\)又是数数,无语了\(\rm{T4}\)神秘首先应该是普通难度,打不了的题先跳过,先拿暴力分,不要死
  • 2025-01-06可持久化数据结构
    可持久化数据结构呢,就是说这些数据结构,它们都非常持久(其实就是可以访问和修改历史版本的信息可持久化线段树可持久化权值线段树就是主席树如果你还不太了解,可以看看当然还有更普遍的可持久化线段树——支持区间修改的。考虑pushdown会影响下方历史版本的线段树信息,自然想到
  • 2025-01-05AAAT 笔记(P56491)
    实际上去掉主函数不长于线段树3。原理还没写#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#defineendl"\n"constintmaxn=4e5+5,INF=1e12;structtag{ intk,b; tag(intx=1,inty=0){k=x,b=y;}}rtag[maxn],vtag[maxn];structnode{ intmn
  • 2025-01-04AtCoder Beginner Contest 387 赛后复盘
    省流:A,B,C,D,FA-B模拟即可。C数位dp。首先我们先将问题转换为\([1,R]\)中蛇数的个数减去\([1,L-1]\)中蛇数的个数。设\(num_i\)为数字的第\(i\)位(从左往右数)。我们设\(f_{dep,mx,lim,ze}\)表示当前第\(dep\)位,首位为\(mx\),有没有达到上限,有没有前导零。那么
  • 2025-01-04P4229 某位歌姬的故事 题解
    题目描述\(T\)组数据,求有多少个长为\(n\)的数组\(h\)满足\(1\leh_i\lea\)和以下\(q\)条限制:\[\max_{l_i\lej\leh_i}h_j=w_i\]对\(998244353\)取模。数据范围\(1\leT\le20\)。\(1\len,a\le9\cdot10^8,1\leq\le500\)。\(1\lel_i\ler_i\len,
  • 2025-01-04ybt1678 独木桥
    1678:独木桥时间限制:1500ms内存限制:131072KB【题目描述】Alice和Bob是好朋友,有一天他们带了\(n\)个孩子过独木桥。为了方便,我们将问题抽象如下:将独木桥看成一个长度无限长的实数轴,将每个孩子看作数轴上的一个实数点。数轴从左到右坐标不断增大。孩子的位置用
  • 2025-01-02Solution - Luogu P11456 [USACO24DEC] Interstellar Intervals G
    首先对于这个问题有一个很直观的做法是直接DP。即设\(f_i\)为已经划分出\([1,i]\)部分,且最后一段段尾为\(i\)的方案数。但是这个题还涉及到了有的点可以不染色的情况,所以再设\(g_i\)为已经划分出\([1,i]\)部分,且下一段为\(i+1\)开头的方案数。对于转移\(f\),
  • 2025-01-01GESP2024年6月认证C++五级( 第三部分编程题(2))
    参考程序(线性筛法)#include<iostream>#include<vector>usingnamespacestd;constintMAXN=10000001;//最大数字范围//保存每个数的质因子数量vector<int>primeFactors(MAXN,0);voidlinearSieve(){//从2开始筛选for(inti=2;i<MAXN;