- 博客(84)
- 收藏
- 关注
原创 【AGC005D】~K Perm Counting(计数抽象成图)
注意到位置为id,权值为v ,不合法的情况,当且仅当 v = id+k或 v= id-k。dp(i,j,pd)表示考虑到第i号点, 连了j条边,是否有连接i 到 i-1号点。因此,我们把每一个位置和权值抽象成点 ,不合法的情况之间连一条边,可以构成二分图。由此可知,当选了n条边,就恰好n个位置不合法,限制条件是:连的边不能相邻,求出f(m) ,f(m)指代至少有m个位置不合法的方案数。由此总共有2n 个点 k 条链,链与链之间无边 互不干涉。把二分图展开成k条链,进行dp。简单的乘法原理罢了。
2024-10-01 18:52:56
3041
1
原创 【UR #1】外星人(dp思维技巧)
f[i][j]表示前i个数答案为j的方案数不选i 则加上f[i][j] 的方案数 * (n-i),ai可以在后面随便选。选i 则加上f[i][j] 的方案数,ai定在了i这个位置。
2024-09-26 17:56:51
257
原创 【欧拉函数变化】[SDOI2012] Longge 的问题
转化为 k*gcd(i/k,j/k) = 1 (i,j%k = 0)。本质就是利用互质转化到了欧拉函数的领域上。求和 gcd(i,j)
2024-09-25 17:34:32
425
原创 P4549 【裴蜀定理及其推广】
ax + bx2 + cx3 + knx = x 的充要条件是c%gcd(x1,x2,x3..xn)ax + by = c 有整数解的充要条件是 c%gcd(a,b) = 0。由此可知,ax + by (x,y 整数) 的最小值是 gcd(a,b)
2024-09-25 15:53:30
314
原创 P1495 【模板】中国剩余定理(CRT)/ 曹冲养猪
原理构造法令ans = c1 + c2 .. + cnci = 余数 * (c1乘到cn但不乘ci)* (c1乘到cn但不乘ci 的逆元,模ci意义下)定理:在模M = c1乘到cn 意义下,解唯一。
2024-09-24 17:09:55
340
原创 P3861 拆分【dp优化技巧 数学】
则拓宽边界采用f[i][j] += f[pos][j-1];//本质上就是加上了a[j]*a[pos] 的方案 (单对多)记f(i,j) 表示a[i]被拆分成若干个(数量不限)
2024-09-24 07:43:41
279
原创 Lanterns (dp 紫 线段树 二分 维护dp)
让所有点被覆盖,那么状态可以设计成覆盖一段前缀,并且中间不允许出现断点由于CF崩了,所以暂时没提交代码。记f(i) 为前 i 个灯笼点亮的最长前缀。由于答案具有保留性,所以单调性成立。由此推转移方程。共鸣:i 与 t (i > t) 号灯,可以完全覆盖1至i ,条件 f(t)>= i - a[i] -1 至少自给自足。max_range(l,r) 区间[l,r]最大的i + a[i]对于第二种情况,我们在3中特判。from i :i如果往左看,from i 到 i-1 就向右看。
2024-09-21 23:17:38
499
原创 KMP 详解
和求kmp差不多,如果匹配不上,求让a[i]和以j结尾的连续子串的最长前缀匹配。退出循环后,若还能匹配上则j++(本质是,加上i的贡献。则kmp[i]表示 以i结尾的连续子串 = s的前缀的最大值(等价于前缀最大结尾处)则,让j = kmp[j] 即成为以j结尾的 连续子串 的 最长前缀 尾部的下标。如果b[j+1]!= b[i]下一个位置匹配不上(即不能成为前缀)当匹配不上时,匹配串b至少会前移1位,由指针的思想。j 表示上一个字符可以成功匹配的长度(等价于下标)然后让kmp[i] = j即可。
2024-09-05 17:24:41
400
原创 P3572 [POI2014] PTA-Little Bird
注意力惊人。注意到,只有两种决策 选高过自己的树中代价最小的。或者 选低于自己的树种代价的最小的+1。由此,维护一个优先队列即可。
2024-08-14 13:31:58
500
原创 异象石【set、lca、dfn与遍历思想】
在Adera的异时空中有一张地图。这张地图上有N个点,有N−1条双向边把它们连通起来。起初地图上没有任何异象石,在接下来的M个时刻中,每个时刻会发生以下三种类型的事件之一:地图的某个点上出现了异象石(已经出现的不会再次出现);地图某个点上的异象石被摧毁(不会摧毁没有异象石的点);向玩家询问使所有异象石所在的点连通的边集的总长度最小是多少。请你作为玩家回答这些问题。下图是一个例子,* 节点表示出现了异象石(图中有5个),双线的边表示被选为连通异象石的边集(图中有6条)。
2024-08-13 15:38:27
392
原创 P5836 [USACO19DEC] Milk Visits S(树上并查集)
对于相同颜色且相邻的点合并。若在同一集合,同色1 异色0。若不在同一集合,则0。
2024-08-13 10:39:51
308
原创 【唐氏题目 nt题】与众不同
与众不同## 题目描述A是某公司的CEO,每个月都会有员工把公司的盈利数据送给A,A是个与众不同的怪人,A不注重盈利还是亏本,而是喜欢研究「完美序列」:一段连续的序列满足序列中的数互不相同。A想知道区间[L,R]之间最长的完美序列长度。## 输入格式第一行两个整数N,M,N表示连续N个月,编号为0到N−1,M表示询问的次数;第二行N个整数,第i个数表示该公司第i个月的盈利值ai;接下来M行每行两个整数L,R,表示A询问的区间。## 输出格式。
2024-08-12 19:53:43
560
1
原创 论线段树=八股文
五大函数:建树、更新、查询、以下推上、以上传下。写出这五大函数,一道线段树的题目就写完了。考虑子状态的转移,推导出父节点状态即可。
2024-08-11 19:54:56
309
原创 P5677 [GZOI2017] 配对统计(线段树爆改莫队)
贵州的省选,线段树代码太长了,直接莫队启动。时间复杂度O(n sqrt(n))加了个奇偶优化。先按块排左指针。同一块内右指针按照块的编号奇偶性决定升序或者降序。
2024-08-09 15:03:20
688
原创 【CF27D】Ring Road 2(二分图、紫题)
第一道独立AC的紫题。(十分激动)## 题面翻译有n个城市,1->2->3->...->n->1,形成一个环,现在要添加m条给定的路,路可以建设在环内或环外,求如何建设可以使得新的路两两不相交(端点除外)。## 题目描述## 输入格式## 输出格式## 样例 #1### 样例输入 #1```4 21 32 4```### 样例输出 #1```io```## 样例 #2### 样例输入 #2```6 31 33 55 1```
2024-08-08 21:52:49
1176
原创 P5921 [POI1999] 原始生物(欧拉路plus)
某一个连通块缺了x个入度,则则连x-1条可构成欧拉路径(可以有两个点少1或者多1)。则一个连通块的贡献是(m-1)。(不用回到起点,所以不必为m)这里,可以感性地理解成增加了x-1条边,就会有x-1个点被调用。由于有向图 :入度总和 = 出度总和 所以,必然可以匹配成功。初始化一下,ans = m+1(至少的数量)一条点如果m为其入度,则他会被使用m次。若不存在,则考虑添加x条边来达到目的。将出度不够的点连一条于入度不足的点上。考虑图中存在 c 个连通块。考虑每一个连通块的贡献。
2024-08-08 16:06:43
214
原创 P3469 [POI2008] BLO-Blockade(组合数学的割点)
/向上处理 ,判断删去之后上方节点的大小。//单纯自己与别人匹配。sum表示当前u删去后新增的连通块大小(实时更新)则ans[u] += (sum*size[v])若u为割点,则判定点v构成的子树与u不连通。size[u]子树大小。
2024-08-08 10:25:12
147
原创 【模板】2-SAT - 洛谷
若每一条件的一半不满足,则另一半一定要满足。让d(u,v) 表示u,v可否由u退出v。若有解,要满足u不能推出u+n或者反过来。u 表示变量 u 取0 ,u+n取 1;处理方式:tarjan建立图,求连通分量。因此,变量会有可否相互推出的关系。若u与U+n连通则无解。判断u,v的连通性。
2024-08-07 13:42:02
316
原创 单调栈、组合数学
过去的不好删去,我来做最近的好。____单调栈如是说。子问题,当做求同一直线上的最大矩阵(单调栈)本质:分成子问题,每一行一个问题来求解。左边,不能取等,来保证唯一性。右边,可以取等,以保证多样性。考虑一个点为中央,何以去重?
2024-08-02 13:52:53
291
# AHOI2008 紧急集合 / 聚会
2024-08-13
【动态规划】超时优化
2023-06-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人