摘要: 树的存储结构 方法1:父亲表示法 const int m = 10; struct node{ int data,parent; }; node tree[m]; 方法2:孩子表示法 方法3:父子表示法(树形双链表结构) const int m = 10; typedef sturct node; 阅读全文
posted @ 2022-03-29 19:39 yinfelix 阅读(25) 评论(0) 推荐(0)
摘要: 这次模拟结果上来说不太满意,但是过程还是比较满意的,找到了全神贯注研究题的感觉。 1.给定一个矩阵,当然他有许多小矩阵,要求输出所有带1的矩阵数量和不带0的矩阵数量。 方法就是转换,子矩阵中全是0和全是1的矩阵数量分别计算即可,对于32位2进制数,与其相差的只是数位的多少,分别计算即可。 我思考方向 阅读全文
posted @ 2022-03-25 00:00 yinfelix 阅读(29) 评论(0) 推荐(0)
摘要: 比赛合作: 1.分工找题,进行概览,估定部分题的难度、完成时间 2.分工完成题,尽可能完善自己的代码。 3.对于个人难以完成的分析和代码部分进行不定时讨论。 4.根据情况,确定一个截止时间。截止时间过后到比赛结束之前,合作将能力范围内的题过完,不再找其他一时不能完成的题。 H.exam: #incl 阅读全文
posted @ 2022-03-08 20:33 yinfelix 阅读(39) 评论(0) 推荐(0)
摘要: 这篇博客主要是补充一下之前没掌握透的字符串/数组相关知识 1.sscanf和sprintf语句 还在为输入字符串处理完后不能转成数字而烦恼吗? 用sscanf! 作用:将字符串s转换成数字N,等价于读入了一个整数N 格式:sscanf(s,",%d",&N); 还有sprintf(s,"%d",N) 阅读全文
posted @ 2022-02-20 10:58 yinfelix 阅读(36) 评论(0) 推荐(0)
摘要: 贪心练习题 最大积分 https://www.ybtoj.com.cn/contest/130/problem/6 这题想策略倒不难,价值高的后买,乘以的等级就更高收益更高 难在等级增加时的算法模拟 (PS:题面其实说的很模糊。。T[i]到底表示总购买数还是再购买数也没清楚,导致前半段一直出错) # 阅读全文
posted @ 2022-02-19 07:53 yinfelix 阅读(36) 评论(0) 推荐(0)
摘要: 递推四题讲3题 划分数列 https://www.ybtoj.com.cn/contest/129/problem/5#submit_code dp(i)表示到第i个数的划分数、 再开两个数组,last_max[],last_min[],表示以i结尾的最长不上升/下降的序列起点前一位 即,用a{la 阅读全文
posted @ 2022-02-17 22:09 yinfelix 阅读(33) 评论(0) 推荐(0)
摘要: 线段树-概念 树上每个点对应序列上一段连续的区间 根节点:(1,n) 左儿子:(1,n/2) 右儿子:(n/2) ……………… 叶子节点:对应一个点层数:logn 共1+2+4+……+n=2n个节点 在节点上维护对应区间的信息 线段树-功能 首先我们需要一个define: #define ls(k< 阅读全文
posted @ 2022-02-13 16:07 yinfelix 阅读(44) 评论(0) 推荐(0)
摘要: 树的中心和重心 求树的中心: 法1:F[i]为以i为起点的最长链长度 枚举深度最小的点,全部枚举 void dfs(int fa,int x){ for(int i = head[x];i;i = nxt[i]){ if(to[i]==fa) continue; dfs(x,to[i]); ans 阅读全文
posted @ 2022-02-12 15:46 yinfelix 阅读(83) 评论(0) 推荐(0)
摘要: LCA:最近公共祖先 lca(u,v)表示u与v最近公共祖先 暴力法:O(n) 倍增:f[i][j]代表i的2^j级父亲 f[i][j]=f[f[i][j-1]][j-1] for(int i = 1;i <= n;i++) f[i][0] = fa[i]//预设:0级父亲就是父亲 for(int 阅读全文
posted @ 2022-02-12 11:19 yinfelix 阅读(34) 评论(0) 推荐(0)
摘要: 生成树:图删去一些边形成的树 最小生成树:所有生成树中边权最小的树 最小生成树寻找方法: Kruskal算法 for(int i = 1;i <= m&&cnt < n-1;i++){ int x=e[i].from,y=e[i].to,z=e[i].w; int u = find(x),v = f 阅读全文
posted @ 2022-02-11 16:38 yinfelix 阅读(34) 评论(0) 推荐(0)