- 2024-11-16ABC380题解(F&G)
ABC380F.ExchangeGame因为\(n+m+k\leq12\),考虑状压dp,设\(f(x,s1,s2,s3)\)表示先手,后手,桌子上的牌分别是哪一些,这有\(O(3^n)\)种状态。然后只要枚举出哪一张即可,有\(f(s1,s2,s3)\tof(s2,s1-i+j,s3+i-j)(i\ins1,j\ins3,a_j<a_i)\)\(f(s1,s2,s3)\tof(s2,s1-i,s3+i
- 2024-11-05delph12中创建sqlite数据库和表的过程
varconn:TFDConnection;qry:TFDQuery;beginconn:=TFDConnection.Create(nil);tryconn.DriverName:='SQLite';conn.Params.Values['Database']:='C:\path\to\your\database.db3';//指定数据库文件路径conn.Connected:=True;qry
- 2024-10-24P2839 [国家集训队] middle(二分+可持久化线段树)
P2839[国家集训队]middle二分+可持久化线段树中位数经典做法,二分答案,将小于的部分看做\(-1\),大于等于的部分看做\(+1\),那么答案可以更大的条件就是区间和大于等于\(0\)(等于\(0\)可不可以取到看是下取整还是上取整,本题是上取整)。那么问题就是怎么判断有没有这样一个区间
- 2024-10-07LOJ 6041 事情的相似度 题解
Statement先把串reverse,多次给\(l,r\),求\[\max_{l\lei<j\ler}\{\text{LCP}(i,j)\}\]Solution\(\text{sqrtlog}\sim\text{sqrt}\):莫队+线段树/树状数组/set,用SA做\(nm/\omega\):bitset乱搞\(\log^2\):SAM+LCT+BIT在parent树上,LCP等于LCA的
- 2024-07-25CF1843F2 题解
题面注意到边权只有\(1,-1\),所以有结论:存在值为\(v\)的子段当且仅当\(v\in[\)最小子段和,最大子段和\(]\)。证明:因为移动区间端点,区间和变化连续(+1/-1),从最小子段移动到最大子段,子段和一定经过\(v\),所以得证。于是只要树剖维护最小最大子段和即可。和线段树上维护的数据
- 2024-07-20莫队
莫队假设\(n,m\)同阶,对于序列上的区间询问问题,如果得知\([l,r]\)的答案,可以在\(O(1)\)的时间推算出\([l-1,r],[l+1,r],[l,r-1],[l,r+1]\)的答案,那么我们就可以在\(O(n\sqrt{n})\)的时间求出所有询问的答案。普通莫队实现将所有的询问离线后以左
- 2024-07-11CF506D题解
Mr.Kitayuta'sColorfulGraph算法:根号分治。题目大意先说一下:给一个\(n\)点\(m\)边的无向图,边有颜色。\(q\)组询问,每次给出\(u,v\),求有多少种颜色\(c\),使得存在一条\(u\)到\(v\)的路径,这个路径中每条边的颜色都为\(c\)。先考虑一个朴素的暴力,暴力对每个颜色加边,
- 2024-07-04P10589 题解
经典题。tag:数状数组。开一个权值树状数组,从左往右遍历,统计左边比\(y_i\)小的数字个数\(ul_i\)与比\(a_i\)大的数字个数\(dl_i\);然后从右往左遍历,统计右边比\(y_i\)小的数字个数\(dr_i\)与比\(a_i\)大的数字个数\(ur_i\)。两个答案即为\(\sum_{i=1}^ndl_i\cdo
- 2024-04-24[AGC001F] Wide Swap
[AGC001F]WideSwaptrick+拓扑排序+线段树好题看到题目的操作,显然是复杂、不好的。为什么?交换操作是无序的,我们不知道交换后对各个部分的影响,难以分析。这时候我们注意到\(|P_i-P_j|=1\)的性质非常特殊,考虑从这里入手。如果以值域为系,那么会发现排列中的每个下标的交换在值
- 2024-04-20POI2011LIZ-Lollipop
POI#Year2011#构造#妙妙题假设能取到\(x\),那么\(\forally\),\(x,y\)奇偶性相同,\(x>y\),\(y\)一定可以是\(x\)的一个子区间,处理奇数和偶数的最大值,离线,从大到小做//Author:xiaruizeconstintN=1e6+10;intn,m;inta[N],s[N];piist,en;piiqry[N];p
- 2024-03-30delphi ORM和泛型模板
delphiORM和泛型模板实现CRUD1)定义数据模型(data-model)数据模型是ORM数据序列/还原所必需的。TTable<T:record>=record//1个表rows:TArray<T>;//表的行end;TTable2<T,T2:record>=record//2个表table1:TTable<T>;
- 2024-03-01Codeforces 1406E Deleting Numbers
考虑询问每个质因子及其次数最后组合得到\(n\)。注意到\(n\)最多只会有\(1\)个\(>\sqrt{n}\)的质因子。于是考虑分成\(\le\sqrt{n}\)和\(>\sqrt{n}\)来考虑。对于\(\le\sqrt{n}\)的\(p\)。考虑先\(\texttt{B}\p\),那么还剩下的\(p\)的倍数就只有\(x\)
- 2023-12-17DELPHI模板编程
DELPHI模板编程procedureTCRUD<T>.execsql(OnTableModel:TTableModel);//执行事务性SQLbeginifreq.Body=nilthenExit;varpool:TDBPool:=GetDBPool(dbid);//databasepooldb:=pool.Lock;trytrytable:=serialize.TSerial<TTab
- 2023-09-06XJTUPC2023
J.大秦酒店欢迎您题解我们考虑莫队首先我们预处理出处于位置\(x\)的颜色下一次出现的位置\(nxt[x]\)以及上一次出现的位置\(pre[x]\)莫队上维护一下信息:\(Ans\):\([l,r]\)的所有子区间的颜色数之和\(num\):\([l,r]\)的颜色数\(Lans\):\([l,l],[l,l+1],[l,l+
- 2023-08-26莫队-题1
XORandFavoriteNumber题解我们考虑将问题进行转化对于一个区间\([l,r]\)中有多少个子区间异或值为\(k\)这个问题,我们考虑到异或的前缀性质,对其进行差分即:令\(pre_i\)为\([1,i]\)的前缀异或和,对于\(i,j\in[l,r],i\leqj\),且\(pre_{i-1}\opluspre_j=k\)那么问题
- 2023-08-21rtti设置record的值
rtti设置record的值uesesystem.rtti;classprocedureTrows.scan<T>(constaRec:T;instance:Pointer;ds:TDataSet);beginvarrtx:TRttiContext:=TRttiContext.Create;varrt:TRttiType:=rtx.GetType(TypeInfo(T));if(rt=nil)thenExit;for
- 2023-07-11洛谷 P6109 - [Ynoi2009] rprmq1
首先将修改操作差分为\(l_1\)时刻给\([l_2,r_2]\)中的值\(+v\),\(r_1+1\)时刻给\([l_2,r_2]\)中的值\(-v\)。这样第\(i\)行的状态相当于执行\(1\simi\)时刻的操作后的状态。猫树分治,把一个询问挂在线段树上满足\(l\lel_1\lemid\ler_1\ler\)的区间\([l,r]\)
- 2023-07-03[CCO 2023] Line Town
场上有点降智……其实会了互不相同的sub就可以会第一个sub甚至正解的。题意给定一个序列\(a_i\),\(|a_i|\leq10^9\),每次可以选两个相邻元素\(\texttt{swap}\),然后将两个元素同时取反。问最少操作几次可以使数列不降。做法场上做法考虑\(|a_i|\)互不相同的部分分。我们
- 2023-04-25CF1822G2 - Magic Triples
比较好的题目,别的不说,G1对G2有着不错的启发性。首先,因为\(b>0,a_k\le10^9\),所以\(b\)不可能超过\(\sqrt{a}\)考虑对\(b\)分类讨论,设置一个阈值\(B\),先处理\(b=1\)的情况,其实就是取三个相同的数然后排列,可以比较简单的排序之后做到\(O(n)\)。接着手写一个哈希表用
- 2023-02-14json查询
json查询procedureTFunc1549.select(req,res:TSerialize);vardb:tdb;pool:tdbpool;jo:variant;begintrytrypool:=GetDBPool('1');
- 2023-01-28rest开发步骤
rest开发步骤1)代码工厂自动生成RESTCRUD代码。自动生成的代码:unitrest.tunit;//代码由代码工厂自动生成//2023-01-2813:20:07{$Idef.inc}interfaceuses{
- 2022-12-30LOJ #2776. 「BalticOI 2018」蠕虫之忧
题面传送门拼图题/fn首先考虑先搞一个通解出来。考虑一维的情况,显然是二分,设区间\([l,r]\),询问\(mid\)和\(mid+1\)的大小关系,如果\(H_{mid}<H_{mid+1}\),则\([mid+1,r]\)
- 2022-08-20delphi基于结构的CRUD(JSON)
delphi基于结构的CRUD(JSON)以采购订单为例。unitrest.tcgddtcgdd2;//代码由代码工厂自动生成//2022-08-2016:04:54{$Idef.inc}interfaceuses{$IFDEFfiredac
- 2022-08-20delphi基于结构的CRUD(protobuf)
delphi基于结构的CRUD(protobuf)以采购订单为例。unitproto.tcgddtcgdd2;//代码由代码工厂自动生成//2022-08-2016:04:14{$Idef.inc}interfaceuses{$IFDEF
- 2022-08-16BIT学习笔记
基础树状数组:先放一张图:图中黑色的框为\(a\)数组(原数组)。图中黑色的框为\(t\)数组(树状数组)。我们可以得到$t[i]=\sum_{j=1}^{j\le2k}{a[i-2k+j]}$。在这里