- 2024-12-07P4791 [BalticOI 2018] 蠕虫之忧
[BalticOI2018]蠕虫之忧题目描述题目译自BalticOI2018Day1「WormWorries」本题是一道交互题。在一个三维空间(我们限制大小为N×M
- 2024-12-05delphi内存表
delphi内存表1)TClientDataSet早年datasnap基于COM,datasnap远程方法函数可以返回OLEVariant,TClientDataSet.Data和TClientDataSet.Delta的数据格式都是OLEVariant。delphi数据集通过TDataSetProvider桥梁转换为OLEVariant。DSP+CDS组合,firedac,unidac,ado,bde,dbx。。所有数据
- 2024-11-23FDQuery的分页
分页方法,其中PageSize为分页大小,PageIndex页码,0为第一页,RecsSkip可以通过 PageSize*PageIndex计算出来,如下: procedureTForm1.PagingQuery(Query:TFDQuery;PageSize,PageIndex:Integer);beginQuery.Disconnect;Query.FetchOptions.RecsSkip:=PageSi
- 2024-12-08用CAS思想实现一个自旋锁
publicclassSpinLockDemo{//原子引用线程AtomicReference<Thread>atomicReference=newAtomicReference<>();publicvoidmyLock(){Threadthread=Thread.currentThread();System.out.println(thread.getName()+"\t
- 2024-11-27HarmonyOS Next 中 FIDO 认证的安全漏洞与防范措施
本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)中FIDO认证可能存在的安全漏洞及相应防范措施,基于安全研究与实际经验进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作
- 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]\)