11 2024 档案

摘要:T1,注意点与边不同阶时分着开,别开小了。 T2 当dp数组由于太大开不下时,可以用记忆化搜索代替。 最长不公共子序列:首先可推出f[i][j]=min(f[i1][j],f[i][j1])(a[i]==b[j]),f[i1][j1]+1(a[i]!=b[j]),由于 阅读全文
posted @ 2024-11-23 21:28 煦阳gyy 阅读(3) 评论(0) 推荐(0) 编辑
摘要:T2。 注意到,要选择所有数的gcd为1 法1:可以发现,每个数最多有十个质因子,因为最小的前十个质因子乘积为6e9多,这样我们就可以状压每个数的质因子有无,我们可以先确定一个点一定选,状压代表这个数的每个质因子有无,在dp 法2:以gcd为节点,c[i]为边权,跑dij。其实很多题 阅读全文
posted @ 2024-11-21 21:27 煦阳gyy 阅读(4) 评论(0) 推荐(0) 编辑
摘要:T1,一个long long级的数开根号要用sqrtl,不能用sqrt。特判时要考虑一些极端情况。如果一个if成立后不进行其他别的操作,注意continuereturn 阅读全文
posted @ 2024-11-19 21:05 煦阳gyy 阅读(5) 评论(0) 推荐(0) 编辑
摘要:状压dp的通性是n常为十几,即2n不会炸,可以枚举状态,由一个状态转移到另一个状态。 基础状压dp,很简单,经常用到状态判重等,常用技巧为判断相邻位是否相同:将其左移一位后与上自己。将某一位1减去是i(1<<(j1))等等。例题1,例题2 三进制状压\( 阅读全文
posted @ 2024-11-14 21:40 煦阳gyy 阅读(5) 评论(0) 推荐(0) 编辑
摘要:T1,注意只要允许#define int long long就不要分着开。 T2,当我们要再一个序列中插入两种数/段,计算可能情况,可以分开差,依次算。 阅读全文
posted @ 2024-11-14 21:30 煦阳gyy 阅读(4) 评论(0) 推荐(0) 编辑
摘要:区间dp特点,可由小区间加上一堆运算推到大区间(板子) 或者一个序列,从中间扣掉一个/一堆点,扣掉后短处会连上,这种题也常用区间dp。(消除木块,恐狼后卫,最大收益,最小代价都是这种题),它们常要考虑删掉这段区间/点会产生的贡献,再加上外面的区间和,有时候还会开一些辅助数组或多开一个 阅读全文
posted @ 2024-11-12 20:52 煦阳gyy 阅读(3) 评论(0) 推荐(0) 编辑
摘要:倍增dp,其实就是dp有一维为走多少步,这个东西很大,没法硬枚举,恰好要求的是最值/路径和之类的东西,可将走多少步这一维i变为走2i。 注:long long用位运算不能用1<<i,要用1LL<<i(例1,例2) 倍增可用于维护树上某链最值 阅读全文
posted @ 2024-11-11 21:28 煦阳gyy 阅读(5) 评论(0) 推荐(0) 编辑
摘要:LCA做法千千万,倍增树剖占一半。LCA,我认为比较好用的是树剖版与倍增版,一般情况写倍增版,如果正好这题用树剖就写树剖版。倍增版其实就是用倍增处理出一个点向上跳几步是哪个点,然后求LCA时就先将深的点跳到浅的点齐平,再一起往上跳,注意不要调到公共祖先,而要跳到他的儿子处。模板 LCA过程中可求链上 阅读全文
posted @ 2024-11-09 21:34 煦阳gyy 阅读(9) 评论(0) 推荐(0) 编辑
摘要:线段树与树状数组都是十分经典的数据结构,其实能用树状数组解决的问题也都能用线段树解决,但线段树相比于树状数组常数较大。 单点修改区间查询 线段树做法,树状数组做法,其实单纯实现这个还是用树状数组较好(毕竟常数小还好写) 区间修改区间查询 只有区间加 树状数组做法,线段树做法 既有区间加又有区间乘,应 阅读全文
posted @ 2024-11-07 21:12 煦阳gyy 阅读(39) 评论(0) 推荐(0) 编辑
摘要:T1,注意对白三角形进行搜索,每次搜到曾经走过点判断能否构成三角形是错的,我本来以为我是从总三角形中去掉每条白边影响那里错了。 这启示我们什么? 即使对看起来最简单的地方也要进行严谨证明,不要一眼过。 然后可以想总三角形减异色三角形,就能做了 T2,注意如果要进行搜索,枚举每个点选不 阅读全文
posted @ 2024-11-05 21:28 煦阳gyy 阅读(4) 评论(0) 推荐(0) 编辑
摘要:RMQ(区间最值)问题,通常用ST表。 ST表不仅可以解决区间最大最小问题,还可以解决区间最大公因数/最小公倍数(例) 二维ST表(例),其实就是两个维度都进行倍增,但注意两个维度都要从0开始枚举,一个为0,一个不为时也要转移。 结合二分,当二分一个值(如区间 阅读全文
posted @ 2024-11-05 15:21 煦阳gyy 阅读(8) 评论(0) 推荐(0) 编辑
摘要:T1记住输出结果一定要与下发样例文件比对,不要像今天这样没输出空格。 T2判断一个区间内是否有元素重复经典trick,对每个位置开个lst[i],表示每个位置前面第一个与它颜色相同的位置,对于一个区间[l,r],若其中max {lst[i]} 阅读全文
posted @ 2024-11-04 21:35 煦阳gyy 阅读(6) 评论(0) 推荐(0) 编辑
摘要:T1题面,这题应改想到求两个的最长公共子序列(我没想到),然后涉及到一个trick,当dp数组值域很大时,可以将定义域与值域互换,然后再推就能A了。 T2题面,可以用dij求出每个点离它最近的关键点,然后枚举断边,用两边加。 阅读全文
posted @ 2024-11-01 21:27 煦阳gyy 阅读(5) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示