算法
文章平均质量分 83
___TRY_
无
展开
-
概率DP(洛谷/CF题目)
文章目录P3802 小魔女帕琪(简单排列组合)P1365 WJMZBMR打osu! / Easy(简单期望)P2634 [国家集训队]聪聪可可(树上期望)CF804D Expected diameter of a tree(树的直径+期望)CF16E Fish(简单状压+概率)P4562 [JXOI2018]游戏(质因数分解+组合数)P3802 小魔女帕琪(简单排列组合)所有的排列情况为(S=∑ai)!(S=\sum{a_i})!(S=∑ai)!。因此接下来考虑可以形成一个大招的情况数量即可。大招是原创 2023-03-23 16:38:10 · 349 阅读 · 0 评论 -
图论课后练习
图论原创 2022-11-03 14:58:03 · 142 阅读 · 0 评论 -
数据结构学习
数据结构学习原创 2022-10-29 10:53:07 · 307 阅读 · 0 评论 -
网络流练习
算法竞赛进阶指南网络流练习原创 2022-08-05 14:42:21 · 88 阅读 · 0 评论 -
图论洛谷简单习题
文章目录并查集并查集//此处优化为更新x的祖先时顺便更新了x父亲的祖先也为x的祖先int ff(x){return fa[x]==x?x:fa[x]=ff(fa[x]);}int join(int x,int y){x=ff(x),y=ff(y);x=fa[y];}P2661 [NOIP2015 提高组] 信息传递用并查集难的地方是在寻找父亲和合并过程的变化。要了解合并和寻找过程对题目变量的影响。一旦iii查询的xxx和iii不是直接父子关系,继续向上查找合并就应该算成另外一轮,并且是当前轮原创 2022-02-25 10:55:58 · 641 阅读 · 0 评论 -
tarjan理解与洛谷习题[习题链接](https://www.luogu.com.cn/problem/P2921)
文章目录tarjan理解与模板相关概念和变量强连通分量和缩点习题洛谷 P2341 [USACO03FALL / HAOI2006] 受欢迎的牛 Gtarjan理解与模板相关概念和变量强连通分量:在一个有向图中,某一些点(整个图的一部分,因此称作分量)之间可以互相到达(强连通)。这些点就组成了强连通分量。如下图中1,2,3,41,2,3,41,2,3,4组成一个强连通分量,而555单独一点成一个强连通分量,666也是单独一点作为一个强连通分量。时间戳dfn[u]dfn[u]dfn[u]:在dfs原创 2022-02-25 00:17:08 · 832 阅读 · 0 评论 -
状态压缩习题
文章目录洛谷P2704 [NOI2001] 炮兵阵地洛谷 P1879 [USACO06NOV]Corn Fields G洛谷 P1896 [SCOI2005]互不侵犯洛谷P2704 [NOI2001] 炮兵阵地题目链接因为列数仅为10,考虑使用状态压缩,用一个数字sss表示某行的炮兵放置情况,当sss二进制的kkk位为1,该行的kkk列就放置了炮兵。预处理: 因为要计算炮兵的数量,先计算每个状态sss的炮兵个数(即二进制中111的数量)sum[s]sum[s]sum[s]。状态设计: dp[i][原创 2022-02-19 13:20:46 · 462 阅读 · 0 评论 -
算法竞赛入门经典【第九章 动态规划】例题11-20
文章目录习题14 Perfect Service UVA - 1218(树形dp)习题14 Perfect Service UVA - 1218(树形dp)题目链接题目大意: 是一棵树,每个点只能和恰好一个服务站相连,但是服务站本身可以和服务站和普通站点连接,求最少需要建立的服务站个数。状态设计和转移: 设当前节点uuu的子节点是vvv,首先随便选节点1作为根,将无根树转化为有根树。接下来给节点分几种情况:0. 本身不是服务站,父亲是服务站:孩子从1转移来,答案是∑dp[v][1]\sum{dp[原创 2022-02-18 00:16:29 · 296 阅读 · 0 评论 -
记忆化搜索(dp+dfs)讲解及例题
文章目录原理原理一般dp的状态转移是有序的,比如最经典的斐波那契数列:原创 2022-02-15 21:03:22 · 734 阅读 · 0 评论 -
数位dp思路总结及洛谷例题讲解
文章目录数位dp例题讲解例题1数位dp一般问题描述:求区间lll到rrr之间符合限制条件的数字个数。lll和rrr都是达到 long long 级别的数,无法直接枚举求答案;要求数字的限制条件一般是针对数字的数位的(数位指一个数中每一个数字所占的位置,这些位置,都叫做数位。从右端算起,第一位是“个位”,第二位是“十位”…),所以解决这种问题,不会一个数字一个数字看,而是枚举数位后捕获一大把合法的数字。一般问题求解思路:dfs+dpdfs+dpdfs+dp,也就是记忆化搜索。这可以理解成一颗树,原创 2022-02-14 09:49:09 · 525 阅读 · 0 评论 -
矩阵优化dp
文章目录矩阵快速幂矩阵乘法快速幂P3390 【模板】矩阵快速幂矩阵优化dp矩阵快速幂矩阵乘法矩阵A,BA,BA,B规模分别为n×s,s×mn×s,s×mn×s,s×m,要进行矩阵乘法,A,BA,BA,B满足条件为"前列数=后行数"。CCC为A,BA,BA,B矩阵乘法结果,则C的规模变成n×mn×mn×m,CCC第iii行第jjj列的数字为A第i行每k个数乘B第j列每k个数:C(i,j)=∑k=1k=sA(i,k)×B(k,j)C(i,j)=\sum_{k=1}^{k=s}{A(i,k)×B(k,j)}原创 2022-02-12 11:39:19 · 288 阅读 · 0 评论 -
算法竞赛入门经典【第九章 动态规划】习题11-20
文章目录习题12 Protecting Zonk UVA - 12093 (树形dp)习题12 Protecting Zonk UVA - 12093 (树形dp)题目链接参考题解树形dp第一步:选定一个根,将无根树转化为有根树,之后设定dp[i][j]dp[i][j]dp[i][j]表示当前以iii为根的子树,且该子树状态为jjj的最优解。最难的就是对状态的设计,使得状态的转移可以覆盖所有情况。这道题最简单的状态是3个:设当前节点为u,则u可以配置装置A;u配置装置B;u不配置任何装置。但是因原创 2022-02-11 11:06:09 · 213 阅读 · 0 评论 -
算法竞赛入门经典【第九章 动态规划】习题1-10
文章目录习题1 Longest Run on a Snowboard UVA - 10285 (记忆化)习题2 Free Candies UVA - 10118 (记忆化)习题3 Cake slicing UVA - 1629 (记忆化)习题4 Cyborg Genes UVA - 10723习题1 Longest Run on a Snowboard UVA - 10285 (记忆化)题目链接搜索题单讲解#include<bits/stdc++.h>using namespace s原创 2022-02-10 21:17:09 · 394 阅读 · 0 评论 -
算法竞赛入门经典【第九章 动态规划】例题1-10
文章目录[例1 A Spy in the Metro UVA - 1025 ](https://vjudge.net/problem/UVA-1025)[例2 The Tower of Babylon UVA - 437 ](https://vjudge.net/problem/UVA-437)[例3 Tour UVA - 1347 ](https://vjudge.net/problem/UVA-1347)[例4 Unidirectional TSP UVA - 116 ](https://vjudge.原创 2022-02-06 18:36:06 · 436 阅读 · 0 评论 -
蓝桥杯真题练习【第十一届】【省赛】【B组】
文章目录成绩分析成绩分析四舍五入用了这个:numnumnum四舍五入到小数点后n位num=(floor(num+5×10−n+1)×100)/100num=(floor(num+5×10^-n+1^)×100)/100num=(floor(num+5×10−n+1)×100)/100或者num=(ceil(num−5×10−n+1)×100)/100num=(ceil(num-5×10^-n+1^)×100)/100num=(ceil(num−5×10−n+1)×100)/100#includ原创 2022-02-01 10:21:41 · 1098 阅读 · 0 评论 -
蓝桥杯真题练习【第十二届】【省赛】【B组】
第十二届习题链接砝码称重首先想到的是直接爆搜,结果只过了样例,复杂度应该是n!n!n!,所以妥妥超时。int a[N],vis[N],n;int ok[100010];int sum;void dfs(int cur,int x,int sign){ cur+=sign*a[x]; if(cur>0)ok[cur]=1; for(int i=1;i<=n;i++){ if(!vis[i]){ vis[i]=1;原创 2022-02-06 23:32:24 · 467 阅读 · 0 评论 -
简单stl和搜索题单
做题记录简单stlsetstring简单stlset了解set 4个集合间的操作#define ALL(x) x.begin(),x.end()#define INS(x) inserter(x,x.begin())void test(){ set x1,x2; //do something ... set_union(ALL(x1), ALL(x2), INS(x));//并集操作 set_intersection(ALL(x1), ALL(x2), INS(x));//交集操作 s原创 2022-01-20 10:17:42 · 1078 阅读 · 0 评论 -
学起来大家伙
开始了一、DP1、各种背包2、树形dp3、状压dp4、数位dp5、区间dp6、斜率优化dp7、单调队列优化dp二、搜索1、启发式搜索2、IDA3、A4、IDA三、图论1、网络流2、拓扑排序3、2-SAT4、差分约束四、数据结构1、单调队列2、单调栈3、主席树4、树链剖分5、Splay6、可持久化并查集五、数论1、中国剩余定理2、莫比乌斯反演3、狄利克雷卷积4、欧拉降幂公式5、杜教筛6、唯一分解定理六、字符串1、字符串hash2、KMP与扩原创 2021-09-14 15:02:08 · 124 阅读 · 1 评论 -
CF1493/problem/D 面积并
705D矩阵快速幂的简单理解原创 2021-04-23 23:24:31 · 63 阅读 · 0 评论 -
4.5-4.10周记 712 div2 A-D,POJ-2528,线段树模板
没有标题712 div2离散化+区间覆盖 /* * a 10my 只想到应该是很直接地在某个地方插入就好 但是无法推出哪个位置如果全部是a必然不行,否则选择插在开头或者插在结尾就好,如果不是全部都是a,其实如果a插在前面是回文,那么插在后面必然不是回文 简单模拟一下就好 其实真的可以大胆猜测最后答案的形式,一般规律都比较简单 几个例子都满足就先打 打了之后再去验证正确性a_______a _______aa aa_____aa aa____aaa aaa___aaa aaa__原创 2021-04-10 21:39:17 · 98 阅读 · 0 评论 -
4.11-4.17 周记线段树kuangbin 8-17 区间修改/区间根号/最大连续子区间/DFS序
count color特别的地方:“小线段”和区间端点的区别,和离散化maylor’s poster有点像,在操作的时候要缩小区间,注意题目给我们的是染色区间的端点,就是如果对[3,9]进行操作 ,只能是对[3,8]操作或者是对[4,9]操作,我选第一种,我用左一个单位的左端点储存这个单位的颜色,比如[3,9]段的颜色变成1,那就是以3为左端点单位段变成1,tr[3].lz=1,tr[4].lz=1…一直到tr[8].lz=1,注意,因为9已经是右边端点了,9储存的是[9,10]的颜色,所以tr[9].l原创 2021-04-12 20:26:47 · 88 阅读 · 0 评论