Tot
  • 2024-11-19noip模拟17
    A选取字符串会\(n^2\)。直接枚举全部的\(q,p\)然后开一个二维的bitset去存一个数是否是某个数的前后缀。选到两个\(p,q\)时把这两个数的bitset与起来,贡献是\(\binom{count}{k}\)。正解就是先用kmp去求出来全部的border,然后用border关系建一棵树,这棵树上满足
  • 2024-11-17很不牛的踹
    某天%你赛出现了一个题目。我瞎几把做了一下发现需要支持一个区间异或和全局查\(\geqk\)的数量的数据结构。赛后想起来好像不可做。但是我考场没有智慧,发现不能线段树。然后想到分块,就变成了几个整块全局异或和散块暴力重构。于是考场搓了个踹。自己随便测了一下好像是对的
  • 2024-11-15一种基于 pb_ds 的更好写且常数更小的离散化方式
    一般大家实现离散化都是sort+lowbit但是这里也许有一种时间复杂度更优一点且更好写的实现,适合卡常时使用我们需要使用pb_ds的hash表,不会的可以看我的这篇文章与正常离散化不同的是,我们使用gp_hash_table来代替离散化,同时还可以省去去重的步骤由于哈希表单次操作的
  • 2024-11-15Medium Design
    问题描述给\(n\)个区间,你可以任意选择给出区间的一部分,换句话说,你可以任意选择一个给出区间的所有子集(包括空集),然后你要进行以下的操作:对于选择的区间,我们要进行整体加操作,即如果你选择了\([l_i,r_i]\),那么对于所有的\(a_j,j∈[l_i,r_i]\)都要加\(1
  • 2024-11-11NOIP2024模拟赛#18 总结
    头要炸了。T1题面很好懂,手玩了一下发现答案最小是\((m-1)\timesn\)。可能会多出来一个长度为\(k\)的部分,会发现如果多出来一个长度为\(k\)的部分且合法,那么单个串\(1\simk\)位与\(n-k+1\simn\)位一定相同,\(k+1\simn\)位与\(1\simn-k\)一定相同。Hash判一下即
  • 2024-11-0820240914 模拟赛
    20240914模拟赛A开挂(openhook)可以发现结果序列是能确定的,而且我们并不关心具体对哪个数进行操作,有用的信息只有操作次数,从而可以得到一个数组\(c\)表示对某个数操作了某个次数。设对\(tot\)个数进行了操作,将\(c\)从小到大排序,将\(b\)中的前\(tot\)小从大到小排序,于
  • 2024-11-06多校A层冲刺NOIP2024模拟赛18
    多校A层冲刺NOIP2024模拟赛18T1选彩笔(rgb)签到题,但是没签上。。。没想到三维前缀和,直接上了个bitset。就是直接二分答案,然后枚举这三维每维的区间的起点,前缀和查数量是否大于等于$K$即可,也可以把二分答案改为第一维的双指针,少一个$log$。T2兵蚁排序(sort)比T1还签
  • 2024-11-042024.11.05 刷题训练
    2024.11.05刷题训练P7054NWRRC2015Graph构造题,把拓扑序中的队列换成小根堆是最小字典序,此时设置一个大根堆,用于处理连边问题。设\(lst\)是上一个拓扑序中的节点。小根堆堆顶大于大根堆,当前位置最优解,不耗费连边数量。小根堆堆顶小于大根堆,若\(k\)不为\(0\)加入到大
  • 2024-11-032024-11-03:得到更多分数的最少关卡数目。用go语言,Alice 和 Bob 正在进行一个有 n 个关卡的游戏,其中每个关卡要么是困难模式(possible[i] == 0),要么是简单模式(
    2024-11-03:得到更多分数的最少关卡数目。用go语言,Alice和Bob正在进行一个有n个关卡的游戏,其中每个关卡要么是困难模式(possible[i]==0),要么是简单模式(possible[i]==1)。玩家在游戏中获得分数的规则如下:通过简单模式的关卡可得1分,而遇到困难模式的关卡将扣除1分。Alice从
  • 2024-11-02打卡信奥刷题(161)用C++信奥P1451[普及组/提高] 求细胞数量
    求细胞数量题目描述一矩形阵列由数字000到999组成,数字
  • 2024-11-01图论基础
    图论基础图的存储图的遍历最小生成树kruskal算法prim算法最短路Dijkstra算法Bellman-Ford算法SPFA算法Floyd-Warshall算法图论基础拓扑排序一笔画问题关键路径差分约束基环树DAG边集数组采用结构体存储边,包括边的起点、终点、权值等信息,这个结
  • 2024-11-01abc318_g Typical Path Problem 题解 圆方树
    题目链接:https://atcoder.jp/contests/abc318/tasks/abc318_g题目大意:给出一个有\(n\)个顶点和\(m\)条边的无向连通图\(G\),没有重边和自环。顶点的编号为\(1\simn\),边的编号为\(1\simm\),第\(i\)条边连接顶点\(u_i\)和\(v_i\)。给出图上三个不同的顶点\(A,B,C
  • 2024-11-01『模拟赛』多校A层冲刺NOIP2024模拟赛17
    Rank一般A.网络签不上的签到题。首先考虑枚举路径的做法,如果先枚举再计算的话复杂度会是\(\mathcal{O(\binom{n+m-2}{n-1}(n+m))}\)的,稍微优化一点的过程中可以去掉后面的\((n+m)\)。考虑此时我们要记什么,首先遇到加号其前面的值\(z\)就确定了,若上个符号为乘号那么
  • 2024-10-31多校 A 层冲刺 NOIP2024 模拟赛 16
    多校A层冲刺NOIP2024模拟赛16T1四舍五入签到题注意到一个数是否会入上去只和其剩余系有关,即满足\(i\modj<\frac{1}{2}j\),会入上去,考虑枚举j的倍数,其贡献就成了一个区间,差分即可。时间复杂度是调和级数的,为\(O(n\lnn)\)。T2填算符贪心,特殊性质显然将所有\(\&\)放
  • 2024-10-30网络流最大流
    EK#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#definelllonglongconstintmaxn=5000+10,inf=0x3f3f3f3f3f3f3f3f;inttot=1,head[maxn],n,m,s,t,dis[maxn*4],pre[maxn*4],ans=0,flg[maxn][maxn];boolvis[maxn*4];structno
  • 2024-10-282021 icpc 上海
    H题LifeisaGame题解重构树第一次听说就是最小生成树但是每次加上一个虚拟的点点的权重是两点相连的边权然后从边权越大的点在更上面所以如果我可以到达一个点我就一定可以到达他下面的所有点并且获得下面所有点的权重(经验)怎么判断我从一个点出发能不能到达呢我先预处
  • 2024-10-27DYN / 消防局的设立 / Spread of Information / 将军令 题解
    前言四倍经验:[POI2011]DYN-Dynamite;[HNOI2003]消防局的设立;[ARC116E]SpreadofInformation;将军令。题意简述给你一棵\(n\)个结点的树和点集\(S\),你要选出\(k\)个关键点\(T\),求\(\min\max\limits_{u\inS}\min\limits_{v\inT}\operatorname{dis}(u,v)\)
  • 2024-10-25E71 树形DP+二分 P3523 [POI2011] DYN-Dynamite
    视频链接:   P3523[POI2011]DYN-Dynamite-洛谷|计算机科学教育新生态//树形DP+二分O(nlogn)#include<iostream>#include<cstring>#include<algorithm>usingnamespacestd;intread(){intx=0,f=1;charc=getchar();while(c>'9'||c
  • 2024-10-24圆方树
    圆方树前置知识点双连通分量以下简称点双连通分量为点双。定义设$G=(V,E)$是一个连通无向图,$K$是$G$的点双,如果$K$中任意两点$u,v$都有路径相连,则称$K$是$G$的点双。性质两个点双最多有一个公共点,且这个点为割点。对于一个点双,它在DFS搜索树中dfn值
  • 2024-10-24The sol of coin(搜索减脂版)
    Thesolofcoin(搜索减脂版)https://www.luogu.com.cn/problem/P3878这题是模拟退火的板子,但这里先讲搜索(刚好练练搜索)搜索减脂\(1.\)按价值从大到小排序,你一不小心取的价值太大会被剪枝\(2.\)最多取n/2个金币,你取得太多是要被剪枝的codewith注解#include<bits/stdc++.
  • 2024-10-23圆方树学习笔记
    元方树。下文除特殊强调外,所有图皆为无向图。引入割点:在图中,删除某个点后,导致图不再连通的点。点双连通:在一张图中,取两个点\(u\)、\(v\),无论删去哪个点(除\(u\)、\(v\)自身外),\(u\)、\(v\)都能连通,我们就说\(u\)和\(v\)点双连通。点双连通分量(后文称点双):对于一个无向
  • 2024-10-22题解:AT_joisc2019_k 合併 (Mergers)
    题目传送门前言联考题,被初一的我切了。看到题解区里没有Tarjan做法,于是来补一篇Tarjan题解。分析因为相同州的城市不会分裂,所以可以给相同州的成市连边(注意不是两两连边,连成一个环就行),发现把国家分成两个部分就相当于断掉一条道路。那么如果整个国家就是一个边双连通分量,
  • 2024-10-22「Day-4 提高笔记-LCA最近公共祖先」
    #include<iostream>usingnamespacestd;constintMAXN=5*1e5+5;structnode{ intto,next;}e[MAXN*2];intf[MAXN][20],dp[MAXN];//f[x][i]表示x的第2^i个节点的编号inth[MAXN*2],tot=0;intn,m,s;voidadd(intx,inty){ e[++tot]={y,h[x]}; h
  • 2024-10-22P1439 【模板】最长公共子序列
    P1439【模板】最长公共子序列实际上这题不能算dp,应该是贪心。先区分两个概念:LIS:LongestIncreasingSubsequence,最长递增子序列LCS:LongestCommonSubsequence,最长公共子序列将b数组中的元素映射为其在a数组中的位置,问题就从LCS变成了LIS。在求解LIS时,开一个单
  • 2024-10-22折半搜索学习笔记
    引入\(1.\text{以经典例题引入:}\)有一个长度为n的序列a,任选一些数求能组成的小于m的数的方案数(0不算)\(\quad\text{看完题目第一反应,这不就是裸01背包吗?m为容量}\)\(a_i\text{为价值和体积,轻松AC。}\)\(\quad\text{我们再来看一下数据范围}\n\le40\a_i\le10^9\m\le4*10^