上一页 1 2 3 4 5 6 ··· 51 下一页
摘要: 树的拓扑序计数:树走拓扑排序,从根节点出发,每次只能从已遍历的点延伸到下一个相邻点,把树的节点都遍历完,所有遍历方式的情况数目? 对于一棵子树,它里面有k个点,可以有k!操作情况,但要确保根节点先走,剩下随意,可以有(k-1)!操作情况(根节点先走,就确定了一个位置,剩余k-1个位置),相当于/k。 阅读全文
posted @ 2024-09-12 01:29 congmingyige 阅读(354) 评论(0) 推荐(0)
摘要: 感觉ABC中间1-2道题,经常考数据结构,vector、set、map这些。 A 这类简单题,看清楚这个位置,作为检查,可以有效减低出错可能性: Output Print Yes, No, or Invalid according to the instructions in the problem 阅读全文
posted @ 2024-09-07 22:29 congmingyige 阅读(152) 评论(0) 推荐(0)
摘要: C 对于一个等差数列,它里面包含的等差数列(取这个数列的第i位~第j位),必定也是等差数列。 寻找等差数列的时候,如果一个等差数列,向最左/最右加1个数后,仍是等差数列,则把它们加上。从而寻找所有场上的等差数列,必定是不重叠的,等差数列彼此独立。 从而可以从1遍历到n,O(n)复杂度。 对于每一段等 阅读全文
posted @ 2024-09-05 17:35 congmingyige 阅读(125) 评论(0) 推荐(0)
摘要: 最外层的循环应该是,中间节点的变量从1~n: 1 for (k=1;k<=n;k++) 2 for (i=1;i<=n;i++) 3 for (j=1;j<=n;j++) 4 dist[i][j] = min(dist[i][j], dist[i][k]+dist[k][j]); 正确代码 1 #i 阅读全文
posted @ 2024-09-05 13:18 congmingyige 阅读(58) 评论(0) 推荐(0)
摘要: D 树从叶子到根,对于某个点,如果其子树不存在需要的点,那么这个点和它的父亲所连的边,自然不需要,否则需要。 有一个问题,比如需要点2、4、5,那么点1和点2所连的边也算进去了。实际上,到了它们的LCS(最大公共祖先)后,这些边就不用算了。用一个变量统计当前遍历过多少需要的点,如果所有需要的点恰好都 阅读全文
posted @ 2024-08-27 17:33 congmingyige 阅读(62) 评论(0) 推荐(0)
摘要: B 可以直接统计每条边两个点的情况即可,不用DFS。 F 写法和这个差不多。可以用map、set、统计这些方法,计算动态的一个数组的最大数。 可以直接用map统计就行,map已经自动给你排好序了(从小到大)。 1 #include <bits/stdc++.h> 2 using namespace 阅读全文
posted @ 2024-08-27 17:04 congmingyige 阅读(20) 评论(0) 推荐(0)
摘要: RMQ - OI Wiki (oi-wiki.org) 这么说构建和查询,时间复杂度最小的是线段树。最好写的是ST表,emmm,其实线段树也很好写,就是代码量相对多一点。 阅读全文
posted @ 2024-08-27 16:55 congmingyige 阅读(25) 评论(0) 推荐(0)
摘要: B C 阅读全文
posted @ 2024-07-02 16:09 congmingyige 阅读(19) 评论(0) 推荐(0)
摘要: E 对于位置2~n,它们的概率是相等的。 n*n个(x,y)对。其中x可以等于y。 对于x/y,y的逆元rev(y)为mul(y,mod-2)。 加、减、乘、除都可以做。比如48/9和16/3的结果是一样的,48*rev(9)%mod = 16*rev(3)%mod。比如3*rev(2)%mod = 阅读全文
posted @ 2024-07-02 16:08 congmingyige 阅读(41) 评论(0) 推荐(0)
摘要: 比赛 补题情况 div1 941 C 2300 Problem - C - Codeforces 应该是理解错题意了 div2 574 F 2500 Problem - F - Codeforces Problemset - Codeforces page 44 edu 68 E 2200 F 24 阅读全文
posted @ 2024-06-28 11:49 congmingyige 阅读(49) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 51 下一页